schemathesis 3.38.0__tar.gz → 3.38.1__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.38.0 → schemathesis-3.38.1}/PKG-INFO +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/changelog.rst +15 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/experimental.rst +25 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/pyproject.toml +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_hypothesis.py +26 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/cassettes.py +13 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/checks.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/models.py +22 -2
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/serialization.py +4 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/_hypothesis.py +2 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/test_cli.py +6 -7
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/test_pytest.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/output/test_default.py +14 -12
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_asgi.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_callbacks.py +8 -8
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_cassettes.py +14 -12
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_checks.py +9 -24
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_commands.py +110 -129
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_junitxml.py +8 -9
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_targeted.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/code_samples/test_curl.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/code_samples/test_python.py +7 -7
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/conftest.py +24 -30
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/test_unique_data.py +6 -7
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/coverage/test_combinations.py +28 -28
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/coverage/test_examples.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/coverage/test_phase.py +57 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/experimental/test_experiments.py +10 -12
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/experimental/test_openapi_3_1.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/filters/test_expressions.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/filters/test_matching.py +10 -10
- schemathesis-3.38.1/test/fixtures/ctx.py +62 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/hooks/test_filter_operations.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/hooks/test_filters.py +4 -4
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/hooks/test_hooks.py +2 -2
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/loaders/test_app.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/loaders/test_common.py +26 -26
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/loaders/test_graphql.py +2 -2
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/loaders/test_openapi.py +19 -19
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/loaders/test_yaml.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/runner/test_checks.py +45 -45
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/runner/test_events.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/runner/test_probes.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/runner/test_runner.py +24 -24
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/test_auth.py +2 -2
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/test_ci.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/test_cli.py +5 -5
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/test_extensions.py +23 -28
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/test_serialization.py +7 -7
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/test_usage.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/test_basic.py +18 -18
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/test_custom_scalars.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/parameters/test_forms.py +4 -4
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/parameters/test_simple_payloads.py +4 -4
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/stateful/test_config.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/stateful/test_runner.py +9 -8
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/stateful/test_stateful.py +9 -9
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_checks.py +7 -9
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_examples.py +10 -10
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_expressions.py +12 -12
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_hypothesis.py +10 -10
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_ignored_auth.py +12 -15
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_links.py +12 -12
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_media_types.py +3 -4
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_negative.py +20 -20
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_parameters.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_patterns.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_security.py +4 -4
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_serializing.py +23 -23
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_utils.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_validation.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_app.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_asgi.py +5 -5
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_converter.py +12 -12
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_dereferencing.py +13 -13
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_direct_access.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_filters.py +2 -2
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_fixups.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_hypothesis.py +19 -20
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_internal.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_lazy.py +7 -7
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_models.py +24 -24
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_output.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_parameters.py +6 -6
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_parametrization.py +6 -6
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_pytest.py +10 -10
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_rate_limit.py +6 -6
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_recoverable_errors.py +1 -1
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_required.py +3 -3
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_sanitizing_output.py +10 -8
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_schemas.py +13 -11
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_serialization.py +11 -11
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_stateful.py +14 -14
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_wsgi.py +2 -2
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/transports/test_content_types.py +9 -9
- schemathesis-3.38.0/test/fixtures/ctx.py +0 -37
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.dockerignore +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/FUNDING.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/dependabot.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/build.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/codeql-analysis.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/release.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.gitignore +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.pre-commit-config.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.readthedocs.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.relint.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.rstcheck.cfg +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/.yamllint +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/CITATION.cff +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/Dockerfile +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/Dockerfile.bookworm +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/LICENSE +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/README.md +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/SECURITY.md +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/benches/cli.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/benches/coverage_phase.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/benches/references.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/benches/schema.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/changelog.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/codecov.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/corpus/tools.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/Makefile +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/additional-content.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/api.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/auth.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/cli.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/compatibility.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/conf.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/contrib.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/data-generation.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/examples.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/extending.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/faq.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/getting-started.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/graphql.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/index.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/python.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/recipes.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/requirements.txt +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/sanitizing.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/service.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/stateful.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/docs/targeted.rst +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/Dockerfile +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/README.md +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/compose.yml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/openapi.json +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/requirements-app.in +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/requirements-app.txt +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/requirements-pytest.in +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/tests/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/tests/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/tests/extensions.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/example/tests/test_app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/img/demo.gif +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/img/service_github_report.png +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/mypy.ini +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_patches.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/reporting.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/exceptions.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/generation/_hypothesis.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/generation/_methods.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/generation/coverage.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/diff.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/extensions.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/output.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/impl/context.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/impl/core.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/schemas.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/serialization.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/loaders.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/patterns.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/config.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/context.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/events.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/runner.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/sink.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/statistic.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/stateful/validation.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/transports/asgi.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/types.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/cp1252_app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/hooks.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/auth/test_provider.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/checks/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/checks/test_checks.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args10].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args3].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args4].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args5].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args6].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args7].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args8].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args9].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/cert.pem +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_options.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/cli/test_reporting.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/contrib/test_install.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/coverage/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/experimental/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/extra/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/filters/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/fixtures/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/loaders/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/runner/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/service/test_report.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[cookie].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[query].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_async.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_common_parameters.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_examples.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_package.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_petstore.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_unittest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/test_utils.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test/utils.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test-corpus/conftest.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/test_server.sh +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/tox.ini +0 -0
- {schemathesis-3.38.0 → schemathesis-3.38.1}/typos.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.38.
|
|
3
|
+
Version: 3.38.1
|
|
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
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.38.
|
|
4
|
+
:version:`Unreleased <v3.38.1...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.38.1:
|
|
8
|
+
|
|
9
|
+
:version:`3.38.1 <v3.38.0...v3.38.1>` - 2024-10-21
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Added**
|
|
13
|
+
|
|
14
|
+
- Generating test cases with missing required parameters during the coverage phase.
|
|
15
|
+
- Store information about what parameter is mutated during the coverage phase.
|
|
16
|
+
|
|
17
|
+
**Changed**
|
|
18
|
+
|
|
19
|
+
- Adjust the ``negative_data_rejection`` config to include fewer 4XX status codes (400, 401, 403, 404, 422).
|
|
20
|
+
|
|
7
21
|
.. _v3.38.0:
|
|
8
22
|
|
|
9
23
|
:version:`3.38.0 <v3.37.1...v3.38.0>` - 2024-10-21
|
|
@@ -187,6 +187,31 @@ Configure status codes:
|
|
|
187
187
|
|
|
188
188
|
For more details, join the `GitHub Discussion #2499 <https://github.com/schemathesis/schemathesis/discussions/2499>`_.
|
|
189
189
|
|
|
190
|
+
Negative Data Rejection
|
|
191
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
192
|
+
|
|
193
|
+
This feature covers configuring the ``negative_data_rejection`` check and allows for defining what status codes won't trigger this check.
|
|
194
|
+
|
|
195
|
+
**Allowed status codes**: 400, 401, 403, 404, 422, 5XX
|
|
196
|
+
|
|
197
|
+
In CLI
|
|
198
|
+
~~~~~~
|
|
199
|
+
|
|
200
|
+
Configuration options:
|
|
201
|
+
|
|
202
|
+
.. code-block:: bash
|
|
203
|
+
|
|
204
|
+
--experimental-negative-data-rejection-allowed-statuses=4XX
|
|
205
|
+
|
|
206
|
+
Using Environment Variables
|
|
207
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
208
|
+
|
|
209
|
+
Configure status codes:
|
|
210
|
+
|
|
211
|
+
.. code-block:: bash
|
|
212
|
+
|
|
213
|
+
export SCHEMATHESIS_EXPERIMENTAL_NEGATIVE_DATA_REJECTION_ALLOWED_STATUSES=4XX
|
|
214
|
+
|
|
190
215
|
.. _stateful-test-runner:
|
|
191
216
|
|
|
192
217
|
New Stateful Test Runner
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.38.
|
|
7
|
+
version = "3.38.1"
|
|
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" }]
|
|
@@ -232,6 +232,8 @@ def _iter_coverage_cases(
|
|
|
232
232
|
phase=TestPhase.COVERAGE,
|
|
233
233
|
description=None,
|
|
234
234
|
location=None,
|
|
235
|
+
parameter=None,
|
|
236
|
+
parameter_location=None,
|
|
235
237
|
)
|
|
236
238
|
generators: dict[tuple[str, str], Generator[coverage.GeneratedValue, None, None]] = {}
|
|
237
239
|
template: dict[str, Any] = {}
|
|
@@ -276,6 +278,8 @@ def _iter_coverage_cases(
|
|
|
276
278
|
case.meta = copy(meta)
|
|
277
279
|
case.meta.description = value.description
|
|
278
280
|
case.meta.location = value.location
|
|
281
|
+
case.meta.parameter = body.media_type
|
|
282
|
+
case.meta.parameter_location = "body"
|
|
279
283
|
yield case
|
|
280
284
|
for next_value in gen:
|
|
281
285
|
case = operation.make_case(**{**template, "body": next_value.value, "media_type": body.media_type})
|
|
@@ -283,6 +287,8 @@ def _iter_coverage_cases(
|
|
|
283
287
|
case.meta = copy(meta)
|
|
284
288
|
case.meta.description = next_value.description
|
|
285
289
|
case.meta.location = next_value.location
|
|
290
|
+
case.meta.parameter = body.media_type
|
|
291
|
+
case.meta.parameter_location = "body"
|
|
286
292
|
yield case
|
|
287
293
|
elif DataGenerationMethod.positive in data_generation_methods:
|
|
288
294
|
case = operation.make_case(**template)
|
|
@@ -302,7 +308,27 @@ def _iter_coverage_cases(
|
|
|
302
308
|
case.meta = copy(meta)
|
|
303
309
|
case.meta.description = value.description
|
|
304
310
|
case.meta.location = value.location
|
|
311
|
+
case.meta.parameter = name
|
|
312
|
+
case.meta.parameter_location = location
|
|
305
313
|
yield case
|
|
314
|
+
# Generate missing required parameters
|
|
315
|
+
if DataGenerationMethod.negative in data_generation_methods:
|
|
316
|
+
for parameter in operation.iter_parameters():
|
|
317
|
+
if parameter.is_required:
|
|
318
|
+
name = parameter.name
|
|
319
|
+
location = parameter.location
|
|
320
|
+
container_name = LOCATION_TO_CONTAINER[location]
|
|
321
|
+
container = template[container_name]
|
|
322
|
+
case = operation.make_case(
|
|
323
|
+
**{**template, container_name: {k: v for k, v in container.items() if k != name}}
|
|
324
|
+
)
|
|
325
|
+
case.data_generation_method = DataGenerationMethod.negative
|
|
326
|
+
case.meta = copy(meta)
|
|
327
|
+
case.meta.description = f"Missing `{name}` at {location}"
|
|
328
|
+
case.meta.location = parameter.location
|
|
329
|
+
case.meta.parameter = name
|
|
330
|
+
case.meta.parameter_location = location
|
|
331
|
+
yield case
|
|
306
332
|
|
|
307
333
|
|
|
308
334
|
def find_invalid_headers(headers: Mapping) -> Generator[tuple[str, str], None, None]:
|
|
@@ -244,12 +244,24 @@ http_interactions:"""
|
|
|
244
244
|
write_double_quoted(stream, interaction.description)
|
|
245
245
|
else:
|
|
246
246
|
stream.write("null")
|
|
247
|
-
stream.write("\n location: ")
|
|
248
247
|
|
|
248
|
+
stream.write("\n location: ")
|
|
249
249
|
if interaction.location is not None:
|
|
250
250
|
write_double_quoted(stream, interaction.location)
|
|
251
251
|
else:
|
|
252
252
|
stream.write("null")
|
|
253
|
+
|
|
254
|
+
stream.write("\n parameter: ")
|
|
255
|
+
if interaction.parameter is not None:
|
|
256
|
+
write_double_quoted(stream, interaction.parameter)
|
|
257
|
+
else:
|
|
258
|
+
stream.write("null")
|
|
259
|
+
|
|
260
|
+
stream.write("\n parameter_location: ")
|
|
261
|
+
if interaction.parameter_location is not None:
|
|
262
|
+
write_double_quoted(stream, interaction.parameter_location)
|
|
263
|
+
else:
|
|
264
|
+
stream.write("null")
|
|
253
265
|
stream.write(
|
|
254
266
|
f"""
|
|
255
267
|
phase: {phase}
|
|
@@ -21,7 +21,7 @@ CheckFunction = Callable[["CheckContext", "GenericResponse", "Case"], Optional[b
|
|
|
21
21
|
@dataclass
|
|
22
22
|
class NegativeDataRejectionConfig:
|
|
23
23
|
# 5xx will pass through
|
|
24
|
-
allowed_statuses: list[str] = field(default_factory=lambda: ["
|
|
24
|
+
allowed_statuses: list[str] = field(default_factory=lambda: ["400", "401", "403", "404", "422", "5xx"])
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
@dataclass
|
|
@@ -158,10 +158,24 @@ class GenerationMetadata:
|
|
|
158
158
|
cookies: DataGenerationMethod | None
|
|
159
159
|
body: DataGenerationMethod | None
|
|
160
160
|
phase: TestPhase
|
|
161
|
+
# Temporary attributes to carry info specific to the coverage phase
|
|
161
162
|
description: str | None
|
|
162
163
|
location: str | None
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
parameter: str | None
|
|
165
|
+
parameter_location: str | None
|
|
166
|
+
|
|
167
|
+
__slots__ = (
|
|
168
|
+
"query",
|
|
169
|
+
"path_parameters",
|
|
170
|
+
"headers",
|
|
171
|
+
"cookies",
|
|
172
|
+
"body",
|
|
173
|
+
"phase",
|
|
174
|
+
"description",
|
|
175
|
+
"location",
|
|
176
|
+
"parameter",
|
|
177
|
+
"parameter_location",
|
|
178
|
+
)
|
|
165
179
|
|
|
166
180
|
|
|
167
181
|
@dataclass(repr=False)
|
|
@@ -1073,6 +1087,8 @@ class Interaction:
|
|
|
1073
1087
|
# NOTE: It will be better to keep it in a separate attribute
|
|
1074
1088
|
description: str | None
|
|
1075
1089
|
location: str | None
|
|
1090
|
+
parameter: str | None
|
|
1091
|
+
parameter_location: str | None
|
|
1076
1092
|
recorded_at: str = field(default_factory=lambda: datetime.datetime.now(TIMEZONE).isoformat())
|
|
1077
1093
|
|
|
1078
1094
|
@classmethod
|
|
@@ -1104,6 +1120,8 @@ class Interaction:
|
|
|
1104
1120
|
phase=case.meta.phase if case.meta is not None else None,
|
|
1105
1121
|
description=case.meta.description if case.meta is not None else None,
|
|
1106
1122
|
location=case.meta.location if case.meta is not None else None,
|
|
1123
|
+
parameter=case.meta.parameter if case.meta is not None else None,
|
|
1124
|
+
parameter_location=case.meta.parameter_location if case.meta is not None else None,
|
|
1107
1125
|
)
|
|
1108
1126
|
|
|
1109
1127
|
@classmethod
|
|
@@ -1129,6 +1147,8 @@ class Interaction:
|
|
|
1129
1147
|
phase=case.meta.phase if case.meta is not None else None,
|
|
1130
1148
|
description=case.meta.description if case.meta is not None else None,
|
|
1131
1149
|
location=case.meta.location if case.meta is not None else None,
|
|
1150
|
+
parameter=case.meta.parameter if case.meta is not None else None,
|
|
1151
|
+
parameter_location=case.meta.parameter_location if case.meta is not None else None,
|
|
1132
1152
|
)
|
|
1133
1153
|
|
|
1134
1154
|
|
|
@@ -398,6 +398,8 @@ class SerializedInteraction:
|
|
|
398
398
|
phase: TestPhase | None
|
|
399
399
|
description: str | None
|
|
400
400
|
location: str | None
|
|
401
|
+
parameter: str | None
|
|
402
|
+
parameter_location: str | None
|
|
401
403
|
recorded_at: str
|
|
402
404
|
|
|
403
405
|
@classmethod
|
|
@@ -411,6 +413,8 @@ class SerializedInteraction:
|
|
|
411
413
|
phase=interaction.phase,
|
|
412
414
|
description=interaction.description,
|
|
413
415
|
location=interaction.location,
|
|
416
|
+
parameter=interaction.parameter,
|
|
417
|
+
parameter_location=interaction.parameter_location,
|
|
414
418
|
recorded_at=interaction.recorded_at,
|
|
415
419
|
)
|
|
416
420
|
|
|
@@ -42,11 +42,11 @@ def after_call(context, case, response):
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
@pytest.mark.parametrize(
|
|
45
|
-
"args, expected",
|
|
46
|
-
|
|
45
|
+
("args", "expected"),
|
|
46
|
+
[
|
|
47
47
|
(("--auth", "user:pass"), "Basic dXNlcjpwYXNz"),
|
|
48
48
|
(("-H", "Authorization: Bearer EXPLICIT"), "Bearer EXPLICIT"),
|
|
49
|
-
|
|
49
|
+
],
|
|
50
50
|
)
|
|
51
51
|
@pytest.mark.openapi_version("3.0")
|
|
52
52
|
@pytest.mark.operations("success")
|
|
@@ -68,10 +68,10 @@ def after_call(context, case, response):
|
|
|
68
68
|
assert cli.main("run", schema_url, "--show-trace", *args, hooks=module.purebasename) == snapshot_cli
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
def test_multiple_auth_mechanisms_with_explicit_auth(ctx,
|
|
71
|
+
def test_multiple_auth_mechanisms_with_explicit_auth(ctx, cli, snapshot_cli):
|
|
72
72
|
# When the schema defines multiple auth mechanisms on the same operation
|
|
73
73
|
# And the user passes an explicit `Authorization` header
|
|
74
|
-
|
|
74
|
+
schema_path = ctx.openapi.write_schema(
|
|
75
75
|
{
|
|
76
76
|
"/health": {
|
|
77
77
|
"get": {
|
|
@@ -97,9 +97,8 @@ def test_multiple_auth_mechanisms_with_explicit_auth(ctx, testdir, cli, snapshot
|
|
|
97
97
|
},
|
|
98
98
|
security=[{"bearerAuth": []}, {"basicAuth": []}],
|
|
99
99
|
)
|
|
100
|
-
schema_file = testdir.make_openapi_schema_file(schema)
|
|
101
100
|
# Then it should be able to generate requests
|
|
102
|
-
assert cli.run(str(
|
|
101
|
+
assert cli.run(str(schema_path), "--dry-run", "-H", "Authorization: Bearer foo") == snapshot_cli
|
|
103
102
|
|
|
104
103
|
|
|
105
104
|
@pytest.mark.openapi_version("3.0")
|
|
@@ -32,13 +32,13 @@ type Query {
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
@pytest.mark.parametrize(
|
|
35
|
-
"class_decorator, pre_parametrize_decorator, post_parametrize_decorator",
|
|
36
|
-
|
|
35
|
+
("class_decorator", "pre_parametrize_decorator", "post_parametrize_decorator"),
|
|
36
|
+
[
|
|
37
37
|
("@schemathesis.auth()", "", ""),
|
|
38
38
|
("@schema.auth()", "", ""),
|
|
39
39
|
("", f"@schema.auth({AUTH_CLASS_NAME})", ""),
|
|
40
40
|
("", "", f"@schema.auth({AUTH_CLASS_NAME})"),
|
|
41
|
-
|
|
41
|
+
],
|
|
42
42
|
ids=("global", "schema", "test-pre-parametrize", "test-post-parametrize"),
|
|
43
43
|
)
|
|
44
44
|
def test_different_scopes(
|
|
@@ -4,7 +4,7 @@ Stdout:
|
|
|
4
4
|
======================= Schemathesis test session starts =======================
|
|
5
5
|
Schema location: file:///tmp/schema.json
|
|
6
6
|
Base URL: http://127.0.0.1/api
|
|
7
|
-
Specification version: Open API 3.0.
|
|
7
|
+
Specification version: Open API 3.0.2
|
|
8
8
|
Random seed: 42
|
|
9
9
|
Workers: 1
|
|
10
10
|
Collected API operations: 1
|
|
@@ -29,7 +29,7 @@ def click_context():
|
|
|
29
29
|
yield
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
@pytest.fixture
|
|
32
|
+
@pytest.fixture
|
|
33
33
|
def execution_context():
|
|
34
34
|
return schemathesis.cli.context.ExecutionContext(hypothesis.settings(), [], operations_count=1)
|
|
35
35
|
|
|
@@ -59,7 +59,7 @@ def response():
|
|
|
59
59
|
return response
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
@pytest.fixture
|
|
62
|
+
@pytest.fixture
|
|
63
63
|
def results_set(operation):
|
|
64
64
|
statistic = models.TestResult(
|
|
65
65
|
operation.method,
|
|
@@ -70,7 +70,7 @@ def results_set(operation):
|
|
|
70
70
|
return models.TestResultSet(seed=42, results=[statistic])
|
|
71
71
|
|
|
72
72
|
|
|
73
|
-
@pytest.fixture
|
|
73
|
+
@pytest.fixture
|
|
74
74
|
def after_execution(results_set, operation, swagger_20):
|
|
75
75
|
return runner.events.AfterExecution.from_result(
|
|
76
76
|
result=results_set.results[0],
|
|
@@ -88,7 +88,7 @@ def test_get_terminal_width():
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
@pytest.mark.parametrize(
|
|
91
|
-
"title,separator,printed,expected",
|
|
91
|
+
("title", "separator", "printed", "expected"),
|
|
92
92
|
[
|
|
93
93
|
("TEST", "-", "data in section", "------- TEST -------"),
|
|
94
94
|
("TEST", "*", "data in section", "******* TEST *******"),
|
|
@@ -106,7 +106,7 @@ def test_display_section_name(capsys, title, separator, printed, expected):
|
|
|
106
106
|
assert expected in out
|
|
107
107
|
|
|
108
108
|
|
|
109
|
-
@pytest.mark.parametrize("verbosity",
|
|
109
|
+
@pytest.mark.parametrize("verbosity", [0, 1])
|
|
110
110
|
def test_handle_initialized(capsys, mocker, execution_context, results_set, swagger_20, verbosity):
|
|
111
111
|
execution_context.verbosity = verbosity
|
|
112
112
|
# Given Initialized event
|
|
@@ -210,13 +210,15 @@ def test_capture_hypothesis_output():
|
|
|
210
210
|
assert hypothesis_output == [value, value]
|
|
211
211
|
|
|
212
212
|
|
|
213
|
-
@pytest.mark.parametrize(
|
|
213
|
+
@pytest.mark.parametrize(
|
|
214
|
+
("position", "length", "expected"), [(1, 100, "[ 1%]"), (20, 100, "[ 20%]"), (100, 100, "[100%]")]
|
|
215
|
+
)
|
|
214
216
|
def test_get_percentage(position, length, expected):
|
|
215
217
|
assert default.get_percentage(position, length) == expected
|
|
216
218
|
|
|
217
219
|
|
|
218
|
-
@pytest.mark.parametrize("current_line_length",
|
|
219
|
-
@pytest.mark.parametrize("operations_processed, percentage", (
|
|
220
|
+
@pytest.mark.parametrize("current_line_length", [0, 20])
|
|
221
|
+
@pytest.mark.parametrize(("operations_processed", "percentage"), [(0, "[ 0%]"), (1, "[100%]")])
|
|
220
222
|
def test_display_percentage(
|
|
221
223
|
capsys, execution_context, after_execution, swagger_20, current_line_length, operations_processed, percentage
|
|
222
224
|
):
|
|
@@ -242,7 +244,7 @@ def test_display_hypothesis_output(capsys):
|
|
|
242
244
|
assert " ".join(lines[1:3]) == strip_style_win32(click.style("foo bar", fg="red"))
|
|
243
245
|
|
|
244
246
|
|
|
245
|
-
@pytest.mark.parametrize("body",
|
|
247
|
+
@pytest.mark.parametrize("body", [{}, {"foo": "bar"}, NOT_SET])
|
|
246
248
|
def test_display_single_failure(capsys, swagger_20, execution_context, operation, body, response):
|
|
247
249
|
# Given a single test result with multiple successful & failed checks
|
|
248
250
|
media_type = "application/json" if body is not NOT_SET else None
|
|
@@ -294,8 +296,8 @@ def test_display_single_failure(capsys, swagger_20, execution_context, operation
|
|
|
294
296
|
|
|
295
297
|
|
|
296
298
|
@pytest.mark.parametrize(
|
|
297
|
-
"status, expected_symbol, color",
|
|
298
|
-
(
|
|
299
|
+
("status", "expected_symbol", "color"),
|
|
300
|
+
[(models.Status.success, ".", "green"), (models.Status.failure, "F", "red"), (models.Status.error, "E", "red")],
|
|
299
301
|
)
|
|
300
302
|
def test_handle_after_execution(capsys, execution_context, after_execution, status, expected_symbol, color):
|
|
301
303
|
# Given AfterExecution even with certain status
|
|
@@ -326,7 +328,7 @@ def test_after_execution_attributes(execution_context, after_execution):
|
|
|
326
328
|
assert execution_context.current_line_length == 2
|
|
327
329
|
|
|
328
330
|
|
|
329
|
-
@pytest.mark.parametrize("show_errors_tracebacks",
|
|
331
|
+
@pytest.mark.parametrize("show_errors_tracebacks", [True, False])
|
|
330
332
|
def test_display_internal_error(capsys, execution_context, show_errors_tracebacks):
|
|
331
333
|
execution_context.show_trace = show_errors_tracebacks
|
|
332
334
|
try:
|
|
@@ -25,7 +25,7 @@ def test_wsgi_app(testdir, cli):
|
|
|
25
25
|
assert "1 passed, 1 failed in" in result.stdout
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
@pytest.mark.parametrize("workers",
|
|
28
|
+
@pytest.mark.parametrize("workers", [1, 2])
|
|
29
29
|
def test_cli_run_output_success(testdir, cli, workers):
|
|
30
30
|
module = testdir.make_importable_pyfile(
|
|
31
31
|
location="""
|
|
@@ -12,7 +12,7 @@ from schemathesis.transports.headers import is_latin_1_encodable
|
|
|
12
12
|
from ..utils import SIMPLE_PATH
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
@pytest.mark.parametrize("value",
|
|
15
|
+
@pytest.mark.parametrize("value", ["//test", "//ÿ["])
|
|
16
16
|
def test_parse_schema_kind(value):
|
|
17
17
|
with pytest.raises(click.UsageError):
|
|
18
18
|
kind = callbacks.parse_schema_kind(value, app=None)
|
|
@@ -71,7 +71,7 @@ def test_reraise_format_error():
|
|
|
71
71
|
|
|
72
72
|
@pytest.mark.parametrize(
|
|
73
73
|
"value",
|
|
74
|
-
|
|
74
|
+
["+", "\\", "[", r"0EEE|[>:>\UEEEEEEEEEEEEEEEEEEEEEEEE>", "(?(8))"],
|
|
75
75
|
)
|
|
76
76
|
def test_validate_regex(value):
|
|
77
77
|
with pytest.raises(click.BadParameter, match="Invalid regex: "):
|
|
@@ -79,23 +79,23 @@ def test_validate_regex(value):
|
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
@pytest.mark.parametrize(
|
|
82
|
-
"value, expected",
|
|
83
|
-
|
|
82
|
+
("value", "expected"),
|
|
83
|
+
[
|
|
84
84
|
("On", True),
|
|
85
85
|
("F", False),
|
|
86
86
|
("/tmp/cert.pem", "/tmp/cert.pem"),
|
|
87
|
-
|
|
87
|
+
],
|
|
88
88
|
)
|
|
89
89
|
def test_convert_request_tls_verify(value, expected):
|
|
90
90
|
assert callbacks.convert_boolean_string(None, None, value) == expected
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
@pytest.mark.parametrize("value, expected", (
|
|
93
|
+
@pytest.mark.parametrize(("value", "expected"), [("2", 2), ("auto", callbacks.get_workers_count())])
|
|
94
94
|
def test_convert_workers(value, expected):
|
|
95
95
|
assert callbacks.convert_workers(None, None, value) == expected
|
|
96
96
|
|
|
97
97
|
|
|
98
|
-
@pytest.mark.parametrize("value",
|
|
98
|
+
@pytest.mark.parametrize("value", ["1", "1/g", "f/g"])
|
|
99
99
|
def test_validate_rate_limit_invalid(value):
|
|
100
100
|
with pytest.raises(click.UsageError) as exc:
|
|
101
101
|
callbacks.validate_rate_limit(None, None, value)
|
|
@@ -110,7 +110,7 @@ def test_validate_rate_limit_valid():
|
|
|
110
110
|
|
|
111
111
|
|
|
112
112
|
@pytest.mark.parametrize(
|
|
113
|
-
"input_codes, output, error",
|
|
113
|
+
("input_codes", "output", "error"),
|
|
114
114
|
[
|
|
115
115
|
(["200", "404"], ["200", "404"], None),
|
|
116
116
|
(["2xx", "4xx"], ["2xx", "4xx"], None),
|
|
@@ -50,7 +50,7 @@ def load_response_body(cassette, idx):
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
@pytest.mark.parametrize("data_generation_method", [m.value for m in DataGenerationMethod.all()] + ["all"])
|
|
53
|
-
@pytest.mark.parametrize("args", (
|
|
53
|
+
@pytest.mark.parametrize("args", [(), ("--cassette-preserve-exact-body-bytes",)], ids=("plain", "base64"))
|
|
54
54
|
@pytest.mark.operations("success", "upload_file")
|
|
55
55
|
def test_store_cassette(cli, schema_url, cassette_path, hypothesis_max_examples, args, data_generation_method):
|
|
56
56
|
hypothesis_max_examples = hypothesis_max_examples or 2
|
|
@@ -94,6 +94,8 @@ def test_store_cassette(cli, schema_url, cassette_path, hypothesis_max_examples,
|
|
|
94
94
|
if interaction["phase"] == "coverage":
|
|
95
95
|
if interaction["data_generation_method"] == "negative":
|
|
96
96
|
assert interaction["meta"]["location"] is not None
|
|
97
|
+
assert interaction["meta"]["parameter"] is not None
|
|
98
|
+
assert interaction["meta"]["parameter_location"] is not None
|
|
97
99
|
|
|
98
100
|
|
|
99
101
|
@pytest.mark.operations("success", "upload_file")
|
|
@@ -145,7 +147,7 @@ def test_store_timeout(cli, schema_url, cassette_path):
|
|
|
145
147
|
|
|
146
148
|
|
|
147
149
|
@pytest.mark.parametrize(
|
|
148
|
-
|
|
150
|
+
("app_fixture", "schema_url"),
|
|
149
151
|
[
|
|
150
152
|
("loadable_flask_app", "/schema.yaml"),
|
|
151
153
|
("loadable_fastapi_app", "/openapi.json"),
|
|
@@ -288,8 +290,8 @@ def test_main_process_error(cli, schema_url, hypothesis_max_examples, cassette_p
|
|
|
288
290
|
|
|
289
291
|
|
|
290
292
|
@pytest.mark.operations("__all__")
|
|
291
|
-
@pytest.mark.parametrize("verbose",
|
|
292
|
-
@pytest.mark.parametrize("args", (
|
|
293
|
+
@pytest.mark.parametrize("verbose", [True, False])
|
|
294
|
+
@pytest.mark.parametrize("args", [(), ("--cassette-preserve-exact-body-bytes",)], ids=("plain", "base64"))
|
|
293
295
|
async def test_replay(
|
|
294
296
|
openapi_version, cli, schema_url, app, reset_app, cassette_path, hypothesis_max_examples, verbose, args
|
|
295
297
|
):
|
|
@@ -360,7 +362,7 @@ async def test_replay(
|
|
|
360
362
|
|
|
361
363
|
|
|
362
364
|
@pytest.mark.operations("__all__")
|
|
363
|
-
@pytest.mark.parametrize("args", (
|
|
365
|
+
@pytest.mark.parametrize("args", [(), ("--cassette-preserve-exact-body-bytes",)], ids=("plain", "base64"))
|
|
364
366
|
def test_har_format(cli, schema_url, cassette_path, hypothesis_max_examples, args):
|
|
365
367
|
cassette_path = cassette_path.with_suffix(".har")
|
|
366
368
|
result = cli.run(
|
|
@@ -413,8 +415,8 @@ def test_invalid_format():
|
|
|
413
415
|
|
|
414
416
|
|
|
415
417
|
@pytest.mark.parametrize(
|
|
416
|
-
"value, expected",
|
|
417
|
-
|
|
418
|
+
("value", "expected"),
|
|
419
|
+
[
|
|
418
420
|
(
|
|
419
421
|
"has_recent_activity=1; path=/; expires=Sat, 29 Jun 2024 18:22:49 GMT; secure; HttpOnly; SameSite=Lax",
|
|
420
422
|
[
|
|
@@ -435,7 +437,7 @@ def test_invalid_format():
|
|
|
435
437
|
harfile.Cookie(name="spam", value="baz"),
|
|
436
438
|
],
|
|
437
439
|
),
|
|
438
|
-
|
|
440
|
+
],
|
|
439
441
|
)
|
|
440
442
|
def test_cookie_to_har(value, expected):
|
|
441
443
|
assert list(_cookie_to_har(value)) == expected
|
|
@@ -501,7 +503,7 @@ def test_headers_serialization(cli, openapi2_schema_url, hypothesis_max_examples
|
|
|
501
503
|
# And should be loadable
|
|
502
504
|
|
|
503
505
|
|
|
504
|
-
@pytest.mark.parametrize("value",
|
|
506
|
+
@pytest.mark.parametrize("value", ["true", "false"])
|
|
505
507
|
@pytest.mark.operations("headers")
|
|
506
508
|
def test_output_sanitization(cli, openapi2_schema_url, hypothesis_max_examples, cassette_path, value):
|
|
507
509
|
auth = "secret-auth"
|
|
@@ -563,8 +565,8 @@ def test_empty_body():
|
|
|
563
565
|
|
|
564
566
|
|
|
565
567
|
@pytest.mark.parametrize(
|
|
566
|
-
"filters, expected",
|
|
567
|
-
|
|
568
|
+
("filters", "expected"),
|
|
569
|
+
[
|
|
568
570
|
({"id_": "1"}, ["1"]),
|
|
569
571
|
({"id_": "2"}, ["2"]),
|
|
570
572
|
({"status": "SUCCESS"}, ["1"]),
|
|
@@ -574,7 +576,7 @@ def test_empty_body():
|
|
|
574
576
|
({"method": "PO"}, ["2"]),
|
|
575
577
|
({"uri": "error|failure"}, ["2", "3"]),
|
|
576
578
|
({"uri": "error|failure", "method": "POST"}, ["2"]),
|
|
577
|
-
|
|
579
|
+
],
|
|
578
580
|
)
|
|
579
581
|
def test_filter_cassette(filters, expected):
|
|
580
582
|
cassette = [
|
|
@@ -26,7 +26,7 @@ def test_register_returns_a_value(new_check):
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
@pytest.mark.parametrize(
|
|
29
|
-
"exclude_checks,expected_exit_code,expected_result",
|
|
29
|
+
("exclude_checks", "expected_exit_code", "expected_result"),
|
|
30
30
|
[
|
|
31
31
|
("not_a_server_error", ExitCode.TESTS_FAILED, "1 passed, 1 failed in"),
|
|
32
32
|
("not_a_server_error,status_code_conformance", ExitCode.OK, "2 passed in"),
|
|
@@ -75,7 +75,7 @@ def test_exclude_checks(
|
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
def test_negative_data_rejection(ctx, testdir, cli, openapi3_base_url):
|
|
78
|
-
|
|
78
|
+
schema_path = ctx.openapi.write_schema(
|
|
79
79
|
{
|
|
80
80
|
"/success": {
|
|
81
81
|
"get": {
|
|
@@ -85,9 +85,8 @@ def test_negative_data_rejection(ctx, testdir, cli, openapi3_base_url):
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
)
|
|
88
|
-
schema_file = testdir.make_openapi_schema_file(schema)
|
|
89
88
|
result = cli.run(
|
|
90
|
-
str(
|
|
89
|
+
str(schema_path),
|
|
91
90
|
f"--base-url={openapi3_base_url}",
|
|
92
91
|
"--checks",
|
|
93
92
|
"negative_data_rejection",
|
|
@@ -164,18 +163,11 @@ def schema(ctx):
|
|
|
164
163
|
["--experimental-positive-data-acceptance-allowed-statuses=200,201,400,401"],
|
|
165
164
|
],
|
|
166
165
|
)
|
|
167
|
-
def test_positive_data_acceptance(
|
|
168
|
-
|
|
169
|
-
cli,
|
|
170
|
-
snapshot_cli,
|
|
171
|
-
schema,
|
|
172
|
-
openapi3_base_url,
|
|
173
|
-
args,
|
|
174
|
-
):
|
|
175
|
-
schema_file = testdir.make_openapi_schema_file(schema)
|
|
166
|
+
def test_positive_data_acceptance(ctx, cli, snapshot_cli, schema, openapi3_base_url, args):
|
|
167
|
+
schema_path = ctx.makefile(schema)
|
|
176
168
|
assert (
|
|
177
169
|
cli.run(
|
|
178
|
-
str(
|
|
170
|
+
str(schema_path),
|
|
179
171
|
f"--base-url={openapi3_base_url}",
|
|
180
172
|
"--hypothesis-max-examples=5",
|
|
181
173
|
"--experimental=positive_data_acceptance",
|
|
@@ -185,20 +177,13 @@ def test_positive_data_acceptance(
|
|
|
185
177
|
)
|
|
186
178
|
|
|
187
179
|
|
|
188
|
-
def test_positive_data_acceptance_with_env_vars(
|
|
189
|
-
|
|
190
|
-
cli,
|
|
191
|
-
snapshot_cli,
|
|
192
|
-
schema,
|
|
193
|
-
openapi3_base_url,
|
|
194
|
-
monkeypatch,
|
|
195
|
-
):
|
|
196
|
-
schema_file = testdir.make_openapi_schema_file(schema)
|
|
180
|
+
def test_positive_data_acceptance_with_env_vars(ctx, cli, snapshot_cli, schema, openapi3_base_url, monkeypatch):
|
|
181
|
+
schema_path = ctx.makefile(schema)
|
|
197
182
|
monkeypatch.setenv("SCHEMATHESIS_EXPERIMENTAL_POSITIVE_DATA_ACCEPTANCE", "true")
|
|
198
183
|
monkeypatch.setenv("SCHEMATHESIS_EXPERIMENTAL_POSITIVE_DATA_ACCEPTANCE_ALLOWED_STATUSES", "403")
|
|
199
184
|
assert (
|
|
200
185
|
cli.run(
|
|
201
|
-
str(
|
|
186
|
+
str(schema_path),
|
|
202
187
|
f"--base-url={openapi3_base_url}",
|
|
203
188
|
"--hypothesis-max-examples=5",
|
|
204
189
|
)
|