diff --git a/.kolo/config.toml b/.kolo/config.toml new file mode 100644 index 0000000..f23f011 --- /dev/null +++ b/.kolo/config.toml @@ -0,0 +1,2 @@ +[filters] +ignore_request_paths = ["/static/"] diff --git a/poetry.lock b/poetry.lock index b6a5fdc..14bd36e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -105,6 +105,14 @@ category = "main" optional = false python-versions = "*" +[[package]] +name = "cerberus" +version = "1.3.4" +description = "Lightweight, extensible schema and data validation tool for Python dictionaries." +category = "dev" +optional = false +python-versions = ">=2.7" + [[package]] name = "certifi" version = "2022.9.24" @@ -143,6 +151,17 @@ python-versions = ">=3.6.0" [package.extras] unicode_backport = ["unicodedata2"] +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + [[package]] name = "colorama" version = "0.4.5" @@ -481,6 +500,24 @@ category = "main" optional = false python-versions = ">=3.7" +[[package]] +name = "kolo" +version = "2.0.3" +description = "See everything happening in your running Django app" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +cerberus = ">=1.3.4" +click = ">=7.1.2" +tomli = {version = ">=2.0.0", markers = "python_version < \"3.11\""} +toolz = ">=0.11.1" +ulid-py = ">=1.1.0" + +[package.extras] +test_generation = ["jinja2 (>=3.0.0)"] + [[package]] name = "matplotlib" version = "3.6.0" @@ -985,6 +1022,14 @@ category = "main" optional = false python-versions = ">=3.7" +[[package]] +name = "toolz" +version = "0.12.0" +description = "List processing tools and functional utilities" +category = "dev" +optional = false +python-versions = ">=3.5" + [[package]] name = "trio" version = "0.21.0" @@ -1031,6 +1076,14 @@ category = "main" optional = false python-versions = ">=2" +[[package]] +name = "ulid-py" +version = "1.1.0" +description = "Universally Unique Lexicographically Sortable Identifier" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "urllib3" version = "1.26.12" @@ -1100,7 +1153,7 @@ h11 = ">=0.9.0,<1" [metadata] lock-version = "1.1" python-versions = "^3.10" -content-hash = "a7f456302a8e5cd5023a9f6ced2930e9ec4a2e964daae04f24a486b2071fd3a0" +content-hash = "e21ae8f93aefc631a43ccf43b79a3660ca11c6870677d60878b0adc88303953d" [metadata.files] ansicon = [] @@ -1181,6 +1234,7 @@ brotli = [ {file = "Brotli-1.0.9-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:76ffebb907bec09ff511bb3acc077695e2c32bc2142819491579a695f77ffd4d"}, {file = "Brotli-1.0.9.zip", hash = "sha256:4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"}, ] +cerberus = [] certifi = [] cffi = [] cfgv = [ @@ -1188,6 +1242,7 @@ cfgv = [ {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"}, ] charset-normalizer = [] +click = [] colorama = [] contourpy = [] coverage = [] @@ -1244,6 +1299,7 @@ invoke = [ ] jinxed = [] kiwisolver = [] +kolo = [] matplotlib = [] model-bakery = [] nodeenv = [] @@ -1365,10 +1421,12 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +toolz = [] trio = [] trio-websocket = [] typing-extensions = [] tzdata = [] +ulid-py = [] urllib3 = [] virtualenv = [] wcwidth = [ diff --git a/pyproject.toml b/pyproject.toml index 7e96915..a9fe6ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,6 +33,7 @@ invoke = "^1.7.0" factory-boy = "^3.2.1" pytest-selenium = "^4.0.0" selenium = "^4.4.3" +kolo = "^2.0.3" [tool.black] target-version = ['py310'] diff --git a/src/checkout/settings.py b/src/checkout/settings.py index 6b4cd1b..629e7dc 100644 --- a/src/checkout/settings.py +++ b/src/checkout/settings.py @@ -104,6 +104,14 @@ MIDDLEWARE = [ "csp.middleware.CSPMiddleware", ] +try: + import kolo # noqa: F401 + + MIDDLEWARE = ["kolo.middleware.KoloMiddleware"] + MIDDLEWARE +except ImportError: + # Don't add kolo if unavailable + pass + ROOT_URLCONF = "checkout.urls" TEMPLATES = [