schemathesis 3.35.4__tar.gz → 3.36.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/update-pre-commit.yml +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.pre-commit-config.yaml +2 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/PKG-INFO +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/auth.rst +2 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/changelog.rst +44 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/cli.rst +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/contrib.rst +7 -7
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/extending.rst +4 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/faq.rst +8 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/extensions.py +4 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/pyproject.toml +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/__init__.py +5 -5
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_hypothesis.py +12 -6
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_override.py +4 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/auths.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/checks.py +8 -5
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/__init__.py +23 -26
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/callbacks.py +6 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/cassettes.py +67 -41
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/context.py +7 -6
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/junitxml.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/options.py +7 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/output/default.py +5 -5
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/reporting.py +4 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/code_samples.py +4 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/unique_data.py +1 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/exceptions.py +4 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/_flask.py +4 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/pytest_plugin.py +6 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/failures.py +2 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/filters.py +2 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/__init__.py +2 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/_hypothesis.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/coverage.py +53 -12
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/graphql.py +0 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/hooks.py +3 -3
- schemathesis-3.36.0/src/schemathesis/internal/checks.py +53 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/lazy.py +10 -7
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/loaders.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/models.py +59 -23
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/__init__.py +12 -6
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/events.py +1 -1
- schemathesis-3.36.0/src/schemathesis/runner/impl/context.py +72 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/core.py +105 -67
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/solo.py +17 -20
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/threadpool.py +65 -72
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/serialization.py +4 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/sanitization.py +2 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/schemas.py +20 -22
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/serializers.py +2 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/client.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/events.py +4 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/extensions.py +2 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/hosts.py +4 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/models.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/report.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/serialization.py +4 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/loaders.py +5 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/schemas.py +13 -8
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/checks.py +76 -27
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/definitions.py +1 -5
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/examples.py +92 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/__init__.py +7 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/extractors.py +4 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/nodes.py +5 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/links.py +4 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/loaders.py +6 -5
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/__init__.py +5 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/mutations.py +5 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/parameters.py +4 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/schemas.py +28 -13
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/security.py +6 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/stateful/__init__.py +2 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/stateful/statistic.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/stateful/types.py +3 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/__init__.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/config.py +2 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/context.py +13 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/events.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/runner.py +24 -6
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/sink.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/state_machine.py +7 -6
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/statistic.py +3 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/validation.py +10 -5
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/__init__.py +2 -2
- schemathesis-3.36.0/src/schemathesis/transports/asgi.py +7 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/auth.py +2 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/content_types.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/responses.py +2 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/utils.py +4 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/hooks.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/schema.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/test_cli.py +1 -1
- schemathesis-3.36.0/test/checks/test_checks.py +52 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +6 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_cassettes.py +98 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_checks.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_commands.py +20 -15
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_crashes.py +15 -13
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_junitxml.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/test_python.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/conftest.py +25 -19
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +25 -0
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +25 -0
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +25 -0
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +25 -0
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +44 -0
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +25 -0
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +25 -0
- schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +28 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/test_unique_data.py +39 -4
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/coverage/test_combinations.py +124 -6
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/coverage/test_phase.py +91 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/filters/test_matching.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_common.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_checks.py +31 -25
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_runner.py +55 -18
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_extensions.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/test_basic.py +2 -2
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/conftest.py +1 -1
- schemathesis-3.36.0/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/conftest.py +4 -8
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/test_runner.py +32 -9
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_checks.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_examples.py +248 -4
- schemathesis-3.36.0/test/specs/openapi/test_ignored_auth.py +233 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_serializing.py +1 -1
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_filters.py +6 -6
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_fixups.py +3 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_pytest.py +3 -8
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/utils.py +5 -3
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test-corpus/test_corpus.py +4 -5
- schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -28
- schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -26
- schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -26
- schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -26
- schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -26
- schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -26
- schemathesis-3.35.4/test/specs/openapi/test_ignored_auth.py +0 -127
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.dockerignore +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/FUNDING.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/dependabot.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/build.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/codeql-analysis.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/release.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.gitignore +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.readthedocs.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.relint.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.rstcheck.cfg +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/.yamllint +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/CITATION.cff +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/Dockerfile +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/Dockerfile.bookworm +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/LICENSE +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/README.md +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/benches/cli.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/benches/references.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/benches/schema.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/changelog.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/codecov.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/tools.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/Makefile +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/additional-content.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/api.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/compatibility.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/conf.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/data-generation.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/examples.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/experimental.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/getting-started.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/graphql.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/index.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/python.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/recipes.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/requirements.txt +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/sanitizing.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/service.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/stateful.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/targeted.rst +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/Dockerfile +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/README.md +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/compose.yml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/openapi.json +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-app.in +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-app.txt +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-pytest.in +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/conftest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/test_app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/img/demo.gif +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/img/service_github_report.png +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/mypy.ini +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/_methods.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/extensions.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/output.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/types.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/cp1252_app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/conftest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/test_provider.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.35.4/test/cli → schemathesis-3.36.0/test/checks}/__init__.py +0 -0
- {schemathesis-3.35.4/test/cli/output → schemathesis-3.36.0/test/cli}/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/cert.pem +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/conftest.py +0 -0
- {schemathesis-3.35.4/test/extra → schemathesis-3.36.0/test/cli/output}/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_options.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_reporting.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/test_install.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/conftest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.35.4/test/filters → schemathesis-3.36.0/test/extra}/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.35.4/test/runner → schemathesis-3.36.0/test/filters}/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/filters/test_expressions.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/hooks/test_filters.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/conftest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.35.4/test/service → schemathesis-3.36.0/test/runner}/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_events.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_probes.py +0 -0
- {schemathesis-3.35.4/test/specs/openapi/stateful → schemathesis-3.36.0/test/service}/__init__.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/conftest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_auth.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_ci.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_cli.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_report.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_serialization.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_usage.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/test_config.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_app.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_asgi.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_async.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_common_parameters.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_converter.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_dereferencing.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_direct_access.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_examples.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_hypothesis.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_internal.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_lazy.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_models.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_output.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_package.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_parameters.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_parametrization.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_petstore.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_rate_limit.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_required.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_schemas.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_serialization.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_stateful.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_unittest.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_utils.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_wsgi.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/test_server.sh +0 -0
- {schemathesis-3.35.4 → schemathesis-3.36.0}/tox.ini +0 -0
|
@@ -38,12 +38,12 @@ repos:
|
|
|
38
38
|
additional_dependencies: [types-click, types-requests, types-PyYAML]
|
|
39
39
|
|
|
40
40
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
41
|
-
rev: v0.6.
|
|
41
|
+
rev: v0.6.5
|
|
42
42
|
hooks:
|
|
43
43
|
- id: ruff-format
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.6.
|
|
46
|
+
rev: v0.6.5
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff
|
|
49
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.36.0
|
|
4
4
|
Summary: Property-based testing framework for Open API and GraphQL based apps
|
|
5
5
|
Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
|
|
6
6
|
Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
|
|
@@ -443,6 +443,8 @@ For example, you can use refresh tokens for authentication.
|
|
|
443
443
|
case.headers = case.headers or {}
|
|
444
444
|
case.headers = {"Authorization": f"Bearer {data}"}
|
|
445
445
|
|
|
446
|
+
.. _third-party-auth:
|
|
447
|
+
|
|
446
448
|
Third-party implementation
|
|
447
449
|
--------------------------
|
|
448
450
|
|
|
@@ -1,9 +1,52 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.
|
|
4
|
+
:version:`Unreleased <v3.36.0...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.36.0:
|
|
8
|
+
|
|
9
|
+
:version:`3.36.0 <v3.35.5...v3.36.0>` - 2024-09-15
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Added**
|
|
13
|
+
|
|
14
|
+
- Reimplementation of test case deduplication in CLI. It effectively un-deprecates the ``--contrib-unique-data`` CLI option.
|
|
15
|
+
- Extend ``ignored_auth`` to check for incorrect auth.
|
|
16
|
+
- More ``properties`` combinations for the coverage phase.
|
|
17
|
+
- Use the `default` field as a source of valid inputs during the coverage phase.
|
|
18
|
+
|
|
19
|
+
**Changed**
|
|
20
|
+
|
|
21
|
+
- Add ``ctx`` as the first argument for all checks.
|
|
22
|
+
This is a step towards checks that cover multiple responses at once.
|
|
23
|
+
- Validate custom check function signatures.
|
|
24
|
+
|
|
25
|
+
**Deprecated**
|
|
26
|
+
|
|
27
|
+
- Custom checks that do not accept ``ctx`` as the first argument.
|
|
28
|
+
|
|
29
|
+
**Fixed**
|
|
30
|
+
|
|
31
|
+
- Avoid running checks twice in new-style stateful tests.
|
|
32
|
+
- Missing ``timeout`` in certain situations when loading the schema from the network.
|
|
33
|
+
- Ignoring ``with_security_parameters`` in runner in some cases.
|
|
34
|
+
|
|
35
|
+
.. _v3.35.5:
|
|
36
|
+
|
|
37
|
+
:version:`3.35.5 <v3.35.4...v3.35.5>` - 2024-09-08
|
|
38
|
+
--------------------------------------------------
|
|
39
|
+
|
|
40
|
+
**Changed**
|
|
41
|
+
|
|
42
|
+
- Extend explicit examples discovery mechanism by checking response examples.
|
|
43
|
+
- Saving the generated data into a cassette when ``--dry-run`` is provided. :issue:`1423`
|
|
44
|
+
- Saving timeouted requests into a cassette.
|
|
45
|
+
|
|
46
|
+
**Fixed**
|
|
47
|
+
|
|
48
|
+
- Support non-Starlette ASGI apps in more places.
|
|
49
|
+
|
|
7
50
|
.. _v3.35.4:
|
|
8
51
|
|
|
9
52
|
:version:`3.35.4 <v3.35.3...v3.35.4>` - 2024-09-05
|
|
@@ -677,11 +677,11 @@ To use your custom checks with Schemathesis CLI, you need to register them via t
|
|
|
677
677
|
|
|
678
678
|
|
|
679
679
|
@schemathesis.check
|
|
680
|
-
def new_check(response, case):
|
|
680
|
+
def new_check(ctx, response, case):
|
|
681
681
|
# some awesome assertions!
|
|
682
682
|
pass
|
|
683
683
|
|
|
684
|
-
The registered check should accept a ``response`` with ``requests.Response`` / ``schemathesis.utils.WSGIResponse`` type and
|
|
684
|
+
The registered check should accept ``ctx``, a ``response`` with ``requests.Response`` / ``schemathesis.utils.WSGIResponse`` type and
|
|
685
685
|
``case`` with ``schemathesis.models.Case`` type. This code should be placed in the module you pass to the ``SCHEMATHESIS_HOOKS`` environment variable.
|
|
686
686
|
|
|
687
687
|
Then your checks will be available in Schemathesis CLI, and you can use them via the ``-c`` command-line option.
|
|
@@ -700,7 +700,7 @@ response code is ``200``.
|
|
|
700
700
|
|
|
701
701
|
|
|
702
702
|
@schemathesis.check
|
|
703
|
-
def conditional_check(response, case):
|
|
703
|
+
def conditional_check(ctx, response, case):
|
|
704
704
|
if response.status_code == 200:
|
|
705
705
|
... # some awesome assertions!
|
|
706
706
|
else:
|
|
@@ -6,13 +6,6 @@ Schemathesis ships a set of optional features that could help to tune your tests
|
|
|
6
6
|
Unique data generation
|
|
7
7
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
8
8
|
|
|
9
|
-
.. important::
|
|
10
|
-
|
|
11
|
-
The ``--contrib-unique-data`` CLI option and the corresponding ``schemathesis.contrib.unique_data`` hook are **DEPRECATED**. The concept of this feature
|
|
12
|
-
does not fit the core principles of Hypothesis where strategies are configurable on a per-example basis but this feature implies
|
|
13
|
-
uniqueness across examples. This leads to cryptic error messages about external state and flaky test runs, therefore it will be removed in
|
|
14
|
-
Schemathesis 4.0
|
|
15
|
-
|
|
16
9
|
By default, Schemathesis may generate the same test cases as all data is randomized. If this behavior does not match your expectations, or
|
|
17
10
|
your test budges, you can force Schemathesis to generate unique test cases.
|
|
18
11
|
|
|
@@ -22,6 +15,13 @@ In CLI:
|
|
|
22
15
|
|
|
23
16
|
$ st run --contrib-unique-data https://example.schemathesis.io/openapi.json
|
|
24
17
|
|
|
18
|
+
.. important::
|
|
19
|
+
|
|
20
|
+
The ``schemathesis.contrib.unique_data`` hook is **DEPRECATED**. The concept of this feature
|
|
21
|
+
does not fit the core principles of Hypothesis where strategies are configurable on a per-example basis but this feature implies
|
|
22
|
+
uniqueness across examples. This leads to cryptic error messages about external state and flaky test runs, therefore it will be removed in
|
|
23
|
+
Schemathesis 4.0
|
|
24
|
+
|
|
25
25
|
In Python tests:
|
|
26
26
|
|
|
27
27
|
.. code:: python
|
|
@@ -667,7 +667,7 @@ Checks
|
|
|
667
667
|
Checks in Schemathesis allow you to validate responses from your API, ensuring they adhere to both general and application-specific expectations.
|
|
668
668
|
They can be particularly useful for checking behaviors that are specific to your application and go beyond the built-in checks provided by Schemathesis.
|
|
669
669
|
|
|
670
|
-
Define a check as a function taking
|
|
670
|
+
Define a check as a function taking three parameters: ``ctx``, ``response`` and ``case``, and register it using the ``@schemathesis.check`` decorator.
|
|
671
671
|
|
|
672
672
|
.. code-block:: python
|
|
673
673
|
|
|
@@ -675,9 +675,10 @@ Define a check as a function taking two parameters: ``response`` and ``case``, a
|
|
|
675
675
|
|
|
676
676
|
|
|
677
677
|
@schemathesis.check
|
|
678
|
-
def my_check(response, case) -> None:
|
|
678
|
+
def my_check(ctx, response, case) -> None:
|
|
679
679
|
...
|
|
680
680
|
|
|
681
|
+
- ``ctx`` holds a context relevant to the current check. Currently unused and is placed here for future-compatibility.
|
|
681
682
|
- ``response`` is the API response, an instance of ``requests.Response`` or ``schemathesis.utils.WSGIResponse``, based on your integration method.
|
|
682
683
|
- ``case`` is the ``schemathesis.Case`` instance used to send data to the application.
|
|
683
684
|
|
|
@@ -691,7 +692,7 @@ Here’s an example of a check that ensures that when an ``item_id`` of 42 is us
|
|
|
691
692
|
|
|
692
693
|
|
|
693
694
|
@schemathesis.check
|
|
694
|
-
def my_check(response, case) -> None:
|
|
695
|
+
def my_check(ctx, response, case) -> None:
|
|
695
696
|
if case.path_parameters.get("item_id") == 42 and ANSWER not in response.text:
|
|
696
697
|
raise AssertionError("The ultimate answer not found!")
|
|
697
698
|
|
|
@@ -322,6 +322,14 @@ Python:
|
|
|
322
322
|
|
|
323
323
|
This adjustment ensures that Schemathesis does not include NULL bytes in strings for all your tests, making them compatible with systems that reject such inputs.
|
|
324
324
|
|
|
325
|
+
How can I use custom authentication methods with Schemathesis?
|
|
326
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
327
|
+
|
|
328
|
+
Schemathesis supports custom authentication through its extensions system.
|
|
329
|
+
|
|
330
|
+
For detailed instructions on implementing custom authentication methods or using existing libraries for that,
|
|
331
|
+
refer to our :ref:`Custom Authentication <custom-auth>` and :ref:`Third-party Authentication <third-party-auth>` sections.
|
|
332
|
+
|
|
325
333
|
Working with API schemas
|
|
326
334
|
------------------------
|
|
327
335
|
|
|
@@ -17,18 +17,18 @@ schemathesis.openapi.format("fullname", fullname())
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
@schemathesis.hook
|
|
20
|
-
def filter_body(
|
|
20
|
+
def filter_body(ctx, body):
|
|
21
21
|
"""Modification over the default strategy for payload generation."""
|
|
22
22
|
return body.get("id", 10001) > 10000
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
@schemathesis.check
|
|
26
|
-
def not_so_slow(response, case):
|
|
26
|
+
def not_so_slow(ctx, response, case):
|
|
27
27
|
"""Custom response check."""
|
|
28
28
|
assert response.elapsed < timedelta(milliseconds=100), "Response is slow!"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
@schemathesis.target
|
|
32
|
-
def big_response(
|
|
32
|
+
def big_response(ctx):
|
|
33
33
|
"""Custom data generation target."""
|
|
34
|
-
return float(len(
|
|
34
|
+
return float(len(ctx.response.content))
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.
|
|
7
|
+
version = "3.36.0"
|
|
8
8
|
description = "Property-based testing framework for Open API and GraphQL based apps"
|
|
9
9
|
keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
|
|
10
10
|
authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
|
|
@@ -2,12 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
-
from . import auths, checks, contrib, experimental, fixups, graphql, hooks, runner, serializers, targets
|
|
5
|
+
from . import auths, checks, contrib, experimental, fixups, graphql, hooks, runner, serializers, targets
|
|
6
6
|
from ._lazy_import import lazy_import
|
|
7
|
-
from .constants import SCHEMATHESIS_VERSION
|
|
8
|
-
from .generation import DataGenerationMethod, GenerationConfig, HeaderConfig
|
|
9
|
-
from .models import Case
|
|
10
|
-
from .specs import openapi
|
|
7
|
+
from .constants import SCHEMATHESIS_VERSION
|
|
8
|
+
from .generation import DataGenerationMethod, GenerationConfig, HeaderConfig
|
|
9
|
+
from .models import Case
|
|
10
|
+
from .specs import openapi
|
|
11
11
|
|
|
12
12
|
__version__ = SCHEMATHESIS_VERSION
|
|
13
13
|
|
|
@@ -5,7 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
import asyncio
|
|
6
6
|
import json
|
|
7
7
|
import warnings
|
|
8
|
-
from typing import Any, Callable, Generator, Mapping
|
|
8
|
+
from typing import TYPE_CHECKING, Any, Callable, Generator, Mapping
|
|
9
9
|
|
|
10
10
|
import hypothesis
|
|
11
11
|
from hypothesis import Phase
|
|
@@ -24,7 +24,9 @@ from .models import APIOperation, Case, GenerationMetadata, TestPhase
|
|
|
24
24
|
from .transports.content_types import parse_content_type
|
|
25
25
|
from .transports.headers import has_invalid_characters, is_latin_1_encodable
|
|
26
26
|
from .types import NotSet
|
|
27
|
-
|
|
27
|
+
|
|
28
|
+
if TYPE_CHECKING:
|
|
29
|
+
from .utils import GivenInput
|
|
28
30
|
|
|
29
31
|
# Forcefully initializes Hypothesis' global PRNG to avoid races that initilize it
|
|
30
32
|
# if e.g. Schemathesis CLI is used with multiple workers
|
|
@@ -215,6 +217,7 @@ def _iter_coverage_cases(
|
|
|
215
217
|
operation: APIOperation, data_generation_methods: list[DataGenerationMethod]
|
|
216
218
|
) -> Generator[Case, None, None]:
|
|
217
219
|
from .specs.openapi.constants import LOCATION_TO_CONTAINER
|
|
220
|
+
from .specs.openapi.examples import find_in_responses, find_matching_in_responses
|
|
218
221
|
|
|
219
222
|
ctx = coverage.CoverageContext(data_generation_methods=data_generation_methods)
|
|
220
223
|
meta = GenerationMetadata(
|
|
@@ -222,8 +225,11 @@ def _iter_coverage_cases(
|
|
|
222
225
|
)
|
|
223
226
|
generators: dict[tuple[str, str], Generator[coverage.GeneratedValue, None, None]] = {}
|
|
224
227
|
template: dict[str, Any] = {}
|
|
228
|
+
responses = find_in_responses(operation)
|
|
225
229
|
for parameter in operation.iter_parameters():
|
|
226
230
|
schema = parameter.as_json_schema(operation)
|
|
231
|
+
for value in find_matching_in_responses(responses, parameter.name):
|
|
232
|
+
schema.setdefault("examples", []).append(value)
|
|
227
233
|
gen = coverage.cover_schema_iter(ctx, schema)
|
|
228
234
|
value = next(gen, NOT_SET)
|
|
229
235
|
if isinstance(value, NotSet):
|
|
@@ -274,7 +280,7 @@ def _iter_coverage_cases(
|
|
|
274
280
|
yield case
|
|
275
281
|
|
|
276
282
|
|
|
277
|
-
def find_invalid_headers(headers: Mapping) -> Generator[
|
|
283
|
+
def find_invalid_headers(headers: Mapping) -> Generator[tuple[str, str], None, None]:
|
|
278
284
|
for name, value in headers.items():
|
|
279
285
|
if not is_latin_1_encodable(value) or has_invalid_characters(name, value):
|
|
280
286
|
yield name, value
|
|
@@ -305,11 +311,11 @@ def add_non_serializable_mark(test: Callable, exc: SerializationNotPossible) ->
|
|
|
305
311
|
test._schemathesis_non_serializable = exc # type: ignore
|
|
306
312
|
|
|
307
313
|
|
|
308
|
-
def get_non_serializable_mark(test: Callable) ->
|
|
314
|
+
def get_non_serializable_mark(test: Callable) -> SerializationNotPossible | None:
|
|
309
315
|
return getattr(test, "_schemathesis_non_serializable", None)
|
|
310
316
|
|
|
311
317
|
|
|
312
|
-
def get_invalid_regex_mark(test: Callable) ->
|
|
318
|
+
def get_invalid_regex_mark(test: Callable) -> SchemaError | None:
|
|
313
319
|
return getattr(test, "_schemathesis_invalid_regex", None)
|
|
314
320
|
|
|
315
321
|
|
|
@@ -317,7 +323,7 @@ def add_invalid_regex_mark(test: Callable, exc: SchemaError) -> None:
|
|
|
317
323
|
test._schemathesis_invalid_regex = exc # type: ignore
|
|
318
324
|
|
|
319
325
|
|
|
320
|
-
def get_invalid_example_headers_mark(test: Callable) ->
|
|
326
|
+
def get_invalid_example_headers_mark(test: Callable) -> dict[str, str] | None:
|
|
321
327
|
return getattr(test, "_schemathesis_invalid_example_headers", None)
|
|
322
328
|
|
|
323
329
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from typing import TYPE_CHECKING
|
|
4
|
+
from typing import TYPE_CHECKING
|
|
5
5
|
|
|
6
6
|
from .exceptions import UsageError
|
|
7
|
-
from .parameters import ParameterSet
|
|
8
|
-
from .types import GenericTest
|
|
9
7
|
|
|
10
8
|
if TYPE_CHECKING:
|
|
11
9
|
from .models import APIOperation
|
|
10
|
+
from .parameters import ParameterSet
|
|
11
|
+
from .types import GenericTest
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
@dataclass
|
|
@@ -37,7 +37,7 @@ def _for_parameters(overridden: dict[str, str], defined: ParameterSet) -> dict[s
|
|
|
37
37
|
return output
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
def get_override_from_mark(test: GenericTest) ->
|
|
40
|
+
def get_override_from_mark(test: GenericTest) -> CaseOverride | None:
|
|
41
41
|
return getattr(test, "_schemathesis_override", None)
|
|
42
42
|
|
|
43
43
|
|
|
@@ -21,12 +21,12 @@ from typing import (
|
|
|
21
21
|
|
|
22
22
|
from .exceptions import UsageError
|
|
23
23
|
from .filters import FilterSet, FilterValue, MatcherFunc, attach_filter_chain
|
|
24
|
-
from .types import GenericTest
|
|
25
24
|
|
|
26
25
|
if TYPE_CHECKING:
|
|
27
26
|
import requests.auth
|
|
28
27
|
|
|
29
28
|
from .models import APIOperation, Case
|
|
29
|
+
from .types import GenericTest
|
|
30
30
|
|
|
31
31
|
DEFAULT_REFRESH_INTERVAL = 300
|
|
32
32
|
AUTH_STORAGE_ATTRIBUTE_NAME = "_schemathesis_auth"
|
|
@@ -15,11 +15,12 @@ from .specs.openapi.checks import (
|
|
|
15
15
|
)
|
|
16
16
|
|
|
17
17
|
if TYPE_CHECKING:
|
|
18
|
-
from .
|
|
18
|
+
from .internal.checks import CheckContext, CheckFunction
|
|
19
|
+
from .models import Case
|
|
19
20
|
from .transports.responses import GenericResponse
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
def not_a_server_error(response: GenericResponse, case: Case) -> bool | None:
|
|
23
|
+
def not_a_server_error(ctx: CheckContext, response: GenericResponse, case: Case) -> bool | None:
|
|
23
24
|
"""A check to verify that the response is not a server-side error."""
|
|
24
25
|
from .specs.graphql.schemas import GraphQLCase
|
|
25
26
|
from .specs.graphql.validation import validate_graphql_response
|
|
@@ -64,14 +65,16 @@ def register(check: CheckFunction) -> CheckFunction:
|
|
|
64
65
|
.. code-block:: python
|
|
65
66
|
|
|
66
67
|
@schemathesis.check
|
|
67
|
-
def new_check(response, case):
|
|
68
|
+
def new_check(ctx, response, case):
|
|
68
69
|
# some awesome assertions!
|
|
69
70
|
...
|
|
70
71
|
"""
|
|
71
72
|
from . import cli
|
|
73
|
+
from .internal.checks import wrap_check
|
|
72
74
|
|
|
75
|
+
_check = wrap_check(check)
|
|
73
76
|
global ALL_CHECKS
|
|
74
77
|
|
|
75
|
-
ALL_CHECKS += (
|
|
76
|
-
cli.CHECKS_TYPE.choices += (
|
|
78
|
+
ALL_CHECKS += (_check,)
|
|
79
|
+
cli.CHECKS_TYPE.choices += (_check.__name__,) # type: ignore
|
|
77
80
|
return check
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import base64
|
|
4
|
-
import io
|
|
5
4
|
import os
|
|
6
5
|
import sys
|
|
7
6
|
import traceback
|
|
@@ -41,38 +40,45 @@ from ..internal.datetime import current_datetime
|
|
|
41
40
|
from ..internal.output import OutputConfig
|
|
42
41
|
from ..internal.validation import file_exists
|
|
43
42
|
from ..loaders import load_app, load_yaml
|
|
44
|
-
from ..models import Case, CheckFunction
|
|
45
43
|
from ..runner import events, prepare_hypothesis_settings, probes
|
|
46
44
|
from ..specs.graphql import loaders as gql_loaders
|
|
47
45
|
from ..specs.openapi import loaders as oas_loaders
|
|
48
46
|
from ..stateful import Stateful
|
|
49
|
-
from ..targets import Target
|
|
50
47
|
from ..transports import RequestConfig
|
|
51
48
|
from ..transports.auth import get_requests_auth
|
|
52
|
-
from ..types import PathLike, RequestCert
|
|
53
49
|
from . import callbacks, cassettes, output
|
|
54
50
|
from .constants import DEFAULT_WORKERS, MAX_WORKERS, MIN_WORKERS, HealthCheck, Phase, Verbosity
|
|
55
51
|
from .context import ExecutionContext, FileReportContext, ServiceReportContext
|
|
56
52
|
from .debug import DebugOutputHandler
|
|
57
53
|
from .handlers import EventHandler
|
|
58
54
|
from .junitxml import JunitXMLHandler
|
|
59
|
-
from .options import CsvChoice, CsvEnumChoice, CustomHelpMessageChoice,
|
|
55
|
+
from .options import CsvChoice, CsvEnumChoice, CustomHelpMessageChoice, OptionalInt
|
|
60
56
|
from .sanitization import SanitizationHandler
|
|
61
57
|
|
|
62
58
|
if TYPE_CHECKING:
|
|
59
|
+
import io
|
|
60
|
+
|
|
63
61
|
import hypothesis
|
|
64
62
|
import requests
|
|
65
63
|
|
|
64
|
+
from ..models import Case, CheckFunction
|
|
66
65
|
from ..schemas import BaseSchema
|
|
67
66
|
from ..service.client import ServiceClient
|
|
68
67
|
from ..specs.graphql.schemas import GraphQLSchema
|
|
68
|
+
from ..targets import Target
|
|
69
|
+
from ..types import NotSet, PathLike, RequestCert
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
__all__ = [
|
|
73
|
+
"EventHandler",
|
|
74
|
+
]
|
|
69
75
|
|
|
70
76
|
|
|
71
77
|
def _get_callable_names(items: tuple[Callable, ...]) -> tuple[str, ...]:
|
|
72
78
|
return tuple(item.__name__ for item in items)
|
|
73
79
|
|
|
74
80
|
|
|
75
|
-
CUSTOM_HANDLERS: list[
|
|
81
|
+
CUSTOM_HANDLERS: list[type[EventHandler]] = []
|
|
76
82
|
CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]}
|
|
77
83
|
|
|
78
84
|
DEFAULT_CHECKS_NAMES = _get_callable_names(checks_module.DEFAULT_CHECKS)
|
|
@@ -98,13 +104,6 @@ DEPRECATED_SHOW_ERROR_TRACEBACKS_OPTION_WARNING = (
|
|
|
98
104
|
"Warning: Option `--show-errors-tracebacks` is deprecated and will be removed in Schemathesis 4.0. "
|
|
99
105
|
"Use `--show-trace` instead"
|
|
100
106
|
)
|
|
101
|
-
DEPRECATED_CONTRIB_UNIQUE_DATA_OPTION_WARNING = (
|
|
102
|
-
"The `--contrib-unique-data` CLI option and the corresponding `schemathesis.contrib.unique_data` hook "
|
|
103
|
-
"are **DEPRECATED**. The concept of this feature does not fit the core principles of Hypothesis where "
|
|
104
|
-
"strategies are configurable on a per-example basis but this feature implies uniqueness across examples. "
|
|
105
|
-
"This leads to cryptic error messages about external state and flaky test runs, "
|
|
106
|
-
"therefore it will be removed in Schemathesis 4.0"
|
|
107
|
-
)
|
|
108
107
|
CASSETTES_PATH_INVALID_USAGE_MESSAGE = "Can't use `--store-network-log` and `--cassette-path` simultaneously"
|
|
109
108
|
COLOR_OPTIONS_INVALID_USAGE_MESSAGE = "Can't use `--no-color` and `--force-color` simultaneously"
|
|
110
109
|
PHASES_INVALID_USAGE_MESSAGE = "Can't use `--hypothesis-phases` and `--hypothesis-no-phases` simultaneously"
|
|
@@ -114,14 +113,14 @@ def reset_checks() -> None:
|
|
|
114
113
|
"""Get checks list to their default state."""
|
|
115
114
|
# Useful in tests
|
|
116
115
|
checks_module.ALL_CHECKS = checks_module.DEFAULT_CHECKS + checks_module.OPTIONAL_CHECKS
|
|
117
|
-
CHECKS_TYPE.choices = _get_callable_names(checks_module.ALL_CHECKS)
|
|
116
|
+
CHECKS_TYPE.choices = (*_get_callable_names(checks_module.ALL_CHECKS), "all")
|
|
118
117
|
|
|
119
118
|
|
|
120
119
|
def reset_targets() -> None:
|
|
121
120
|
"""Get targets list to their default state."""
|
|
122
121
|
# Useful in tests
|
|
123
122
|
targets_module.ALL_TARGETS = targets_module.DEFAULT_TARGETS + targets_module.OPTIONAL_TARGETS
|
|
124
|
-
TARGETS_TYPE.choices = _get_callable_names(targets_module.ALL_TARGETS)
|
|
123
|
+
TARGETS_TYPE.choices = (*_get_callable_names(targets_module.ALL_TARGETS), "all")
|
|
125
124
|
|
|
126
125
|
|
|
127
126
|
@click.group(context_settings=CONTEXT_SETTINGS)
|
|
@@ -282,7 +281,7 @@ REPORT_TO_SERVICE = ReportToService()
|
|
|
282
281
|
"workers_num",
|
|
283
282
|
help="Number of concurrent workers for testing. Auto-adjusts if 'auto' is specified",
|
|
284
283
|
type=CustomHelpMessageChoice(
|
|
285
|
-
["auto"
|
|
284
|
+
["auto", *list(map(str, range(MIN_WORKERS, MAX_WORKERS + 1)))],
|
|
286
285
|
choices_repr=f"[auto, {MIN_WORKERS}-{MAX_WORKERS}]",
|
|
287
286
|
),
|
|
288
287
|
default=str(DEFAULT_WORKERS),
|
|
@@ -318,7 +317,7 @@ REPORT_TO_SERVICE = ReportToService()
|
|
|
318
317
|
"--fixups",
|
|
319
318
|
help="Apply compatibility adjustments",
|
|
320
319
|
multiple=True,
|
|
321
|
-
type=click.Choice(
|
|
320
|
+
type=click.Choice([*ALL_FIXUPS, "all"]),
|
|
322
321
|
metavar="",
|
|
323
322
|
)
|
|
324
323
|
@group("API validation options")
|
|
@@ -433,7 +432,7 @@ REPORT_TO_SERVICE = ReportToService()
|
|
|
433
432
|
"-A",
|
|
434
433
|
type=click.Choice(["basic", "digest"], case_sensitive=False),
|
|
435
434
|
default="basic",
|
|
436
|
-
help="Specify the authentication method",
|
|
435
|
+
help="Specify the authentication method. For custom authentication methods, see our Authentication documentation: https://schemathesis.readthedocs.io/en/stable/auth.html#custom-auth",
|
|
437
436
|
show_default=True,
|
|
438
437
|
metavar="",
|
|
439
438
|
)
|
|
@@ -943,9 +942,6 @@ def run(
|
|
|
943
942
|
entry for health_check in hypothesis_suppress_health_check for entry in health_check.as_hypothesis()
|
|
944
943
|
]
|
|
945
944
|
|
|
946
|
-
if contrib_unique_data:
|
|
947
|
-
click.secho(DEPRECATED_CONTRIB_UNIQUE_DATA_OPTION_WARNING, fg="yellow")
|
|
948
|
-
|
|
949
945
|
if show_errors_tracebacks:
|
|
950
946
|
click.secho(DEPRECATED_SHOW_ERROR_TRACEBACKS_OPTION_WARNING, fg="yellow")
|
|
951
947
|
show_trace = show_errors_tracebacks
|
|
@@ -1154,8 +1150,6 @@ def run(
|
|
|
1154
1150
|
else:
|
|
1155
1151
|
_fixups.install(fixups)
|
|
1156
1152
|
|
|
1157
|
-
if contrib_unique_data:
|
|
1158
|
-
contrib.unique_data.install()
|
|
1159
1153
|
if contrib_openapi_formats_uuid:
|
|
1160
1154
|
contrib.openapi.formats.uuid.install()
|
|
1161
1155
|
if contrib_openapi_fill_missing_examples:
|
|
@@ -1191,6 +1185,7 @@ def run(
|
|
|
1191
1185
|
seed=hypothesis_seed,
|
|
1192
1186
|
exit_first=exit_first,
|
|
1193
1187
|
max_failures=max_failures,
|
|
1188
|
+
unique_data=contrib_unique_data,
|
|
1194
1189
|
dry_run=dry_run,
|
|
1195
1190
|
store_interactions=cassette_path is not None,
|
|
1196
1191
|
checks=selected_checks,
|
|
@@ -1315,6 +1310,7 @@ def into_event_stream(
|
|
|
1315
1310
|
exit_first: bool,
|
|
1316
1311
|
max_failures: int | None,
|
|
1317
1312
|
rate_limit: str | None,
|
|
1313
|
+
unique_data: bool,
|
|
1318
1314
|
dry_run: bool,
|
|
1319
1315
|
store_interactions: bool,
|
|
1320
1316
|
stateful: Stateful | None,
|
|
@@ -1358,6 +1354,7 @@ def into_event_stream(
|
|
|
1358
1354
|
exit_first=exit_first,
|
|
1359
1355
|
max_failures=max_failures,
|
|
1360
1356
|
started_at=started_at,
|
|
1357
|
+
unique_data=unique_data,
|
|
1361
1358
|
dry_run=dry_run,
|
|
1362
1359
|
store_interactions=store_interactions,
|
|
1363
1360
|
checks=checks,
|
|
@@ -2000,7 +1997,7 @@ def decide_color_output(ctx: click.Context, no_color: bool, force_color: bool) -
|
|
|
2000
1997
|
ctx.color = False
|
|
2001
1998
|
|
|
2002
1999
|
|
|
2003
|
-
def add_option(*args: Any, cls:
|
|
2000
|
+
def add_option(*args: Any, cls: type = click.Option, **kwargs: Any) -> None:
|
|
2004
2001
|
"""Add a new CLI option to `st run`."""
|
|
2005
2002
|
run.params.append(cls(args, **kwargs))
|
|
2006
2003
|
|
|
@@ -2024,10 +2021,10 @@ def add_group(name: str, *, index: int | None = None) -> Group:
|
|
|
2024
2021
|
return Group(name)
|
|
2025
2022
|
|
|
2026
2023
|
|
|
2027
|
-
def handler() -> Callable[[
|
|
2024
|
+
def handler() -> Callable[[type], None]:
|
|
2028
2025
|
"""Register a new CLI event handler."""
|
|
2029
2026
|
|
|
2030
|
-
def _wrapper(cls:
|
|
2027
|
+
def _wrapper(cls: type) -> None:
|
|
2031
2028
|
CUSTOM_HANDLERS.append(cls)
|
|
2032
2029
|
|
|
2033
2030
|
return _wrapper
|
|
@@ -2,16 +2,16 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import codecs
|
|
4
4
|
import enum
|
|
5
|
+
import operator
|
|
5
6
|
import os
|
|
6
7
|
import re
|
|
7
8
|
import traceback
|
|
8
9
|
from contextlib import contextmanager
|
|
9
|
-
from functools import partial
|
|
10
|
+
from functools import partial, reduce
|
|
10
11
|
from typing import TYPE_CHECKING, Callable, Generator
|
|
11
12
|
from urllib.parse import urlparse
|
|
12
13
|
|
|
13
14
|
import click
|
|
14
|
-
from click.types import LazyFile # type: ignore
|
|
15
15
|
|
|
16
16
|
from .. import exceptions, experimental, throttling
|
|
17
17
|
from ..code_samples import CodeSampleStyle
|
|
@@ -24,12 +24,14 @@ from ..loaders import load_app
|
|
|
24
24
|
from ..service.hosts import get_temporary_hosts_file
|
|
25
25
|
from ..stateful import Stateful
|
|
26
26
|
from ..transports.headers import has_invalid_characters, is_latin_1_encodable
|
|
27
|
-
from ..types import PathLike
|
|
28
27
|
from .cassettes import CassetteFormat
|
|
29
28
|
from .constants import DEFAULT_WORKERS
|
|
30
29
|
|
|
31
30
|
if TYPE_CHECKING:
|
|
32
31
|
import hypothesis
|
|
32
|
+
from click.types import LazyFile # type: ignore[attr-defined]
|
|
33
|
+
|
|
34
|
+
from ..types import PathLike
|
|
33
35
|
|
|
34
36
|
INVALID_DERANDOMIZE_MESSAGE = (
|
|
35
37
|
"`--hypothesis-derandomize` implies no database, so passing `--hypothesis-database` too is invalid."
|
|
@@ -339,7 +341,7 @@ def convert_experimental(
|
|
|
339
341
|
|
|
340
342
|
|
|
341
343
|
def convert_checks(ctx: click.core.Context, param: click.core.Parameter, value: tuple[list[str]]) -> list[str]:
|
|
342
|
-
return
|
|
344
|
+
return reduce(operator.iadd, value, [])
|
|
343
345
|
|
|
344
346
|
|
|
345
347
|
def convert_code_sample_style(ctx: click.core.Context, param: click.core.Parameter, value: str) -> CodeSampleStyle:
|