schemathesis 4.0.6__tar.gz → 4.0.8__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-4.0.6 → schemathesis-4.0.8}/.github/workflows/release.yml +23 -1
- {schemathesis-4.0.6 → schemathesis-4.0.8}/CHANGELOG.md +21 -2
- {schemathesis-4.0.6 → schemathesis-4.0.8}/PKG-INFO +1 -1
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/faq.md +14 -9
- schemathesis-4.0.8/docs/reference/checks.md +229 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/reference/hooks.md +0 -2
- {schemathesis-4.0.6 → schemathesis-4.0.8}/pyproject.toml +1 -1
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/handlers/junitxml.py +1 -1
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/deserialization.py +14 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/media_types.py +1 -1
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/version.py +1 -1
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/_hypothesis.py +8 -8
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/negative/mutations.py +9 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/schemas.py +19 -6
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_format_parameter_csv_response.raw +4 -4
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/conftest.py +7 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/engine/test_checks.py +17 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/python/test_models.py +20 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_negative.py +34 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test-corpus/test_corpus.py +7 -1
- schemathesis-4.0.6/docs/reference/checks.md +0 -80
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.dockerignore +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/FUNDING.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/dependabot.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/build.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/codeql-analysis.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/commit.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/example-build.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/master_update.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.gitignore +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.pre-commit-config.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.readthedocs.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/.yamllint +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/ARCHITECTURE.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/CITATION.cff +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/CONTRIBUTING.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/Dockerfile +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/Dockerfile.bookworm +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/LICENSE +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/MIGRATION.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/README.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/SECURITY.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/benches/cli.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/benches/coverage_phase.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/benches/references.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/benches/schema.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/changelog.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/codecov.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/corpus/tools.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/configuration.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/explanations/data-generation.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/explanations/examples.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/explanations/pytest.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/explanations/stateful.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/auth.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/cicd.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/config-optimization.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/custom-media-types.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/custom-serializers.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/extending-cli.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/extending.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/graphql-custom-scalars.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/hypothesis-strategies.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/index.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/python-apps.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/schema-conformance.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/stateful-testing.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/guides/targeted.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/index.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/quick-start.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/reference/cli.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/reference/configuration.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/reference/python.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/reference/warnings.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/resources.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/stylesheets/extra.css +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/tutorials/cli.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/docs/tutorials/pytest.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/examples/booking/Dockerfile +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/examples/booking/README.md +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/examples/booking/app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/examples/booking/docker-compose.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/img/demo.gif +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/mkdocs.yml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/mypy.ini +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/auths.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/checks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/data.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/context.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/events.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/executor.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/filters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/handlers/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/handlers/base.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/handlers/cassettes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/handlers/output.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/loaders.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/validation.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/core.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/ext/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/ext/fs.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/ext/groups.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/ext/options.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_auth.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_checks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_diff_base.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_env.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_error.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_generation.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_health_check.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_operations.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_output.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_parameters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_phases.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_projects.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_rate_limit.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_report.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_validator.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/_warnings.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/config/schema.json +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/compat.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/control.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/curl.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/errors.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/failures.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/fs.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/hooks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/lazy_import.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/loaders.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/marks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/output/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/output/sanitization.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/rate_limit.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/registries.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/result.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/transforms.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/transport.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/core/validation.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/context.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/control.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/core.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/errors.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/events.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/probes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/stateful/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/stateful/_executor.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/stateful/context.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/unit/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/unit/_executor.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/phases/unit/_pool.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/engine/recorder.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/errors.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/filters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/case.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/coverage.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/hypothesis/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/hypothesis/builder.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/hypothesis/examples.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/hypothesis/given.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/hypothesis/reporting.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/hypothesis/strategies.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/meta.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/metrics.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/modes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/overrides.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/stateful/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/generation/stateful/state_machine.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/graphql/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/graphql/checks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/graphql/loaders.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/hooks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/openapi/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/openapi/checks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/openapi/generation/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/openapi/generation/filters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/openapi/loaders.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/py.typed +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/pytest/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/pytest/control_flow.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/pytest/lazy.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/pytest/loaders.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/pytest/plugin.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/python/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/python/asgi.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/python/wsgi.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/schemas.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/patterns.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/stateful/control.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/transport/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/transport/asgi.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/transport/prepare.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/transport/requests.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/transport/serialization.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/transport/wsgi.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[default].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-all].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-operation].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[selected].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_many_operations.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_no_2xx.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_no_2xx_options_only.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/__snapshots__/test_warnings/test_warning_on_unauthorized.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/_pytest/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/_pytest/test_markers.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/cp1252_app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/hooks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/apps/openapi/schema.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/conftest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/test_cli.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/test_provider.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/auth/test_pytest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_not_a_server_error.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[None].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses10].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses3].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses4].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses5].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses6].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses7].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses8].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses9].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_app_crash.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_cli_run_changed_base_url[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_dont_skip_when_generation_is_possible[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_empty_schema_file.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_exit_first[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_filter_case_sensitivity[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_during_schema_loading.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_long_operation_output.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_partial_response.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_rediscover_the_same_failure_in_different_phases_and_store_junit[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_reserved_characters_in_operation_name.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 2.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_skip_not_negated_tests[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_skipped_on_no_explicit_examples.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_stateful_crash.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/__snapshots__/test_hooks/test_after_call[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/cert.pem +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_cassettes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_checks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_commands.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_crashes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_hooks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_junitxml.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_options.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_targeted.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/cli/test_validation.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/code_samples/test_curl.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_cli/test_incorrect_config[null_byte].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_duplicate_filter].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_expression].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_regex].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_missing_includes].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_cli/test_incorrect_config[syntactic_error].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_cli/test_incorrect_config[unknown_property].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.generation-mode-negative].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic-non-latin1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-headers].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check-close-match].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-placeholder].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-project].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-rate-limit].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout-negative].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.incorrect-tls-verify].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.root].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.warnings-off].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.warnings-on].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[common.warnings-selection].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[operations.basic].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[operations.complex_many].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[operations.missing_config_options].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[operations.warnings-off].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[operations.warnings-on].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[parameters.basic].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[parameters.mixed].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[parameters.with_locations].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.all_enabled].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.incorrect_section_type].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types_in_vcr].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.invalid_format_names].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.one_enabled].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.unknown_keyword_vcr].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.unknown_keywords].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.with_env_var].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_in_path].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_missing].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_api_host_v1_he].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_environment_ap].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[checks_disable_globally_conte].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[checks_enabled_false_only_che].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[checks_max_response_time_2_0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[checks_positive_data_acceptan].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[checks_response_schema_confor].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[client_certificate_with_bundl].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[color_false].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[continue_on_failure_true].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[default_auth_for_most_operati].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[default_fast_testing_generati].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[default_timeout_request_timeo].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[disable_all_warnings_warnings].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[enable_specific_warnings_only].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_allow_x00_false].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_codec_ascii].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_memory].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_schemathe].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_deterministic_true].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_exclude_header_cha].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_graphql_allow_null].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_1000].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_200].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_50].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_maximize_response].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_mode_negative].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_no_shrink_true].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_unique_inputs_true].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[generation_with_security_para].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[global_defaults_generation_ma].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[global_hooks_for_all_projects].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[global_parameters_parameters].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[headers_authorization_bearer].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key_acc].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[max_failures_42].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[operations_by_exact_path_incl].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[operations_exclude_path_billi].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_name_post].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_path_billi].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[operations_without_operationi].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[optionally_under_a_named_proj].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_enabled_f].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_keys_to_s].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_replaceme].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_sensitive].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_enabled_fal].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_lines_2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_payload].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_width_1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_checks_not_a].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_enabled_false].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_generate_dupl].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_unexpected_me].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[phases_examples_fill_missing].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[phases_skip_stateful_testing].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[phases_stateful_max_steps_50].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_http_localhost_8080].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_https_username_password].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_1000_h].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_100_m].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_5_s].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[reports_directory_test_result].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_enabled_true].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_path_test_repor].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[reports_preserve_bytes_true].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_0_5].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_30_0_30_secon].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_5_0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[run_more_tests_for_better_cov].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[seed_42].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[set_certificate_and_separate].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[suppress_health_check_too_slo].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_false].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_path_to_ca_bundle].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[wait_for_schema_5_0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_doc_examples/test_configs[workers_4_use_exactly_4_worke].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_multi_project/test_disable_operations[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_multi_project/test_disable_phases[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/__snapshots__/test_phase_config/test_phase_configuration[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/generation-mode-negative.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-auth-basic-non-latin1.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-auth-basic.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-headers.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-health-check-close-match.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-health-check.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-placeholder.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-project.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-rate-limit.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-request-timeout-negative.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-request-timeout.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/incorrect-tls-verify.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/root.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/warnings-off.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/warnings-on.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/common/warnings-selection.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/operations/basic.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/operations/complex_many.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/operations/missing_config_options.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/operations/warnings-off.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/operations/warnings-on.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/parameters/basic.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/parameters/mixed.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/parameters/with_locations.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/all_enabled.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/incorrect_section_type.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/incorrect_types.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/incorrect_types_in_vcr.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/invalid_format_names.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/one_enabled.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/unknown_keyword_vcr.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/unknown_keywords.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/with_env_var.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/with_env_var_in_path.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/configs/report/with_env_var_missing.toml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/conftest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/hooks/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/hooks/error.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/hooks/example.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/hooks/hello.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_cli.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_config.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_discovery.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_doc_examples.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_hierarchy.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_hooks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_merging.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_multi_project.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_phase_config.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/config/test_status_code_validation.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/core/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/core/test_deserialization.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/core/test_media_types.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/coverage/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/coverage/test_combinations.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/coverage/test_examples.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/coverage/test_phase.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/engine/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/engine/__snapshots__/test_probes/test_ctrl_c.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/engine/test_engine.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/engine/test_errors.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/engine/test_probes.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/filters/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/filters/test_cli.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/filters/test_expressions.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/filters/test_matching.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/fixtures/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/fixtures/app_runner.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/fixtures/ctx.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/hooks/test_filters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/hooks/test_hooks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/loaders/conftest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/loaders/test_common.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/loaders/test_graphql.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/loaders/test_openapi.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/openapi/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/openapi/test_filters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/python/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/python/test_case.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-200].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-406].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/__snapshots__/test_patterns/test_response_schema_is_not_mutated.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_invalid_parameter_reference.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_body_parameter.raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_link[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[User data as plain text].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_not_enough_links[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/test_cli.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/test_engine.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_patterns.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_app.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_asgi.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_async.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_common_parameters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_converter.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_dereferencing.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_direct_access.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_examples.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_filters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_hypothesis.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_lazy.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_output.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_package.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_parameters.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_parametrization.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_petstore.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_pytest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_rate_limit.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_recoverable_errors.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_required.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_sanitizing_output.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_schemas.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_serialization.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_stateful.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_unittest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_warnings.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/test_wsgi.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test/utils.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test-corpus/conftest.py +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/test_server.sh +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/tox.ini +0 -0
- {schemathesis-4.0.6 → schemathesis-4.0.8}/typos.toml +0 -0
@@ -32,6 +32,22 @@ jobs:
|
|
32
32
|
fi
|
33
33
|
shell: bash
|
34
34
|
|
35
|
+
|
36
|
+
- name: Generate stable tag
|
37
|
+
id: stable-tag
|
38
|
+
run: |
|
39
|
+
if [ "${{ env.is_prerelease }}" == "false" ]; then
|
40
|
+
if [ "${{ matrix.tag-suffix }}" == "" ]; then
|
41
|
+
echo "stable_tag=type=raw,value=stable" >> $GITHUB_OUTPUT
|
42
|
+
elif [ "${{ matrix.tag-suffix }}" == "-bookworm" ]; then
|
43
|
+
echo "stable_tag=type=raw,value=stable-bookworm" >> $GITHUB_OUTPUT
|
44
|
+
else
|
45
|
+
echo "stable_tag=" >> $GITHUB_OUTPUT
|
46
|
+
fi
|
47
|
+
else
|
48
|
+
echo "stable_tag=" >> $GITHUB_OUTPUT
|
49
|
+
fi
|
50
|
+
|
35
51
|
- name: Docker meta
|
36
52
|
id: meta
|
37
53
|
uses: docker/metadata-action@v5
|
@@ -44,7 +60,13 @@ jobs:
|
|
44
60
|
tags: |
|
45
61
|
type=semver,pattern={{raw}}${{ matrix.tag-suffix }}
|
46
62
|
type=semver,pattern={{version}}${{ matrix.tag-suffix }}
|
47
|
-
${{
|
63
|
+
${{ steps.stable-tag.outputs.stable_tag }}
|
64
|
+
|
65
|
+
- name: Build metadata
|
66
|
+
run: |
|
67
|
+
echo "Tags: ${{ steps.meta.outputs.tags }}"
|
68
|
+
echo "Is prerelease: ${{ env.is_prerelease }}"
|
69
|
+
echo "Tag suffix: '${{ matrix.tag-suffix }}'"
|
48
70
|
|
49
71
|
- name: Set up QEMU
|
50
72
|
uses: docker/setup-qemu-action@v3
|
@@ -1,6 +1,25 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [Unreleased](https://github.com/schemathesis/schemathesis/compare/v4.0.
|
3
|
+
## [Unreleased](https://github.com/schemathesis/schemathesis/compare/v4.0.8...HEAD) - TBD
|
4
|
+
|
5
|
+
## [4.0.8](https://github.com/schemathesis/schemathesis/compare/v4.0.7...v4.0.8) - 2025-07-12
|
6
|
+
|
7
|
+
### :bug: Fixed
|
8
|
+
|
9
|
+
- Use `utf-8` encoding when generating JUnit reports.
|
10
|
+
- Properly display Schemathesis version in CLI.
|
11
|
+
- Test case metadata containing incorrect info about generated components causing false positive failures in `negative_data_rejection` and `positive_data_acceptance` checks. [#2900](https://github.com/schemathesis/schemathesis/issues/2900)
|
12
|
+
- Negative test cases with invalid query parameters mistakenly becoming positive test cases.
|
13
|
+
|
14
|
+
## [4.0.7](https://github.com/schemathesis/schemathesis/compare/v4.0.6...v4.0.7) - 2025-07-08
|
15
|
+
|
16
|
+
### :rocket: Added
|
17
|
+
|
18
|
+
- Support for `application/yaml` media type.
|
19
|
+
|
20
|
+
### :wrench: Changed
|
21
|
+
|
22
|
+
- Validate schema of YAML response.
|
4
23
|
|
5
24
|
## [4.0.6](https://github.com/schemathesis/schemathesis/compare/v4.0.5...v4.0.6) - 2025-07-07
|
6
25
|
|
@@ -10,7 +29,7 @@
|
|
10
29
|
|
11
30
|
### :wrench: Changed
|
12
31
|
|
13
|
-
- Consider connection error as a failed API probe. [#2935](https://github.com/schemathesis/schemathesis/issues/2935)
|
32
|
+
- Consider connection error as a failed API probe. [#2935](https://github.com/schemathesis/schemathesis/issues/2935)
|
14
33
|
|
15
34
|
## [4.0.5](https://github.com/schemathesis/schemathesis/compare/v4.0.4...v4.0.5) - 2025-07-04
|
16
35
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: schemathesis
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.8
|
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://github.com/schemathesis/schemathesis/blob/master/CHANGELOG.md
|
@@ -5,10 +5,10 @@
|
|
5
5
|
Schemathesis generates three types of data:
|
6
6
|
|
7
7
|
- **Schema examples** from your API documentation
|
8
|
-
- **Valid test data** that follows schema constraints
|
8
|
+
- **Valid test data** that follows schema constraints
|
9
9
|
- **Invalid test data** that deliberately breaks constraints
|
10
10
|
|
11
|
-
The data covers all JSON Schema types for OpenAPI and valid queries for GraphQL.
|
11
|
+
The data covers all JSON Schema types for OpenAPI and valid queries for GraphQL.
|
12
12
|
|
13
13
|
Note, that some generated data may be rejected by your API if the validation rules are not expressed in your schema.
|
14
14
|
|
@@ -16,22 +16,27 @@ Note, that some generated data may be rejected by your API if the validation rul
|
|
16
16
|
|
17
17
|
Schemathesis identifies problems in three main categories:
|
18
18
|
|
19
|
-
**
|
19
|
+
**Schema Compliance Issues**
|
20
20
|
|
21
|
-
-
|
21
|
+
- Response bodies not matching schemas
|
22
22
|
- Undocumented status codes
|
23
|
-
- Missing
|
23
|
+
- Missing required headers
|
24
|
+
- Wrong content types
|
24
25
|
|
25
26
|
**Implementation Flaws**
|
26
27
|
|
27
|
-
- Server
|
28
|
-
-
|
28
|
+
- Server crashes (5xx responses)
|
29
|
+
- Accepting invalid data
|
30
|
+
- Rejecting valid data
|
31
|
+
- Allowing missing required headers
|
29
32
|
- Authentication bypasses
|
30
33
|
|
31
34
|
**Stateful Behavior Issues**
|
32
35
|
|
33
|
-
-
|
34
|
-
-
|
36
|
+
- Deleted resources still accessible
|
37
|
+
- Created resources not available
|
38
|
+
|
39
|
+
See more details in the [Checks reference](reference/checks.md).
|
35
40
|
|
36
41
|
## How should I run Schemathesis?
|
37
42
|
|
@@ -0,0 +1,229 @@
|
|
1
|
+
# Checks
|
2
|
+
|
3
|
+
Schemathesis automatically validates API responses using various checks. Each check targets specific aspects of API behavior and its compliance to the specification.
|
4
|
+
|
5
|
+
## Core Response Validation
|
6
|
+
|
7
|
+
These checks validate that API responses conform to your API schema.
|
8
|
+
|
9
|
+
### `not_a_server_error`
|
10
|
+
|
11
|
+
Catches server-side errors and implementation issues
|
12
|
+
|
13
|
+
**Examples**
|
14
|
+
|
15
|
+
- `500 Internal Server Error`
|
16
|
+
- `502 Bad Gateway`
|
17
|
+
- GraphQL response with `"errors": [{...}]`
|
18
|
+
|
19
|
+
---
|
20
|
+
|
21
|
+
### `status_code_conformance`
|
22
|
+
|
23
|
+
Verifies response status codes match schema documentation
|
24
|
+
|
25
|
+
**Examples**
|
26
|
+
|
27
|
+
- Schema documents `200, 404` but API returns `403`
|
28
|
+
- Schema documents `201` but API returns `200`
|
29
|
+
|
30
|
+
---
|
31
|
+
|
32
|
+
### `content_type_conformance`
|
33
|
+
|
34
|
+
Validates `Content-Type` header matches schema
|
35
|
+
|
36
|
+
**Examples**
|
37
|
+
|
38
|
+
- Schema specifies `application/json` but API returns `text/html`
|
39
|
+
- Schema specifies `application/xml` but API returns `application/json`
|
40
|
+
|
41
|
+
---
|
42
|
+
|
43
|
+
### `response_headers_conformance`
|
44
|
+
|
45
|
+
Ensures required response headers are present and valid
|
46
|
+
|
47
|
+
**Example**
|
48
|
+
|
49
|
+
Schema specifies response must include `X-RateLimit-Remaining` header:
|
50
|
+
|
51
|
+
```http
|
52
|
+
GET /api/data
|
53
|
+
|
54
|
+
Response: 200 OK
|
55
|
+
Content-Type: application/json
|
56
|
+
# Missing required X-RateLimit-Remaining header ❌
|
57
|
+
|
58
|
+
{"data": [...]}
|
59
|
+
```
|
60
|
+
|
61
|
+
---
|
62
|
+
|
63
|
+
### `response_schema_conformance`
|
64
|
+
|
65
|
+
Validates response body against JSON Schema
|
66
|
+
|
67
|
+
**Example**
|
68
|
+
|
69
|
+
Schema defines user object as:
|
70
|
+
|
71
|
+
```yaml
|
72
|
+
type: object
|
73
|
+
required: [id, name, email]
|
74
|
+
properties:
|
75
|
+
id: {type: integer}
|
76
|
+
name: {type: string}
|
77
|
+
email: {type: string, format: email}
|
78
|
+
```
|
79
|
+
|
80
|
+
But API returns:
|
81
|
+
|
82
|
+
```http
|
83
|
+
GET /users/789
|
84
|
+
|
85
|
+
Response: 200 OK
|
86
|
+
{
|
87
|
+
"id": "789", ❌ Should be integer, not string
|
88
|
+
"name": "Eve" ❌ Missing required 'email' field
|
89
|
+
}
|
90
|
+
```
|
91
|
+
|
92
|
+
## Input Handling Validation
|
93
|
+
|
94
|
+
These checks verify how your API processes different types of request data.
|
95
|
+
|
96
|
+
### `negative_data_rejection`
|
97
|
+
|
98
|
+
Verifies API rejects invalid data with appropriate error responses
|
99
|
+
|
100
|
+
**Example**
|
101
|
+
|
102
|
+
Schema specifies `age` must be an integer:
|
103
|
+
|
104
|
+
```http
|
105
|
+
POST /users
|
106
|
+
Content-Type: application/json
|
107
|
+
|
108
|
+
{"name": "Charlie", "age": "twenty-five"}
|
109
|
+
|
110
|
+
Response: 200 OK ❌ Should return 400 Bad Request
|
111
|
+
{"id": 456, "name": "Charlie", "age": null}
|
112
|
+
```
|
113
|
+
|
114
|
+
---
|
115
|
+
|
116
|
+
### `positive_data_acceptance`
|
117
|
+
|
118
|
+
Verifies API accepts valid request data
|
119
|
+
|
120
|
+
**Example**
|
121
|
+
|
122
|
+
Request perfectly matches schema:
|
123
|
+
|
124
|
+
```http
|
125
|
+
POST /users
|
126
|
+
Content-Type: application/json
|
127
|
+
|
128
|
+
{"name": "Diana", "age": 25, "email": "diana@example.com"}
|
129
|
+
|
130
|
+
Response: 400 Bad Request ❌ Should accept valid data
|
131
|
+
{"error": "Invalid request"}
|
132
|
+
```
|
133
|
+
|
134
|
+
---
|
135
|
+
|
136
|
+
### `missing_required_header`
|
137
|
+
|
138
|
+
Verifies APIs return 4xx for missing required headers
|
139
|
+
|
140
|
+
**Example**
|
141
|
+
|
142
|
+
Schema requires `X-API-Key` header, but:
|
143
|
+
|
144
|
+
```http
|
145
|
+
GET /protected-resource
|
146
|
+
# Missing required X-API-Key header
|
147
|
+
|
148
|
+
Response: 200 OK ❌ Should return 400 Bad Request or 401 Unauthorized
|
149
|
+
```
|
150
|
+
|
151
|
+
---
|
152
|
+
|
153
|
+
### `unsupported_method`
|
154
|
+
|
155
|
+
Verifies APIs return 405 for undocumented HTTP methods
|
156
|
+
|
157
|
+
**Example**
|
158
|
+
|
159
|
+
Schema only documents `GET /users/{id}` and `PUT /users/{id}`, but:
|
160
|
+
|
161
|
+
```http
|
162
|
+
PATCH /users/123
|
163
|
+
Content-Type: application/json
|
164
|
+
|
165
|
+
{"name": "Bob"}
|
166
|
+
|
167
|
+
Response: 200 OK ❌ Should return 405 Method Not Allowed
|
168
|
+
```
|
169
|
+
|
170
|
+
## Stateful Behavior
|
171
|
+
|
172
|
+
These checks test API behavior across sequences of operations.
|
173
|
+
|
174
|
+
### `use_after_free`
|
175
|
+
|
176
|
+
Detects when deleted resources remain accessible
|
177
|
+
|
178
|
+
**Example**
|
179
|
+
|
180
|
+
```http
|
181
|
+
DELETE /users/123
|
182
|
+
|
183
|
+
Response: 204 No Content
|
184
|
+
```
|
185
|
+
|
186
|
+
Then:
|
187
|
+
|
188
|
+
```http
|
189
|
+
GET /users/123
|
190
|
+
|
191
|
+
Response: 200 OK ❌ Should return 404 Not Found
|
192
|
+
```
|
193
|
+
|
194
|
+
---
|
195
|
+
|
196
|
+
### `ensure_resource_availability`
|
197
|
+
|
198
|
+
Verifies created resources are immediately accessible
|
199
|
+
|
200
|
+
**Example**
|
201
|
+
|
202
|
+
```http
|
203
|
+
POST /users
|
204
|
+
Content-Type: application/json
|
205
|
+
|
206
|
+
{"name": "Alice", "email": "alice@example.com"}
|
207
|
+
|
208
|
+
Response: 201 Created
|
209
|
+
Location: /users/123
|
210
|
+
```
|
211
|
+
|
212
|
+
Then immediately:
|
213
|
+
|
214
|
+
```http
|
215
|
+
GET /users/123
|
216
|
+
|
217
|
+
Response: 404 Not Found ❌ Should return the created user
|
218
|
+
```
|
219
|
+
|
220
|
+
## Security
|
221
|
+
|
222
|
+
### `ignored_auth`
|
223
|
+
|
224
|
+
Verifies authentication is properly enforced
|
225
|
+
|
226
|
+
**Example**
|
227
|
+
|
228
|
+
- Endpoint requires authentication but accepts requests without auth headers
|
229
|
+
- Returns `200 OK` instead of `401 Unauthorized`
|
@@ -10,8 +10,6 @@
|
|
10
10
|
| **before\_init\_operation** | `(context, operation: APIOperation) -> None` | Adjust an `APIOperation` before building strategies (e.g., restrict enum choices, set defaults). |
|
11
11
|
| **before\_add\_examples** | `(context, examples: list[Case]) -> None` | Append explicit `Case` instances before the `examples` phase. |
|
12
12
|
|
13
|
-
## Data-Generation Hooks
|
14
|
-
|
15
13
|
## Request-Lifecycle Hooks
|
16
14
|
|
17
15
|
Mutate or inspect the test case and HTTP request flow.
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "schemathesis"
|
7
|
-
version = "4.0.
|
7
|
+
version = "4.0.8"
|
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" }]
|
{schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/cli/commands/run/handlers/junitxml.py
RENAMED
@@ -40,7 +40,7 @@ class JunitXMLHandler(EventHandler):
|
|
40
40
|
test_suites = [
|
41
41
|
TestSuite("schemathesis", test_cases=list(self.test_cases.values()), hostname=platform.node())
|
42
42
|
]
|
43
|
-
with open(self.path, "w") as fd:
|
43
|
+
with open(self.path, "w", encoding="utf-8") as fd:
|
44
44
|
to_xml_report_file(file_descriptor=fd, test_suites=test_suites, prettyprint=True, encoding="utf-8")
|
45
45
|
|
46
46
|
def get_or_create_test_case(self, label: str) -> TestCase:
|
@@ -4,6 +4,9 @@ import re
|
|
4
4
|
from functools import lru_cache
|
5
5
|
from typing import TYPE_CHECKING, Any, BinaryIO, TextIO
|
6
6
|
|
7
|
+
from schemathesis.core import media_types
|
8
|
+
from schemathesis.core.transport import Response
|
9
|
+
|
7
10
|
if TYPE_CHECKING:
|
8
11
|
import yaml
|
9
12
|
|
@@ -63,3 +66,14 @@ def deserialize_yaml(stream: str | bytes | TextIO | BinaryIO) -> Any:
|
|
63
66
|
import yaml
|
64
67
|
|
65
68
|
return yaml.load(stream, get_yaml_loader())
|
69
|
+
|
70
|
+
|
71
|
+
def deserialize_response(response: Response, content_type: str) -> Any:
|
72
|
+
if media_types.is_yaml(content_type):
|
73
|
+
encoding = response.encoding or "utf-8"
|
74
|
+
return deserialize_yaml(response.content.decode(encoding))
|
75
|
+
if media_types.is_json(content_type):
|
76
|
+
return response.json()
|
77
|
+
raise NotImplementedError(
|
78
|
+
f"Unsupported Content-Type: {content_type!r}. Supported types are: application/yaml, application/json."
|
79
|
+
)
|
@@ -55,7 +55,7 @@ def is_json(value: str) -> bool:
|
|
55
55
|
|
56
56
|
def is_yaml(value: str) -> bool:
|
57
57
|
"""Detect whether the content type is YAML-compatible."""
|
58
|
-
return value in ("text/yaml", "text/x-yaml", "application/x-yaml", "text/vnd.yaml")
|
58
|
+
return value in ("text/yaml", "text/x-yaml", "application/x-yaml", "text/vnd.yaml", "application/yaml")
|
59
59
|
|
60
60
|
|
61
61
|
def is_plain_text(value: str) -> bool:
|
@@ -14,7 +14,7 @@ from hypothesis_jsonschema import from_schema
|
|
14
14
|
from requests.structures import CaseInsensitiveDict
|
15
15
|
|
16
16
|
from schemathesis.config import GenerationConfig
|
17
|
-
from schemathesis.core import NOT_SET,
|
17
|
+
from schemathesis.core import NOT_SET, media_types
|
18
18
|
from schemathesis.core.control import SkipTest
|
19
19
|
from schemathesis.core.errors import SERIALIZERS_SUGGESTION_MESSAGE, SerializationNotPossible
|
20
20
|
from schemathesis.core.transforms import deepclone
|
@@ -57,10 +57,10 @@ def openapi_cases(
|
|
57
57
|
hooks: HookDispatcher | None = None,
|
58
58
|
auth_storage: auths.AuthStorage | None = None,
|
59
59
|
generation_mode: GenerationMode = GenerationMode.POSITIVE,
|
60
|
-
path_parameters:
|
61
|
-
headers:
|
62
|
-
cookies:
|
63
|
-
query:
|
60
|
+
path_parameters: dict[str, Any] | None = None,
|
61
|
+
headers: dict[str, Any] | None = None,
|
62
|
+
cookies: dict[str, Any] | None = None,
|
63
|
+
query: dict[str, Any] | None = None,
|
64
64
|
body: Any = NOT_SET,
|
65
65
|
media_type: str | None = None,
|
66
66
|
phase: TestPhase = TestPhase.FUZZING,
|
@@ -220,7 +220,7 @@ def _get_body_strategy(
|
|
220
220
|
|
221
221
|
|
222
222
|
def get_parameters_value(
|
223
|
-
value:
|
223
|
+
value: dict[str, Any] | None,
|
224
224
|
location: str,
|
225
225
|
draw: Callable,
|
226
226
|
operation: APIOperation,
|
@@ -234,7 +234,7 @@ def get_parameters_value(
|
|
234
234
|
If the value is not set, then generate it from the relevant strategy. Otherwise, check what is missing in it and
|
235
235
|
generate those parts.
|
236
236
|
"""
|
237
|
-
if
|
237
|
+
if value is None:
|
238
238
|
strategy = get_parameters_strategy(operation, strategy_factory, location, generation_config)
|
239
239
|
strategy = apply_hooks(operation, ctx, hooks, strategy, location)
|
240
240
|
return draw(strategy)
|
@@ -274,7 +274,7 @@ def any_negated_values(values: list[ValueContainer]) -> bool:
|
|
274
274
|
|
275
275
|
def generate_parameter(
|
276
276
|
location: str,
|
277
|
-
explicit:
|
277
|
+
explicit: dict[str, Any] | None,
|
278
278
|
operation: APIOperation,
|
279
279
|
draw: Callable,
|
280
280
|
ctx: HookContext,
|
{schemathesis-4.0.6 → schemathesis-4.0.8}/src/schemathesis/specs/openapi/negative/mutations.py
RENAMED
@@ -223,6 +223,7 @@ def change_type(context: MutationContext, draw: Draw, schema: Schema) -> Mutatio
|
|
223
223
|
if len(candidates) == 1:
|
224
224
|
new_type = candidates.pop()
|
225
225
|
schema["type"] = new_type
|
226
|
+
_ensure_query_serializes_to_non_empty(context, schema)
|
226
227
|
prevent_unsatisfiable_schema(schema, new_type)
|
227
228
|
return MutationResult.SUCCESS
|
228
229
|
# Choose one type that will be present in the final candidates list
|
@@ -235,10 +236,18 @@ def change_type(context: MutationContext, draw: Draw, schema: Schema) -> Mutatio
|
|
235
236
|
]
|
236
237
|
new_type = draw(st.sampled_from(remaining_candidates))
|
237
238
|
schema["type"] = new_type
|
239
|
+
_ensure_query_serializes_to_non_empty(context, schema)
|
238
240
|
prevent_unsatisfiable_schema(schema, new_type)
|
239
241
|
return MutationResult.SUCCESS
|
240
242
|
|
241
243
|
|
244
|
+
def _ensure_query_serializes_to_non_empty(context: MutationContext, schema: Schema) -> None:
|
245
|
+
if context.is_query_location and schema.get("type") == "array":
|
246
|
+
# Query parameters with empty arrays or arrays of `None` or empty arrays / objects will not appear in the final URL
|
247
|
+
schema["minItems"] = schema.get("minItems") or 1
|
248
|
+
schema.setdefault("items", {}).update({"not": {"enum": [None, [], {}]}})
|
249
|
+
|
250
|
+
|
242
251
|
def _get_type_candidates(context: MutationContext, schema: Schema) -> set[str]:
|
243
252
|
types = set(get_type(schema))
|
244
253
|
if context.is_path_location:
|
@@ -29,7 +29,7 @@ from requests.exceptions import InvalidHeader
|
|
29
29
|
from requests.structures import CaseInsensitiveDict
|
30
30
|
from requests.utils import check_header_validity
|
31
31
|
|
32
|
-
from schemathesis.core import NOT_SET, NotSet, Specification, media_types
|
32
|
+
from schemathesis.core import NOT_SET, NotSet, Specification, deserialization, media_types
|
33
33
|
from schemathesis.core.compat import RefResolutionError
|
34
34
|
from schemathesis.core.errors import InternalError, InvalidSchema, LoaderError, LoaderErrorKind, OperationNotFound
|
35
35
|
from schemathesis.core.failures import Failure, FailureGroup, MalformedJson
|
@@ -617,17 +617,30 @@ class BaseOpenAPISchema(BaseSchema):
|
|
617
617
|
formatted_content_types = [f"\n- `{content_type}`" for content_type in all_media_types]
|
618
618
|
message = f"The following media types are documented in the schema:{''.join(formatted_content_types)}"
|
619
619
|
failures.append(MissingContentType(operation=operation.label, message=message, media_types=all_media_types))
|
620
|
-
|
620
|
+
# Default content type
|
621
|
+
content_type = "application/json"
|
621
622
|
else:
|
622
623
|
content_type = content_types[0]
|
623
|
-
if content_type and not media_types.is_json(content_type):
|
624
|
-
_maybe_raise_one_or_more(failures)
|
625
|
-
return None
|
626
624
|
try:
|
627
|
-
data =
|
625
|
+
data = deserialization.deserialize_response(response, content_type)
|
628
626
|
except JSONDecodeError as exc:
|
629
627
|
failures.append(MalformedJson.from_exception(operation=operation.label, exc=exc))
|
630
628
|
_maybe_raise_one_or_more(failures)
|
629
|
+
return None
|
630
|
+
except NotImplementedError:
|
631
|
+
# If the content type is not supported, we cannot validate it
|
632
|
+
_maybe_raise_one_or_more(failures)
|
633
|
+
return None
|
634
|
+
except Exception as exc:
|
635
|
+
failures.append(
|
636
|
+
Failure(
|
637
|
+
operation=operation.label,
|
638
|
+
title="Content deserialization error",
|
639
|
+
message=f"Failed to deserialize response content:\n\n {exc}",
|
640
|
+
)
|
641
|
+
)
|
642
|
+
_maybe_raise_one_or_more(failures)
|
643
|
+
return None
|
631
644
|
with self._validating_response(scopes) as resolver:
|
632
645
|
try:
|
633
646
|
jsonschema.validate(
|
@@ -24,11 +24,11 @@ Schemathesis dev
|
|
24
24
|
__________________________________ GET /data ___________________________________
|
25
25
|
1. Test Case ID: <PLACEHOLDER>
|
26
26
|
|
27
|
-
-
|
27
|
+
- Content deserialization error
|
28
28
|
|
29
|
-
|
29
|
+
Failed to deserialize response content:
|
30
30
|
|
31
|
-
|
31
|
+
Malformed media type: ``
|
32
32
|
|
33
33
|
[200] OK:
|
34
34
|
|
@@ -53,7 +53,7 @@ Test Phases:
|
|
53
53
|
⏭ Stateful (disabled)
|
54
54
|
|
55
55
|
Failures:
|
56
|
-
❌
|
56
|
+
❌ Content deserialization error: 1
|
57
57
|
|
58
58
|
Test cases:
|
59
59
|
N generated, N found N unique failures
|
@@ -32,8 +32,10 @@ from werkzeug.test import TestResponse
|
|
32
32
|
import schemathesis.cli
|
33
33
|
from schemathesis import auths, hooks
|
34
34
|
from schemathesis.cli.commands.run.executor import CUSTOM_HANDLERS
|
35
|
+
from schemathesis.cli.commands.run.handlers import output
|
35
36
|
from schemathesis.core.hooks import HOOKS_MODULE_ENV_VAR
|
36
37
|
from schemathesis.core.transport import Response
|
38
|
+
from schemathesis.core.version import SCHEMATHESIS_VERSION
|
37
39
|
from schemathesis.specs.openapi import media_types
|
38
40
|
|
39
41
|
from .apps import _graphql as graphql
|
@@ -59,6 +61,8 @@ logging.getLogger("pyrate_limiter").setLevel(logging.CRITICAL)
|
|
59
61
|
# `pytest test -m hypothesis --hypothesis-profile <profile-name>`
|
60
62
|
settings.register_profile("CI", max_examples=2000)
|
61
63
|
|
64
|
+
output.SCHEMATHESIS_VERSION = "dev"
|
65
|
+
|
62
66
|
|
63
67
|
@pytest.fixture(autouse=True)
|
64
68
|
def reset_hooks():
|
@@ -357,6 +361,9 @@ class CliSnapshotConfig:
|
|
357
361
|
data,
|
358
362
|
flags=re.MULTILINE,
|
359
363
|
)
|
364
|
+
version_line = "Schemathesis dev"
|
365
|
+
data = data.replace(f"Schemathesis v{SCHEMATHESIS_VERSION}", version_line)
|
366
|
+
data = re.sub("━+", "━" * len(version_line), data)
|
360
367
|
data = data.replace(str(SITE_PACKAGES), site_packages)
|
361
368
|
data = re.sub(", line [0-9]+,", ", line XXX,", data)
|
362
369
|
data = re.sub(r"Scenarios:.*\d+", r"Scenarios: N", data)
|
@@ -381,6 +381,23 @@ def test_response_schema_conformance_openapi(openapi_30, content, definition, re
|
|
381
381
|
assert case.operation.is_valid_response(response)
|
382
382
|
|
383
383
|
|
384
|
+
def test_response_schema_conformance_yaml(openapi_30, response_factory):
|
385
|
+
content = b"success: true"
|
386
|
+
definition = {
|
387
|
+
"responses": {"default": {"description": "text", "content": {"application/yaml": {"schema": SUCCESS_SCHEMA}}}}
|
388
|
+
}
|
389
|
+
response = Response.from_requests(
|
390
|
+
response_factory.requests(
|
391
|
+
content=content,
|
392
|
+
content_type="application/yaml",
|
393
|
+
),
|
394
|
+
True,
|
395
|
+
)
|
396
|
+
case = make_case(openapi_30, definition)
|
397
|
+
assert response_schema_conformance(CTX, response, case) is None
|
398
|
+
assert case.operation.is_valid_response(response)
|
399
|
+
|
400
|
+
|
384
401
|
def test_response_schema_conformance_openapi_31_boolean(openapi_30, response_factory):
|
385
402
|
response = Response.from_requests(response_factory.requests(content=b'{"success": true}'), True)
|
386
403
|
case = make_case(
|
@@ -14,6 +14,7 @@ from schemathesis.core.failures import Failure, FailureGroup
|
|
14
14
|
from schemathesis.core.transforms import merge_at
|
15
15
|
from schemathesis.core.transport import USER_AGENT, Response
|
16
16
|
from schemathesis.generation import GenerationMode
|
17
|
+
from schemathesis.generation.meta import ComponentKind
|
17
18
|
from schemathesis.schemas import APIOperation
|
18
19
|
from schemathesis.specs.openapi.checks import content_type_conformance, response_schema_conformance
|
19
20
|
from schemathesis.transport.prepare import get_default_headers
|
@@ -255,6 +256,25 @@ def test_call_and_validate(openapi3_schema_url, kwargs):
|
|
255
256
|
test()
|
256
257
|
|
257
258
|
|
259
|
+
@pytest.mark.operations("custom_format")
|
260
|
+
def test_metadata_has_only_relevant_components(openapi3_schema_url):
|
261
|
+
api_schema = schemathesis.openapi.from_url(openapi3_schema_url)
|
262
|
+
|
263
|
+
operation = api_schema["/custom_format"]["GET"]
|
264
|
+
|
265
|
+
@given(
|
266
|
+
case=operation.as_strategy(generation_mode=GenerationMode.POSITIVE)
|
267
|
+
| operation.as_strategy(generation_mode=GenerationMode.NEGATIVE)
|
268
|
+
)
|
269
|
+
@settings(max_examples=10, deadline=None)
|
270
|
+
def test(case):
|
271
|
+
# Metadata should only contain components relevant to the API operation
|
272
|
+
assert len(case.meta.components) == 1
|
273
|
+
assert ComponentKind.QUERY in case.meta.components
|
274
|
+
|
275
|
+
test()
|
276
|
+
|
277
|
+
|
258
278
|
@pytest.mark.operations("success")
|
259
279
|
def test_call_and_validate_for_asgi(fastapi_app):
|
260
280
|
api_schema = schemathesis.openapi.from_dict(fastapi_app.openapi())
|