schemathesis 4.0.3__tar.gz → 4.0.5__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.3 → schemathesis-4.0.5}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/CHANGELOG.md +22 -1
- {schemathesis-4.0.3 → schemathesis-4.0.5}/PKG-INFO +1 -1
- {schemathesis-4.0.3 → schemathesis-4.0.5}/benches/coverage_phase.py +4 -1
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/reference/configuration.md +1 -1
- {schemathesis-4.0.3 → schemathesis-4.0.5}/pyproject.toml +1 -1
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/errors.py +8 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/stateful/_executor.py +3 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/unit/_executor.py +3 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/coverage.py +37 -9
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/hypothesis/builder.py +37 -10
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/openapi/checks.py +2 -2
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/_hypothesis.py +4 -8
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/checks.py +2 -2
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +7 -5
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses10].raw +4 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses2].raw +4 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses4].raw +4 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses6].raw +4 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_doc_examples.py +54 -2
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +4 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/coverage/test_combinations.py +14 -3
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/coverage/test_phase.py +656 -760
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_checks.py +1 -1
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test-corpus/test_corpus.py +26 -8
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.dockerignore +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/FUNDING.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/dependabot.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/build.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/commit.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/example-build.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/master_update.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/release.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.gitignore +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.pre-commit-config.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.readthedocs.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/.yamllint +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/ARCHITECTURE.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/CITATION.cff +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/CONTRIBUTING.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/Dockerfile +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/Dockerfile.bookworm +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/LICENSE +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/MIGRATION.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/README.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/SECURITY.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/benches/cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/benches/references.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/benches/schema.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/changelog.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/codecov.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/corpus/tools.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/configuration.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/explanations/data-generation.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/explanations/examples.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/explanations/pytest.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/explanations/stateful.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/faq.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/auth.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/cicd.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/config-optimization.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/custom-media-types.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/custom-serializers.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/extending-cli.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/extending.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/graphql-custom-scalars.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/hypothesis-strategies.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/index.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/python-apps.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/schema-conformance.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/stateful-testing.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/guides/targeted.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/index.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/quick-start.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/reference/checks.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/reference/cli.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/reference/hooks.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/reference/python.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/reference/warnings.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/resources.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/stylesheets/extra.css +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/tutorials/cli.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/docs/tutorials/pytest.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/examples/booking/Dockerfile +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/examples/booking/README.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/examples/booking/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/examples/booking/docker-compose.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/img/demo.gif +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/mkdocs.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/mypy.ini +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/auths.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/data.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/context.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/events.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/executor.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/handlers/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/handlers/base.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/handlers/cassettes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/handlers/junitxml.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/handlers/output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/commands/run/validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/core.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/ext/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/ext/fs.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/ext/groups.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/cli/ext/options.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_auth.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_diff_base.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_env.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_error.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_generation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_health_check.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_operations.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_phases.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_projects.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_rate_limit.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_report.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_validator.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/_warnings.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/config/schema.json +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/compat.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/control.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/curl.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/deserialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/failures.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/fs.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/lazy_import.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/marks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/output/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/output/sanitization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/rate_limit.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/registries.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/result.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/transforms.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/transport.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/core/version.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/context.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/control.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/core.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/events.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/probes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/stateful/context.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/unit/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/unit/_pool.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/recorder.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/case.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/hypothesis/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/hypothesis/examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/hypothesis/given.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/hypothesis/reporting.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/hypothesis/strategies.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/meta.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/metrics.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/modes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/overrides.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/generation/stateful/state_machine.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/graphql/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/graphql/checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/graphql/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/openapi/generation/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/openapi/generation/filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/openapi/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/py.typed +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/pytest/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/pytest/control_flow.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/pytest/lazy.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/pytest/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/pytest/plugin.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/python/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/python/asgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/python/wsgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/patterns.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/stateful/control.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/transport/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/transport/asgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/transport/prepare.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/transport/requests.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/transport/serialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/transport/wsgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[default].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-all].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-operation].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[selected].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_many_operations.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_no_2xx.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_no_2xx_options_only.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/__snapshots__/test_warnings/test_warning_on_unauthorized.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/_pytest/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/_pytest/test_markers.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/cp1252_app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/apps/openapi/schema.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/test_provider.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/auth/test_pytest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_format_parameter_csv_response.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_not_a_server_error.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[None].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses3].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses5].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses7].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses8].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses9].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_app_crash.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/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.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/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.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_cli_run_changed_base_url[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_dont_skip_when_generation_is_possible[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_empty_schema_file.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_exit_first[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_filter_case_sensitivity[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_during_schema_loading.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_long_operation_output.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_partial_response.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/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.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_reserved_characters_in_operation_name.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_skip_not_negated_tests[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_skipped_on_no_explicit_examples.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_stateful_crash.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/__snapshots__/test_hooks/test_after_call[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/cert.pem +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_cassettes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_commands.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_crashes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_junitxml.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_options.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_targeted.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/cli/test_validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/code_samples/test_curl.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_cli/test_incorrect_config[null_byte].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_duplicate_filter].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_expression].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_regex].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_missing_includes].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_cli/test_incorrect_config[syntactic_error].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_cli/test_incorrect_config[unknown_property].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.generation-mode-negative].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic-non-latin1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-headers].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check-close-match].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-placeholder].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-project].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-rate-limit].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout-negative].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.incorrect-tls-verify].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.root].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.warnings-off].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.warnings-on].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[common.warnings-selection].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[operations.basic].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[operations.complex_many].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[operations.missing_config_options].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[operations.warnings-off].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[operations.warnings-on].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[parameters.basic].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[parameters.mixed].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[parameters.with_locations].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.all_enabled].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.incorrect_section_type].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types_in_vcr].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.invalid_format_names].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.one_enabled].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.unknown_keyword_vcr].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.unknown_keywords].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.with_env_var].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_in_path].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_missing].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_api_host_v1_he].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_environment_ap].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[checks_disable_globally_conte].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[checks_enabled_false_only_che].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[checks_max_response_time_2_0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[checks_positive_data_acceptan].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[checks_response_schema_confor].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[client_certificate_with_bundl].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[color_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[continue_on_failure_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[default_auth_for_most_operati].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[default_fast_testing_generati].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[default_timeout_request_timeo].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[disable_all_warnings_warnings].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[enable_specific_warnings_only].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_allow_x00_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_codec_ascii].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_memory].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_schemathe].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_deterministic_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_exclude_header_cha].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_graphql_allow_null].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_1000].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_200].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_50].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_maximize_response].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_mode_negative].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_no_shrink_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_unique_inputs_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[generation_with_security_para].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[global_defaults_generation_ma].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[global_hooks_for_all_projects].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[global_parameters_parameters].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[headers_authorization_bearer].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key_acc].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[max_failures_42].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[operations_by_exact_path_incl].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[operations_exclude_path_billi].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_name_post].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_path_billi].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[operations_without_operationi].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[optionally_under_a_named_proj].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_enabled_f].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_keys_to_s].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_replaceme].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_sensitive].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_enabled_fal].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_lines_2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_payload].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_width_1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_checks_not_a].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_enabled_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_generate_dupl].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_unexpected_me].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[phases_examples_fill_missing].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[phases_skip_stateful_testing].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[phases_stateful_max_steps_50].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_http_localhost_8080].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_https_username_password].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_1000_h].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_100_m].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_5_s].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[reports_directory_test_result].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_enabled_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_path_test_repor].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[reports_preserve_bytes_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_0_5].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_30_0_30_secon].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_5_0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[run_more_tests_for_better_cov].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[seed_42].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[set_certificate_and_separate].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[suppress_health_check_too_slo].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_path_to_ca_bundle].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[wait_for_schema_5_0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_doc_examples/test_configs[workers_4_use_exactly_4_worke].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_multi_project/test_disable_operations[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_multi_project/test_disable_phases[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/__snapshots__/test_phase_config/test_phase_configuration[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/generation-mode-negative.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-auth-basic-non-latin1.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-auth-basic.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-headers.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-health-check-close-match.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-health-check.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-placeholder.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-project.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-rate-limit.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-request-timeout-negative.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-request-timeout.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/incorrect-tls-verify.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/root.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/warnings-off.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/warnings-on.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/common/warnings-selection.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/operations/basic.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/operations/complex_many.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/operations/missing_config_options.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/operations/warnings-off.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/operations/warnings-on.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/parameters/basic.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/parameters/mixed.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/parameters/with_locations.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/all_enabled.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/incorrect_section_type.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/incorrect_types.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/incorrect_types_in_vcr.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/invalid_format_names.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/one_enabled.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/unknown_keyword_vcr.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/unknown_keywords.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/with_env_var.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/with_env_var_in_path.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/configs/report/with_env_var_missing.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/hooks/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/hooks/error.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/hooks/example.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/hooks/hello.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_config.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_discovery.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_hierarchy.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_merging.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_multi_project.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_phase_config.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/config/test_status_code_validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/core/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/core/test_deserialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/core/test_media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/coverage/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/coverage/test_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/engine/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/engine/__snapshots__/test_probes/test_ctrl_c.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/engine/test_checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/engine/test_engine.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/engine/test_errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/engine/test_probes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/filters/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/filters/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/filters/test_expressions.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/filters/test_matching.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/fixtures/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/fixtures/app_runner.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/fixtures/ctx.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/hooks/test_filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/hooks/test_hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/loaders/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/loaders/test_common.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/loaders/test_graphql.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/loaders/test_openapi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/openapi/test_filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/python/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/python/test_case.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/python/test_models.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-200].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-406].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/__snapshots__/test_patterns/test_response_schema_is_not_mutated.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_invalid_parameter_reference.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_body_parameter.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_link[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[User data as plain text].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_not_enough_links[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/test_engine.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_patterns.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_asgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_async.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_common_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_converter.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_dereferencing.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_direct_access.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_hypothesis.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_lazy.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_package.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_parametrization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_petstore.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_pytest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_rate_limit.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_recoverable_errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_required.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_sanitizing_output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_serialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_stateful.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_unittest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_warnings.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/test_wsgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test/utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test-corpus/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/test_server.sh +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/tox.ini +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.5}/typos.toml +0 -0
@@ -38,7 +38,7 @@ jobs:
|
|
38
38
|
|
39
39
|
# Initializes the CodeQL tools for scanning.
|
40
40
|
- name: Initialize CodeQL
|
41
|
-
uses: github/codeql-action/init@v3.29.
|
41
|
+
uses: github/codeql-action/init@v3.29.1
|
42
42
|
with:
|
43
43
|
languages: ${{ matrix.language }}
|
44
44
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
@@ -49,7 +49,7 @@ jobs:
|
|
49
49
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
50
50
|
# If this step fails, then you should remove it and run the build manually (see below)
|
51
51
|
- name: Autobuild
|
52
|
-
uses: github/codeql-action/autobuild@v3.29.
|
52
|
+
uses: github/codeql-action/autobuild@v3.29.1
|
53
53
|
|
54
54
|
# ℹ️ Command-line programs to run using the OS shell.
|
55
55
|
# 📚 https://git.io/JvXDl
|
@@ -63,4 +63,4 @@ jobs:
|
|
63
63
|
# make release
|
64
64
|
|
65
65
|
- name: Perform CodeQL Analysis
|
66
|
-
uses: github/codeql-action/analyze@v3.29.
|
66
|
+
uses: github/codeql-action/analyze@v3.29.1
|
@@ -1,6 +1,27 @@
|
|
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.5...HEAD) - TBD
|
4
|
+
|
5
|
+
## [4.0.5](https://github.com/schemathesis/schemathesis/compare/v4.0.4...v4.0.5) - 2025-07-04
|
6
|
+
|
7
|
+
### :wrench: Changed
|
8
|
+
|
9
|
+
- Improve error messages for `negative_data_rejection` and `positive_data_acceptance` checks.
|
10
|
+
|
11
|
+
### :bug: Fixed
|
12
|
+
|
13
|
+
- Ignoring some string formats during positive test case generation in the coverage phase. [#2930](https://github.com/schemathesis/schemathesis/issues/2930)
|
14
|
+
|
15
|
+
## [4.0.4](https://github.com/schemathesis/schemathesis/compare/v4.0.3...v4.0.4) - 2025-07-02
|
16
|
+
|
17
|
+
### :wrench: Changed
|
18
|
+
|
19
|
+
- Show cURL commands on network timeouts.
|
20
|
+
|
21
|
+
### :bug: Fixed
|
22
|
+
|
23
|
+
- Empty path parameter in the negative tests. [#2912](https://github.com/schemathesis/schemathesis/issues/2912)
|
24
|
+
- Generating negative test cases where query parameters do not appear in the resulting URL making them positive. [#2900](https://github.com/schemathesis/schemathesis/issues/2900)
|
4
25
|
|
5
26
|
## [4.0.3](https://github.com/schemathesis/schemathesis/compare/v4.0.2...v4.0.3) - 2025-06-30
|
6
27
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: schemathesis
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.5
|
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
|
@@ -4,7 +4,10 @@ import pytest
|
|
4
4
|
|
5
5
|
from schemathesis.generation.coverage import CoverageContext, cover_schema_iter
|
6
6
|
|
7
|
-
CONTEXTS = [
|
7
|
+
CONTEXTS = [
|
8
|
+
CoverageContext(location="body", is_required=True, custom_formats={}).with_positive(),
|
9
|
+
CoverageContext(location="body", is_required=True, custom_formats={}).with_negative(),
|
10
|
+
]
|
8
11
|
CONTEXT_NAMES = [",".join([m.value for m in ctx.generation_modes]) for ctx in CONTEXTS]
|
9
12
|
|
10
13
|
BASIC_TYPES = [
|
@@ -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.5"
|
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" }]
|
@@ -421,6 +421,7 @@ def clear_hypothesis_notes(exc: Exception) -> None:
|
|
421
421
|
def is_unrecoverable_network_error(exc: Exception) -> bool:
|
422
422
|
from http.client import RemoteDisconnected
|
423
423
|
|
424
|
+
import requests
|
424
425
|
from urllib3.exceptions import ProtocolError
|
425
426
|
|
426
427
|
def has_connection_reset(inner: BaseException) -> bool:
|
@@ -433,6 +434,8 @@ def is_unrecoverable_network_error(exc: Exception) -> bool:
|
|
433
434
|
|
434
435
|
return False
|
435
436
|
|
437
|
+
if isinstance(exc, requests.Timeout):
|
438
|
+
return True
|
436
439
|
if isinstance(exc.__context__, ProtocolError):
|
437
440
|
if len(exc.__context__.args) == 2 and isinstance(exc.__context__.args[1], RemoteDisconnected):
|
438
441
|
return True
|
@@ -442,14 +445,16 @@ def is_unrecoverable_network_error(exc: Exception) -> bool:
|
|
442
445
|
return has_connection_reset(exc)
|
443
446
|
|
444
447
|
|
445
|
-
@dataclass
|
448
|
+
@dataclass
|
446
449
|
class UnrecoverableNetworkError:
|
447
|
-
error: requests.ConnectionError | ChunkedEncodingError
|
450
|
+
error: requests.ConnectionError | ChunkedEncodingError | requests.Timeout
|
448
451
|
code_sample: str
|
449
452
|
|
450
453
|
__slots__ = ("error", "code_sample")
|
451
454
|
|
452
|
-
def __init__(
|
455
|
+
def __init__(
|
456
|
+
self, error: requests.ConnectionError | ChunkedEncodingError | requests.Timeout, code_sample: str
|
457
|
+
) -> None:
|
453
458
|
self.error = error
|
454
459
|
self.code_sample = code_sample
|
455
460
|
|
{schemathesis-4.0.3 → schemathesis-4.0.5}/src/schemathesis/engine/phases/stateful/_executor.py
RENAMED
@@ -133,9 +133,9 @@ def execute_state_machine_loop(
|
|
133
133
|
ctx.step_failed()
|
134
134
|
raise
|
135
135
|
except Exception as exc:
|
136
|
-
if isinstance(
|
137
|
-
exc
|
138
|
-
):
|
136
|
+
if isinstance(
|
137
|
+
exc, (requests.ConnectionError, ChunkedEncodingError, requests.Timeout)
|
138
|
+
) and is_unrecoverable_network_error(exc):
|
139
139
|
transport_kwargs = engine.get_transport_kwargs(operation=input.case.operation)
|
140
140
|
if exc.request is not None:
|
141
141
|
headers = {key: value[0] for key, value in exc.request.headers.items()}
|
@@ -327,9 +327,9 @@ def cached_test_func(f: Callable) -> Callable:
|
|
327
327
|
except (KeyboardInterrupt, Failure):
|
328
328
|
raise
|
329
329
|
except Exception as exc:
|
330
|
-
if isinstance(
|
331
|
-
exc
|
332
|
-
):
|
330
|
+
if isinstance(
|
331
|
+
exc, (requests.ConnectionError, ChunkedEncodingError, requests.Timeout)
|
332
|
+
) and is_unrecoverable_network_error(exc):
|
333
333
|
# Server likely has crashed and does not accept any connections at all
|
334
334
|
# Don't report these error - only the original crash should be reported
|
335
335
|
if exc.request is not None:
|
@@ -109,20 +109,26 @@ def cached_draw(strategy: st.SearchStrategy) -> Any:
|
|
109
109
|
class CoverageContext:
|
110
110
|
generation_modes: list[GenerationMode]
|
111
111
|
location: str
|
112
|
+
is_required: bool
|
112
113
|
path: list[str | int]
|
114
|
+
custom_formats: dict[str, st.SearchStrategy]
|
113
115
|
|
114
|
-
__slots__ = ("location", "generation_modes", "path")
|
116
|
+
__slots__ = ("location", "generation_modes", "is_required", "path", "custom_formats")
|
115
117
|
|
116
118
|
def __init__(
|
117
119
|
self,
|
118
120
|
*,
|
119
121
|
location: str,
|
120
122
|
generation_modes: list[GenerationMode] | None = None,
|
123
|
+
is_required: bool,
|
121
124
|
path: list[str | int] | None = None,
|
125
|
+
custom_formats: dict[str, st.SearchStrategy],
|
122
126
|
) -> None:
|
123
127
|
self.location = location
|
124
128
|
self.generation_modes = generation_modes if generation_modes is not None else list(GenerationMode)
|
129
|
+
self.is_required = is_required
|
125
130
|
self.path = path or []
|
131
|
+
self.custom_formats = custom_formats
|
126
132
|
|
127
133
|
@contextmanager
|
128
134
|
def at(self, key: str | int) -> Generator[None, None, None]:
|
@@ -140,14 +146,18 @@ class CoverageContext:
|
|
140
146
|
return CoverageContext(
|
141
147
|
location=self.location,
|
142
148
|
generation_modes=[GenerationMode.POSITIVE],
|
149
|
+
is_required=self.is_required,
|
143
150
|
path=self.path,
|
151
|
+
custom_formats=self.custom_formats,
|
144
152
|
)
|
145
153
|
|
146
154
|
def with_negative(self) -> CoverageContext:
|
147
155
|
return CoverageContext(
|
148
156
|
location=self.location,
|
149
157
|
generation_modes=[GenerationMode.NEGATIVE],
|
158
|
+
is_required=self.is_required,
|
150
159
|
path=self.path,
|
160
|
+
custom_formats=self.custom_formats,
|
151
161
|
)
|
152
162
|
|
153
163
|
def is_valid_for_location(self, value: Any) -> bool:
|
@@ -157,6 +167,16 @@ class CoverageContext:
|
|
157
167
|
return not is_invalid_path_parameter(value)
|
158
168
|
return True
|
159
169
|
|
170
|
+
def leads_to_negative_test_case(self, value: Any) -> bool:
|
171
|
+
if self.location == "query":
|
172
|
+
# Some values will not be serialized into the query string
|
173
|
+
if isinstance(value, list) and not self.is_required:
|
174
|
+
# Optional parameters should be present
|
175
|
+
return any(item not in [{}, []] for item in value)
|
176
|
+
if isinstance(value, dict) and not self.is_required:
|
177
|
+
return bool(value)
|
178
|
+
return True
|
179
|
+
|
160
180
|
def generate_from(self, strategy: st.SearchStrategy) -> Any:
|
161
181
|
return cached_draw(strategy)
|
162
182
|
|
@@ -219,7 +239,10 @@ class CoverageContext:
|
|
219
239
|
return cached_draw(
|
220
240
|
st.lists(
|
221
241
|
st.fixed_dictionaries(
|
222
|
-
{
|
242
|
+
{
|
243
|
+
key: from_schema(sub_schema, custom_formats=self.custom_formats)
|
244
|
+
for key, sub_schema in items["properties"].items()
|
245
|
+
}
|
223
246
|
),
|
224
247
|
min_size=min_items,
|
225
248
|
)
|
@@ -230,7 +253,7 @@ class CoverageContext:
|
|
230
253
|
if isinstance(schema, dict) and "allOf" not in schema:
|
231
254
|
return self.generate_from_schema(schema)
|
232
255
|
|
233
|
-
return self.generate_from(from_schema(schema))
|
256
|
+
return self.generate_from(from_schema(schema, custom_formats=self.custom_formats))
|
234
257
|
|
235
258
|
|
236
259
|
T = TypeVar("T")
|
@@ -955,11 +978,13 @@ def _negative_items(ctx: CoverageContext, schema: dict[str, Any] | bool) -> Gene
|
|
955
978
|
"""Arrays not matching the schema."""
|
956
979
|
nctx = ctx.with_negative()
|
957
980
|
for value in cover_schema_iter(nctx, schema):
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
981
|
+
items = [value.value]
|
982
|
+
if ctx.leads_to_negative_test_case(items):
|
983
|
+
yield NegativeValue(
|
984
|
+
items,
|
985
|
+
description=f"Array with invalid items: {value.description}",
|
986
|
+
location=nctx.current_path,
|
987
|
+
)
|
963
988
|
|
964
989
|
|
965
990
|
def _not_matching_pattern(value: str, pattern: re.Pattern) -> bool:
|
@@ -1027,6 +1052,9 @@ def _negative_format(ctx: CoverageContext, schema: dict, format: str) -> Generat
|
|
1027
1052
|
# Hypothesis-jsonschema does not canonicalise it properly right now, which leads to unsatisfiable schema
|
1028
1053
|
without_format = {k: v for k, v in schema.items() if k != "format"}
|
1029
1054
|
without_format.setdefault("type", "string")
|
1055
|
+
if ctx.location == "path":
|
1056
|
+
# Empty path parameters are invalid
|
1057
|
+
without_format["minLength"] = 1
|
1030
1058
|
strategy = from_schema(without_format)
|
1031
1059
|
if format in jsonschema.Draft202012Validator.FORMAT_CHECKER.checkers:
|
1032
1060
|
if format == "hostname":
|
@@ -1060,7 +1088,7 @@ def _negative_type(
|
|
1060
1088
|
strategies["number"] = FLOAT_STRATEGY.filter(_is_non_integer_float)
|
1061
1089
|
for strategy in strategies.values():
|
1062
1090
|
value = ctx.generate_from(strategy)
|
1063
|
-
if seen.insert(value):
|
1091
|
+
if seen.insert(value) and ctx.is_valid_for_location(value):
|
1064
1092
|
yield NegativeValue(value, description="Incorrect type", location=ctx.current_path)
|
1065
1093
|
|
1066
1094
|
|
@@ -18,7 +18,7 @@ from requests.models import CaseInsensitiveDict
|
|
18
18
|
|
19
19
|
from schemathesis import auths
|
20
20
|
from schemathesis.auths import AuthStorage, AuthStorageMark
|
21
|
-
from schemathesis.config import ProjectConfig
|
21
|
+
from schemathesis.config import GenerationConfig, ProjectConfig
|
22
22
|
from schemathesis.core import NOT_SET, NotSet, SpecificationFeature, media_types
|
23
23
|
from schemathesis.core.errors import InvalidSchema, SerializationNotPossible
|
24
24
|
from schemathesis.core.marks import Mark
|
@@ -183,6 +183,7 @@ def create_test(
|
|
183
183
|
config.as_strategy_kwargs,
|
184
184
|
generate_duplicate_query_parameters=phases_config.coverage.generate_duplicate_query_parameters,
|
185
185
|
unexpected_methods=phases_config.coverage.unexpected_methods,
|
186
|
+
generation_config=generation,
|
186
187
|
)
|
187
188
|
|
188
189
|
setattr(hypothesis_test, SETTINGS_ATTRIBUTE_NAME, settings)
|
@@ -295,7 +296,8 @@ def add_coverage(
|
|
295
296
|
auth_storage: AuthStorage | None,
|
296
297
|
as_strategy_kwargs: dict[str, Any],
|
297
298
|
generate_duplicate_query_parameters: bool,
|
298
|
-
unexpected_methods: set[str]
|
299
|
+
unexpected_methods: set[str],
|
300
|
+
generation_config: GenerationConfig,
|
299
301
|
) -> Callable:
|
300
302
|
from schemathesis.specs.openapi.constants import LOCATION_TO_CONTAINER
|
301
303
|
|
@@ -309,7 +311,11 @@ def add_coverage(
|
|
309
311
|
if container in as_strategy_kwargs
|
310
312
|
}
|
311
313
|
for case in _iter_coverage_cases(
|
312
|
-
operation,
|
314
|
+
operation=operation,
|
315
|
+
generation_modes=generation_modes,
|
316
|
+
generate_duplicate_query_parameters=generate_duplicate_query_parameters,
|
317
|
+
unexpected_methods=unexpected_methods,
|
318
|
+
generation_config=generation_config,
|
313
319
|
):
|
314
320
|
if case.media_type and operation.schema.transport.get_first_matching_media_type(case.media_type) is None:
|
315
321
|
continue
|
@@ -446,11 +452,14 @@ def _stringify_value(val: Any, container_name: str) -> Any:
|
|
446
452
|
|
447
453
|
|
448
454
|
def _iter_coverage_cases(
|
455
|
+
*,
|
449
456
|
operation: APIOperation,
|
450
457
|
generation_modes: list[GenerationMode],
|
451
458
|
generate_duplicate_query_parameters: bool,
|
452
|
-
unexpected_methods: set[str]
|
459
|
+
unexpected_methods: set[str],
|
460
|
+
generation_config: GenerationConfig,
|
453
461
|
) -> Generator[Case, None, None]:
|
462
|
+
from schemathesis.specs.openapi._hypothesis import _build_custom_formats
|
454
463
|
from schemathesis.specs.openapi.constants import LOCATION_TO_CONTAINER
|
455
464
|
from schemathesis.specs.openapi.examples import find_in_responses, find_matching_in_responses
|
456
465
|
from schemathesis.specs.openapi.serialization import get_serializers_for_operation
|
@@ -463,6 +472,7 @@ def _iter_coverage_cases(
|
|
463
472
|
responses = find_in_responses(operation)
|
464
473
|
# NOTE: The HEAD method is excluded
|
465
474
|
unexpected_methods = unexpected_methods or {"get", "put", "post", "delete", "options", "patch", "trace"}
|
475
|
+
custom_formats = _build_custom_formats(generation_config)
|
466
476
|
|
467
477
|
seen_negative = coverage.HashSet()
|
468
478
|
seen_positive = coverage.HashSet()
|
@@ -474,7 +484,13 @@ def _iter_coverage_cases(
|
|
474
484
|
for value in find_matching_in_responses(responses, parameter.name):
|
475
485
|
schema.setdefault("examples", []).append(value)
|
476
486
|
gen = coverage.cover_schema_iter(
|
477
|
-
coverage.CoverageContext(
|
487
|
+
coverage.CoverageContext(
|
488
|
+
location=location,
|
489
|
+
generation_modes=generation_modes,
|
490
|
+
is_required=parameter.is_required,
|
491
|
+
custom_formats=custom_formats,
|
492
|
+
),
|
493
|
+
schema,
|
478
494
|
)
|
479
495
|
value = next(gen, NOT_SET)
|
480
496
|
if isinstance(value, NotSet):
|
@@ -492,7 +508,13 @@ def _iter_coverage_cases(
|
|
492
508
|
if examples:
|
493
509
|
schema.setdefault("examples", []).extend(examples)
|
494
510
|
gen = coverage.cover_schema_iter(
|
495
|
-
coverage.CoverageContext(
|
511
|
+
coverage.CoverageContext(
|
512
|
+
location="body",
|
513
|
+
generation_modes=generation_modes,
|
514
|
+
is_required=body.is_required,
|
515
|
+
custom_formats=custom_formats,
|
516
|
+
),
|
517
|
+
schema,
|
496
518
|
)
|
497
519
|
value = next(gen, NOT_SET)
|
498
520
|
if isinstance(value, NotSet):
|
@@ -712,11 +734,16 @@ def _iter_coverage_cases(
|
|
712
734
|
}
|
713
735
|
|
714
736
|
def _yield_negative(
|
715
|
-
subschema: dict[str, Any], _location: str, _container_name: str
|
737
|
+
subschema: dict[str, Any], _location: str, _container_name: str, is_required: bool
|
716
738
|
) -> Generator[Case, None, None]:
|
717
739
|
iterator = iter(
|
718
740
|
coverage.cover_schema_iter(
|
719
|
-
coverage.CoverageContext(
|
741
|
+
coverage.CoverageContext(
|
742
|
+
location=_location,
|
743
|
+
generation_modes=[GenerationMode.NEGATIVE],
|
744
|
+
is_required=is_required,
|
745
|
+
custom_formats=custom_formats,
|
746
|
+
),
|
720
747
|
subschema,
|
721
748
|
)
|
722
749
|
)
|
@@ -751,7 +778,7 @@ def _iter_coverage_cases(
|
|
751
778
|
)
|
752
779
|
if GenerationMode.NEGATIVE in generation_modes:
|
753
780
|
subschema = _combination_schema(only_required, required, parameter_set)
|
754
|
-
for case in _yield_negative(subschema, location, container_name):
|
781
|
+
for case in _yield_negative(subschema, location, container_name, is_required=bool(required)):
|
755
782
|
kwargs = _case_to_kwargs(case)
|
756
783
|
if not seen_negative.insert(kwargs):
|
757
784
|
continue
|
@@ -778,7 +805,7 @@ def _iter_coverage_cases(
|
|
778
805
|
)
|
779
806
|
if GenerationMode.NEGATIVE in generation_modes:
|
780
807
|
subschema = _combination_schema(combo, required, parameter_set)
|
781
|
-
for case in _yield_negative(subschema, location, container_name):
|
808
|
+
for case in _yield_negative(subschema, location, container_name, is_required=bool(required)):
|
782
809
|
assert case.meta is not None
|
783
810
|
assert isinstance(case.meta.phase.data, CoveragePhaseData)
|
784
811
|
# Already generated in one of the blocks above
|
@@ -330,7 +330,7 @@ class AcceptedNegativeData(Failure):
|
|
330
330
|
message: str,
|
331
331
|
status_code: int,
|
332
332
|
expected_statuses: list[str],
|
333
|
-
title: str = "
|
333
|
+
title: str = "API accepted schema-violating request",
|
334
334
|
case_id: str | None = None,
|
335
335
|
) -> None:
|
336
336
|
self.operation = operation
|
@@ -358,7 +358,7 @@ class RejectedPositiveData(Failure):
|
|
358
358
|
message: str,
|
359
359
|
status_code: int,
|
360
360
|
allowed_statuses: list[str],
|
361
|
-
title: str = "
|
361
|
+
title: str = "API rejected schema-compliant request",
|
362
362
|
case_id: str | None = None,
|
363
363
|
) -> None:
|
364
364
|
self.operation = operation
|
@@ -423,10 +423,8 @@ def jsonify_python_specific_types(value: dict[str, Any]) -> dict[str, Any]:
|
|
423
423
|
return value
|
424
424
|
|
425
425
|
|
426
|
-
def _build_custom_formats(
|
427
|
-
custom_formats
|
428
|
-
) -> dict[str, st.SearchStrategy]:
|
429
|
-
custom_formats = {**get_default_format_strategies(), **STRING_FORMATS, **(custom_formats or {})}
|
426
|
+
def _build_custom_formats(generation_config: GenerationConfig) -> dict[str, st.SearchStrategy]:
|
427
|
+
custom_formats = {**get_default_format_strategies(), **STRING_FORMATS}
|
430
428
|
if generation_config.exclude_header_characters is not None:
|
431
429
|
custom_formats[HEADER_FORMAT] = header_values(exclude_characters=generation_config.exclude_header_characters)
|
432
430
|
elif not generation_config.allow_x00:
|
@@ -441,7 +439,6 @@ def make_positive_strategy(
|
|
441
439
|
media_type: str | None,
|
442
440
|
generation_config: GenerationConfig,
|
443
441
|
validator_cls: type[jsonschema.protocols.Validator],
|
444
|
-
custom_formats: dict[str, st.SearchStrategy] | None = None,
|
445
442
|
) -> st.SearchStrategy:
|
446
443
|
"""Strategy for generating values that fit the schema."""
|
447
444
|
if is_header_location(location):
|
@@ -451,7 +448,7 @@ def make_positive_strategy(
|
|
451
448
|
for sub_schema in schema.get("properties", {}).values():
|
452
449
|
if list(sub_schema) == ["type"] and sub_schema["type"] == "string":
|
453
450
|
sub_schema.setdefault("format", HEADER_FORMAT)
|
454
|
-
custom_formats = _build_custom_formats(
|
451
|
+
custom_formats = _build_custom_formats(generation_config)
|
455
452
|
return from_schema(
|
456
453
|
schema,
|
457
454
|
custom_formats=custom_formats,
|
@@ -472,9 +469,8 @@ def make_negative_strategy(
|
|
472
469
|
media_type: str | None,
|
473
470
|
generation_config: GenerationConfig,
|
474
471
|
validator_cls: type[jsonschema.protocols.Validator],
|
475
|
-
custom_formats: dict[str, st.SearchStrategy] | None = None,
|
476
472
|
) -> st.SearchStrategy:
|
477
|
-
custom_formats = _build_custom_formats(
|
473
|
+
custom_formats = _build_custom_formats(generation_config)
|
478
474
|
return negative_schema(
|
479
475
|
schema,
|
480
476
|
operation_name=operation_name,
|
@@ -240,7 +240,7 @@ def negative_data_rejection(ctx: CheckContext, response: Response, case: Case) -
|
|
240
240
|
):
|
241
241
|
raise AcceptedNegativeData(
|
242
242
|
operation=case.operation.label,
|
243
|
-
message=f"
|
243
|
+
message=f"Invalid data should have been rejected\nExpected: {', '.join(config.expected_statuses)}",
|
244
244
|
status_code=response.status_code,
|
245
245
|
expected_statuses=config.expected_statuses,
|
246
246
|
)
|
@@ -264,7 +264,7 @@ def positive_data_acceptance(ctx: CheckContext, response: Response, case: Case)
|
|
264
264
|
if case.meta.generation.mode.is_positive and response.status_code not in allowed_statuses:
|
265
265
|
raise RejectedPositiveData(
|
266
266
|
operation=case.operation.label,
|
267
|
-
message=f"
|
267
|
+
message=f"Valid data should have been accepted\nExpected: {', '.join(config.expected_statuses)}",
|
268
268
|
status_code=response.status_code,
|
269
269
|
allowed_statuses=config.expected_statuses,
|
270
270
|
)
|
@@ -24,9 +24,10 @@ Schemathesis dev
|
|
24
24
|
__________________________________ GET /test ___________________________________
|
25
25
|
1. Test Case ID: <PLACEHOLDER>
|
26
26
|
|
27
|
-
-
|
27
|
+
- API accepted schema-violating request
|
28
28
|
|
29
|
-
|
29
|
+
Invalid data should have been rejected
|
30
|
+
Expected: 400, 401, 403, 404, 422, 428, 5xx
|
30
31
|
|
31
32
|
[406] Not Acceptable:
|
32
33
|
|
@@ -62,9 +63,10 @@ Reproduce with:
|
|
62
63
|
"incorrect": "positive"
|
63
64
|
}
|
64
65
|
|
65
|
-
-
|
66
|
+
- API accepted schema-violating request
|
66
67
|
|
67
|
-
|
68
|
+
Invalid data should have been rejected
|
69
|
+
Expected: 400, 401, 403, 404, 422, 428, 5xx
|
68
70
|
|
69
71
|
[200] OK:
|
70
72
|
|
@@ -89,7 +91,7 @@ Test Phases:
|
|
89
91
|
|
90
92
|
Failures:
|
91
93
|
❌ Response violates schema: 1
|
92
|
-
❌
|
94
|
+
❌ API accepted schema-violating request: 2
|
93
95
|
|
94
96
|
Test cases:
|
95
97
|
N generated, N found N unique failures
|
@@ -32,9 +32,10 @@ Schemathesis dev
|
|
32
32
|
__________________________________ GET /test ___________________________________
|
33
33
|
1. Test Case ID: <PLACEHOLDER>
|
34
34
|
|
35
|
-
-
|
35
|
+
- API rejected schema-compliant request
|
36
36
|
|
37
|
-
|
37
|
+
Valid data should have been accepted
|
38
|
+
Expected: 200, 201, 400, 401
|
38
39
|
|
39
40
|
[404] Not Found:
|
40
41
|
|
@@ -58,7 +59,7 @@ Test Phases:
|
|
58
59
|
⏭ Stateful (not applicable)
|
59
60
|
|
60
61
|
Failures:
|
61
|
-
❌
|
62
|
+
❌ API rejected schema-compliant request: 1
|
62
63
|
|
63
64
|
Test cases:
|
64
65
|
N generated, N found N unique failures, N skipped
|
@@ -32,9 +32,10 @@ Schemathesis dev
|
|
32
32
|
__________________________________ GET /test ___________________________________
|
33
33
|
1. Test Case ID: <PLACEHOLDER>
|
34
34
|
|
35
|
-
-
|
35
|
+
- API rejected schema-compliant request
|
36
36
|
|
37
|
-
|
37
|
+
Valid data should have been accepted
|
38
|
+
Expected: 405
|
38
39
|
|
39
40
|
[404] Not Found:
|
40
41
|
|
@@ -58,7 +59,7 @@ Test Phases:
|
|
58
59
|
⏭ Stateful (not applicable)
|
59
60
|
|
60
61
|
Failures:
|
61
|
-
❌
|
62
|
+
❌ API rejected schema-compliant request: 1
|
62
63
|
|
63
64
|
Test cases:
|
64
65
|
N generated, N found N unique failures, N skipped
|
@@ -32,9 +32,10 @@ Schemathesis dev
|
|
32
32
|
__________________________________ GET /test ___________________________________
|
33
33
|
1. Test Case ID: <PLACEHOLDER>
|
34
34
|
|
35
|
-
-
|
35
|
+
- API rejected schema-compliant request
|
36
36
|
|
37
|
-
|
37
|
+
Valid data should have been accepted
|
38
|
+
Expected: 200
|
38
39
|
|
39
40
|
[404] Not Found:
|
40
41
|
|
@@ -58,7 +59,7 @@ Test Phases:
|
|
58
59
|
⏭ Stateful (not applicable)
|
59
60
|
|
60
61
|
Failures:
|
61
|
-
❌
|
62
|
+
❌ API rejected schema-compliant request: 1
|
62
63
|
|
63
64
|
Test cases:
|
64
65
|
N generated, N found N unique failures, N skipped
|
@@ -32,9 +32,10 @@ Schemathesis dev
|
|
32
32
|
__________________________________ GET /test ___________________________________
|
33
33
|
1. Test Case ID: <PLACEHOLDER>
|
34
34
|
|
35
|
-
-
|
35
|
+
- API rejected schema-compliant request
|
36
36
|
|
37
|
-
|
37
|
+
Valid data should have been accepted
|
38
|
+
Expected: 2xx
|
38
39
|
|
39
40
|
[404] Not Found:
|
40
41
|
|
@@ -58,7 +59,7 @@ Test Phases:
|
|
58
59
|
⏭ Stateful (not applicable)
|
59
60
|
|
60
61
|
Failures:
|
61
|
-
❌
|
62
|
+
❌ API rejected schema-compliant request: 1
|
62
63
|
|
63
64
|
Test cases:
|
64
65
|
N generated, N found N unique failures, N skipped
|
@@ -26,6 +26,10 @@ Network Error
|
|
26
26
|
|
27
27
|
Read timed out after 0.08 seconds
|
28
28
|
|
29
|
+
Reproduce with:
|
30
|
+
|
31
|
+
curl -X GET http://127.0.0.1/api/slow
|
32
|
+
|
29
33
|
Need more help?
|
30
34
|
Join our Discord server: https://discord.gg/R9ASRAmHnA
|
31
35
|
=================================== SUMMARY ====================================
|
@@ -26,6 +26,10 @@ Network Error
|
|
26
26
|
|
27
27
|
Read timed out after 0.08 seconds
|
28
28
|
|
29
|
+
Reproduce with:
|
30
|
+
|
31
|
+
curl -X GET http://127.0.0.1/api/slow
|
32
|
+
|
29
33
|
Need more help?
|
30
34
|
Join our Discord server: https://discord.gg/R9ASRAmHnA
|
31
35
|
=================================== SUMMARY ====================================
|
@@ -26,6 +26,10 @@ Network Error
|
|
26
26
|
|
27
27
|
Read timed out after 0.08 seconds
|
28
28
|
|
29
|
+
Reproduce with:
|
30
|
+
|
31
|
+
curl -X GET http://127.0.0.1/api/slow
|
32
|
+
|
29
33
|
Need more help?
|
30
34
|
Join our Discord server: https://discord.gg/R9ASRAmHnA
|
31
35
|
=================================== SUMMARY ====================================
|