schemathesis 4.0.3__tar.gz → 4.0.4__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.4}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-4.0.3 → schemathesis-4.0.4}/CHANGELOG.md +12 -1
- {schemathesis-4.0.3 → schemathesis-4.0.4}/PKG-INFO +1 -1
- {schemathesis-4.0.3 → schemathesis-4.0.4}/benches/coverage_phase.py +4 -1
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/reference/configuration.md +1 -1
- {schemathesis-4.0.3 → schemathesis-4.0.4}/pyproject.toml +1 -1
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/errors.py +8 -3
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/stateful/_executor.py +3 -3
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/unit/_executor.py +3 -3
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/coverage.py +27 -7
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/builder.py +14 -6
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +4 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_doc_examples.py +54 -2
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/coverage/test_combinations.py +3 -3
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/coverage/test_phase.py +121 -17
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test-corpus/test_corpus.py +26 -8
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.dockerignore +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/FUNDING.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/dependabot.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/build.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/commit.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/example-build.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/master_update.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/release.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.gitignore +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.pre-commit-config.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.readthedocs.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/.yamllint +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/ARCHITECTURE.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/CITATION.cff +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/CONTRIBUTING.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/Dockerfile +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/Dockerfile.bookworm +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/LICENSE +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/MIGRATION.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/README.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/SECURITY.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/benches/cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/benches/references.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/benches/schema.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/changelog.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/codecov.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/corpus/tools.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/configuration.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/explanations/data-generation.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/explanations/examples.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/explanations/pytest.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/explanations/stateful.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/faq.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/auth.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/cicd.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/config-optimization.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/custom-media-types.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/custom-serializers.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/extending-cli.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/extending.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/graphql-custom-scalars.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/hypothesis-strategies.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/index.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/python-apps.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/schema-conformance.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/stateful-testing.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/guides/targeted.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/index.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/quick-start.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/reference/checks.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/reference/cli.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/reference/hooks.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/reference/python.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/reference/warnings.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/resources.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/stylesheets/extra.css +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/tutorials/cli.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/docs/tutorials/pytest.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/examples/booking/Dockerfile +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/examples/booking/README.md +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/examples/booking/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/examples/booking/docker-compose.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/img/demo.gif +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/mkdocs.yml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/mypy.ini +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/auths.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/data.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/context.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/events.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/executor.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/base.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/cassettes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/junitxml.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/core.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/ext/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/ext/fs.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/ext/groups.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/cli/ext/options.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_auth.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_diff_base.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_env.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_error.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_generation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_health_check.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_operations.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_phases.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_projects.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_rate_limit.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_report.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_validator.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/_warnings.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/config/schema.json +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/compat.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/control.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/curl.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/deserialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/failures.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/fs.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/lazy_import.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/marks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/output/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/output/sanitization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/rate_limit.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/registries.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/result.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/transforms.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/transport.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/core/version.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/context.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/control.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/core.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/events.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/probes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/stateful/context.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/unit/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/phases/unit/_pool.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/engine/recorder.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/case.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/given.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/reporting.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/strategies.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/meta.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/metrics.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/modes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/overrides.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/generation/stateful/state_machine.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/graphql/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/graphql/checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/graphql/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/openapi/checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/openapi/generation/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/openapi/generation/filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/openapi/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/py.typed +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/pytest/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/pytest/control_flow.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/pytest/lazy.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/pytest/loaders.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/pytest/plugin.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/python/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/python/asgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/python/wsgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/patterns.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/stateful/control.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/transport/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/transport/asgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/transport/prepare.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/transport/requests.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/transport/serialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/src/schemathesis/transport/wsgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[default].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-all].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-operation].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[selected].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_many_operations.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_no_2xx.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_no_2xx_options_only.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_unauthorized.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/_pytest/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/_pytest/test_markers.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/cp1252_app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/apps/openapi/schema.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/test_provider.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/auth/test_pytest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_format_parameter_csv_response.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_not_a_server_error.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[None].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses10].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses3].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses4].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses5].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses6].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses7].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses8].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses9].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_app_crash.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/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.4}/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.4}/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.4}/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.4}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/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.4}/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.4}/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.4}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_empty_schema_file.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_exit_first[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/test/cli/__snapshots__/test_commands/test_filter_case_sensitivity[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_during_schema_loading.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_long_operation_output.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/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.4}/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.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_partial_response.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/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.4}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_reserved_characters_in_operation_name.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 2.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_skip_not_negated_tests[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_skipped_on_no_explicit_examples.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_stateful_crash.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/__snapshots__/test_hooks/test_after_call[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/cert.pem +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_cassettes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_commands.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_crashes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_junitxml.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_options.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_targeted.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/cli/test_validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/code_samples/test_curl.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[null_byte].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_duplicate_filter].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_expression].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_regex].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_missing_includes].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[syntactic_error].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[unknown_property].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.generation-mode-negative].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic-non-latin1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-headers].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check-close-match].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-placeholder].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-project].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-rate-limit].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout-negative].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-tls-verify].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.root].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.warnings-off].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.warnings-on].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.warnings-selection].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.basic].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.complex_many].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.missing_config_options].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.warnings-off].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.warnings-on].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[parameters.basic].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[parameters.mixed].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[parameters.with_locations].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.all_enabled].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.incorrect_section_type].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types_in_vcr].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.invalid_format_names].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.one_enabled].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.unknown_keyword_vcr].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.unknown_keywords].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.with_env_var].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_in_path].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_missing].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_environment_ap].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_disable_globally_conte].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_enabled_false_only_che].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_max_response_time_2_0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_positive_data_acceptan].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_response_schema_confor].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[client_certificate_with_bundl].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[color_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[continue_on_failure_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[default_auth_for_most_operati].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[default_fast_testing_generati].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[default_timeout_request_timeo].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[disable_all_warnings_warnings].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[enable_specific_warnings_only].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_allow_x00_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_codec_ascii].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_memory].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_schemathe].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_deterministic_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_exclude_header_cha].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_graphql_allow_null].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_1000].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_200].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_50].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_maximize_response].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_mode_negative].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_no_shrink_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_unique_inputs_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_with_security_para].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[global_defaults_generation_ma].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[global_hooks_for_all_projects].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[global_parameters_parameters].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[headers_authorization_bearer].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/config/__snapshots__/test_doc_examples/test_configs[max_failures_42].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_by_exact_path_incl].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_exclude_path_billi].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_name_post].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_path_billi].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_without_operationi].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[optionally_under_a_named_proj].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_enabled_f].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_keys_to_s].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_replaceme].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_sensitive].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_enabled_fal].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_lines_2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_payload].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_width_1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_checks_not_a].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_enabled_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_generate_dupl].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_unexpected_me].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_examples_fill_missing].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_skip_stateful_testing].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_stateful_max_steps_50].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_http_localhost_8080].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_https_username_password].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_1000_h].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_100_m].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_5_s].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_directory_test_result].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_enabled_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_path_test_repor].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_preserve_bytes_true].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_0_5].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_30_0_30_secon].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_5_0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[run_more_tests_for_better_cov].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[seed_42].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[set_certificate_and_separate].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[suppress_health_check_too_slo].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_false].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_path_to_ca_bundle].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[wait_for_schema_5_0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[workers_4_use_exactly_4_worke].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_multi_project/test_disable_operations[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_multi_project/test_disable_phases[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/__snapshots__/test_phase_config/test_phase_configuration[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/generation-mode-negative.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-auth-basic-non-latin1.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-auth-basic.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-headers.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-health-check-close-match.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-health-check.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-placeholder.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-project.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-rate-limit.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-request-timeout-negative.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-request-timeout.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/incorrect-tls-verify.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/root.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/warnings-off.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/warnings-on.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/common/warnings-selection.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/operations/basic.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/operations/complex_many.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/operations/missing_config_options.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/operations/warnings-off.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/operations/warnings-on.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/parameters/basic.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/parameters/mixed.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/parameters/with_locations.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/all_enabled.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/incorrect_section_type.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/incorrect_types.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/incorrect_types_in_vcr.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/invalid_format_names.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/one_enabled.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/unknown_keyword_vcr.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/unknown_keywords.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/with_env_var.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/with_env_var_in_path.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/configs/report/with_env_var_missing.toml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/hooks/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/hooks/error.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/hooks/example.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/hooks/hello.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_config.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_discovery.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_hierarchy.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_merging.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_multi_project.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_phase_config.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/config/test_status_code_validation.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/core/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/core/test_deserialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/core/test_media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/coverage/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/coverage/test_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/engine/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/engine/__snapshots__/test_probes/test_ctrl_c.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/engine/test_checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/engine/test_engine.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/engine/test_errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/engine/test_probes.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/filters/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/filters/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/filters/test_expressions.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/filters/test_matching.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/fixtures/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/fixtures/app_runner.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/fixtures/ctx.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/hooks/test_filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/hooks/test_hooks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/loaders/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/loaders/test_common.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/loaders/test_graphql.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/loaders/test_openapi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/openapi/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/openapi/test_filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/python/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/python/test_case.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/python/test_models.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/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.4}/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.4}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_patterns/test_response_schema_is_not_mutated.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_invalid_parameter_reference.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_body_parameter.raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_link[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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.4}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/test_cli.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/test_engine.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_patterns.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_app.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_asgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_async.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_common_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_converter.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_dereferencing.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_direct_access.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_examples.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_filters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_hypothesis.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_lazy.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_package.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_parameters.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_parametrization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_petstore.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_pytest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_rate_limit.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_recoverable_errors.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_required.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_sanitizing_output.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_schemas.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_serialization.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_stateful.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_unittest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_warnings.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/test_wsgi.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test/utils.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test-corpus/conftest.py +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/test_server.sh +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/tox.ini +0 -0
- {schemathesis-4.0.3 → schemathesis-4.0.4}/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,17 @@
|
|
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.4...HEAD) - TBD
|
4
|
+
|
5
|
+
## [4.0.4](https://github.com/schemathesis/schemathesis/compare/v4.0.3...v4.0.4) - 2025-07-02
|
6
|
+
|
7
|
+
### :wrench: Changed
|
8
|
+
|
9
|
+
- Show cURL commands on network timeouts.
|
10
|
+
|
11
|
+
### :bug: Fixed
|
12
|
+
|
13
|
+
- Empty path parameter in the negative tests. [#2912](https://github.com/schemathesis/schemathesis/issues/2912)
|
14
|
+
- 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
15
|
|
5
16
|
## [4.0.3](https://github.com/schemathesis/schemathesis/compare/v4.0.2...v4.0.3) - 2025-06-30
|
6
17
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: schemathesis
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.4
|
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).with_positive(),
|
9
|
+
CoverageContext(location="body", is_required=True).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.4"
|
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.4}/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,19 +109,22 @@ 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]
|
113
114
|
|
114
|
-
__slots__ = ("location", "generation_modes", "path")
|
115
|
+
__slots__ = ("location", "generation_modes", "is_required", "path")
|
115
116
|
|
116
117
|
def __init__(
|
117
118
|
self,
|
118
119
|
*,
|
119
120
|
location: str,
|
120
121
|
generation_modes: list[GenerationMode] | None = None,
|
122
|
+
is_required: bool,
|
121
123
|
path: list[str | int] | None = None,
|
122
124
|
) -> None:
|
123
125
|
self.location = location
|
124
126
|
self.generation_modes = generation_modes if generation_modes is not None else list(GenerationMode)
|
127
|
+
self.is_required = is_required
|
125
128
|
self.path = path or []
|
126
129
|
|
127
130
|
@contextmanager
|
@@ -140,6 +143,7 @@ class CoverageContext:
|
|
140
143
|
return CoverageContext(
|
141
144
|
location=self.location,
|
142
145
|
generation_modes=[GenerationMode.POSITIVE],
|
146
|
+
is_required=self.is_required,
|
143
147
|
path=self.path,
|
144
148
|
)
|
145
149
|
|
@@ -147,6 +151,7 @@ class CoverageContext:
|
|
147
151
|
return CoverageContext(
|
148
152
|
location=self.location,
|
149
153
|
generation_modes=[GenerationMode.NEGATIVE],
|
154
|
+
is_required=self.is_required,
|
150
155
|
path=self.path,
|
151
156
|
)
|
152
157
|
|
@@ -157,6 +162,16 @@ class CoverageContext:
|
|
157
162
|
return not is_invalid_path_parameter(value)
|
158
163
|
return True
|
159
164
|
|
165
|
+
def leads_to_negative_test_case(self, value: Any) -> bool:
|
166
|
+
if self.location == "query":
|
167
|
+
# Some values will not be serialized into the query string
|
168
|
+
if isinstance(value, list) and not self.is_required:
|
169
|
+
# Optional parameters should be present
|
170
|
+
return any(item not in [{}, []] for item in value)
|
171
|
+
if isinstance(value, dict) and not self.is_required:
|
172
|
+
return bool(value)
|
173
|
+
return True
|
174
|
+
|
160
175
|
def generate_from(self, strategy: st.SearchStrategy) -> Any:
|
161
176
|
return cached_draw(strategy)
|
162
177
|
|
@@ -955,11 +970,13 @@ def _negative_items(ctx: CoverageContext, schema: dict[str, Any] | bool) -> Gene
|
|
955
970
|
"""Arrays not matching the schema."""
|
956
971
|
nctx = ctx.with_negative()
|
957
972
|
for value in cover_schema_iter(nctx, schema):
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
973
|
+
items = [value.value]
|
974
|
+
if ctx.leads_to_negative_test_case(items):
|
975
|
+
yield NegativeValue(
|
976
|
+
items,
|
977
|
+
description=f"Array with invalid items: {value.description}",
|
978
|
+
location=nctx.current_path,
|
979
|
+
)
|
963
980
|
|
964
981
|
|
965
982
|
def _not_matching_pattern(value: str, pattern: re.Pattern) -> bool:
|
@@ -1027,6 +1044,9 @@ def _negative_format(ctx: CoverageContext, schema: dict, format: str) -> Generat
|
|
1027
1044
|
# Hypothesis-jsonschema does not canonicalise it properly right now, which leads to unsatisfiable schema
|
1028
1045
|
without_format = {k: v for k, v in schema.items() if k != "format"}
|
1029
1046
|
without_format.setdefault("type", "string")
|
1047
|
+
if ctx.location == "path":
|
1048
|
+
# Empty path parameters are invalid
|
1049
|
+
without_format["minLength"] = 1
|
1030
1050
|
strategy = from_schema(without_format)
|
1031
1051
|
if format in jsonschema.Draft202012Validator.FORMAT_CHECKER.checkers:
|
1032
1052
|
if format == "hostname":
|
@@ -1060,7 +1080,7 @@ def _negative_type(
|
|
1060
1080
|
strategies["number"] = FLOAT_STRATEGY.filter(_is_non_integer_float)
|
1061
1081
|
for strategy in strategies.values():
|
1062
1082
|
value = ctx.generate_from(strategy)
|
1063
|
-
if seen.insert(value):
|
1083
|
+
if seen.insert(value) and ctx.is_valid_for_location(value):
|
1064
1084
|
yield NegativeValue(value, description="Incorrect type", location=ctx.current_path)
|
1065
1085
|
|
1066
1086
|
|
@@ -474,7 +474,10 @@ def _iter_coverage_cases(
|
|
474
474
|
for value in find_matching_in_responses(responses, parameter.name):
|
475
475
|
schema.setdefault("examples", []).append(value)
|
476
476
|
gen = coverage.cover_schema_iter(
|
477
|
-
coverage.CoverageContext(
|
477
|
+
coverage.CoverageContext(
|
478
|
+
location=location, generation_modes=generation_modes, is_required=parameter.is_required
|
479
|
+
),
|
480
|
+
schema,
|
478
481
|
)
|
479
482
|
value = next(gen, NOT_SET)
|
480
483
|
if isinstance(value, NotSet):
|
@@ -492,7 +495,10 @@ def _iter_coverage_cases(
|
|
492
495
|
if examples:
|
493
496
|
schema.setdefault("examples", []).extend(examples)
|
494
497
|
gen = coverage.cover_schema_iter(
|
495
|
-
coverage.CoverageContext(
|
498
|
+
coverage.CoverageContext(
|
499
|
+
location="body", generation_modes=generation_modes, is_required=body.is_required
|
500
|
+
),
|
501
|
+
schema,
|
496
502
|
)
|
497
503
|
value = next(gen, NOT_SET)
|
498
504
|
if isinstance(value, NotSet):
|
@@ -712,11 +718,13 @@ def _iter_coverage_cases(
|
|
712
718
|
}
|
713
719
|
|
714
720
|
def _yield_negative(
|
715
|
-
subschema: dict[str, Any], _location: str, _container_name: str
|
721
|
+
subschema: dict[str, Any], _location: str, _container_name: str, is_required: bool
|
716
722
|
) -> Generator[Case, None, None]:
|
717
723
|
iterator = iter(
|
718
724
|
coverage.cover_schema_iter(
|
719
|
-
coverage.CoverageContext(
|
725
|
+
coverage.CoverageContext(
|
726
|
+
location=_location, generation_modes=[GenerationMode.NEGATIVE], is_required=is_required
|
727
|
+
),
|
720
728
|
subschema,
|
721
729
|
)
|
722
730
|
)
|
@@ -751,7 +759,7 @@ def _iter_coverage_cases(
|
|
751
759
|
)
|
752
760
|
if GenerationMode.NEGATIVE in generation_modes:
|
753
761
|
subschema = _combination_schema(only_required, required, parameter_set)
|
754
|
-
for case in _yield_negative(subschema, location, container_name):
|
762
|
+
for case in _yield_negative(subschema, location, container_name, is_required=bool(required)):
|
755
763
|
kwargs = _case_to_kwargs(case)
|
756
764
|
if not seen_negative.insert(kwargs):
|
757
765
|
continue
|
@@ -778,7 +786,7 @@ def _iter_coverage_cases(
|
|
778
786
|
)
|
779
787
|
if GenerationMode.NEGATIVE in generation_modes:
|
780
788
|
subschema = _combination_schema(combo, required, parameter_set)
|
781
|
-
for case in _yield_negative(subschema, location, container_name):
|
789
|
+
for case in _yield_negative(subschema, location, container_name, is_required=bool(required)):
|
782
790
|
assert case.meta is not None
|
783
791
|
assert isinstance(case.meta.phase.data, CoveragePhaseData)
|
784
792
|
# Already generated in one of the blocks above
|
@@ -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 ====================================
|
@@ -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 ====================================
|
@@ -4,17 +4,24 @@ from pathlib import Path
|
|
4
4
|
import pytest
|
5
5
|
import yaml
|
6
6
|
|
7
|
+
from schemathesis.checks import CHECKS
|
7
8
|
from schemathesis.config import SchemathesisConfig
|
9
|
+
from schemathesis.config._validator import CONFIG_SCHEMA
|
8
10
|
from schemathesis.core.errors import HookError
|
11
|
+
from schemathesis.core.transforms import resolve_pointer
|
9
12
|
|
10
13
|
ROOT_DIR = Path(__file__).parent.parent.parent
|
11
14
|
DOCS_DIR = ROOT_DIR / "docs"
|
12
15
|
README_FILE = ROOT_DIR / "README.md"
|
13
16
|
|
14
17
|
|
15
|
-
def
|
18
|
+
def read_doc(path: str) -> str:
|
16
19
|
with open(DOCS_DIR / path, encoding="utf-8") as fd:
|
17
|
-
|
20
|
+
return fd.read()
|
21
|
+
|
22
|
+
|
23
|
+
def extract_examples(path: str, format: str = "toml") -> list:
|
24
|
+
markdown = read_doc(path)
|
18
25
|
pattern = re.compile(rf"```{format}(.*?)```", re.DOTALL)
|
19
26
|
return pattern.findall(markdown)
|
20
27
|
|
@@ -74,3 +81,48 @@ def test_yaml_snippets_are_valid(filename: str, snippet: str):
|
|
74
81
|
yaml.safe_load(snippet)
|
75
82
|
except yaml.YAMLError as exc:
|
76
83
|
pytest.fail(f"Invalid YAML in {filename}:\n{exc}")
|
84
|
+
|
85
|
+
|
86
|
+
def _resolve(current):
|
87
|
+
if "$ref" in current:
|
88
|
+
return resolve_pointer(CONFIG_SCHEMA, current["$ref"][1:])
|
89
|
+
return current
|
90
|
+
|
91
|
+
|
92
|
+
def _search_rest(current, variant, title, segment):
|
93
|
+
data = _resolve(current["properties"][variant])
|
94
|
+
rest = title.split(segment, 1)[1].strip(".")
|
95
|
+
for rest_segment in rest.split("."):
|
96
|
+
data = data["properties"][rest_segment]
|
97
|
+
|
98
|
+
|
99
|
+
def test_titles_are_valid():
|
100
|
+
markdown = read_doc("reference/configuration.md")
|
101
|
+
for title in re.findall(r"^####\s+`?([^`\n]+)`?", markdown, re.MULTILINE):
|
102
|
+
current = CONFIG_SCHEMA
|
103
|
+
for segment in title.split("."):
|
104
|
+
current = _resolve(current)
|
105
|
+
if segment.startswith("<"):
|
106
|
+
# Like `<format>`
|
107
|
+
name = segment.strip("<>")
|
108
|
+
if name == "format":
|
109
|
+
variants = ["junit", "har", "vcr"]
|
110
|
+
elif name == "phase":
|
111
|
+
variants = ["examples", "fuzzing", "coverage", "stateful"]
|
112
|
+
elif name == "check":
|
113
|
+
if "expected-statuses" in title:
|
114
|
+
variants = [
|
115
|
+
name
|
116
|
+
for name in CHECKS.get_all_names()
|
117
|
+
if current["properties"][name]["$ref"] == "#/$defs/CheckConfig"
|
118
|
+
]
|
119
|
+
else:
|
120
|
+
variants = CHECKS.get_all_names()
|
121
|
+
else:
|
122
|
+
raise ValueError(f"Unknown segment: {name}")
|
123
|
+
|
124
|
+
for variant in variants:
|
125
|
+
_search_rest(current, variant, title, segment)
|
126
|
+
break
|
127
|
+
else:
|
128
|
+
current = current["properties"][segment]
|
@@ -65,17 +65,17 @@ def assert_not_conform(values: list, schema: dict):
|
|
65
65
|
|
66
66
|
@pytest.fixture
|
67
67
|
def ctx():
|
68
|
-
return CoverageContext(location="query")
|
68
|
+
return CoverageContext(location="query", is_required=True)
|
69
69
|
|
70
70
|
|
71
71
|
@pytest.fixture
|
72
72
|
def pctx():
|
73
|
-
return CoverageContext(location="query", generation_modes=[GenerationMode.POSITIVE])
|
73
|
+
return CoverageContext(location="query", generation_modes=[GenerationMode.POSITIVE], is_required=True)
|
74
74
|
|
75
75
|
|
76
76
|
@pytest.fixture
|
77
77
|
def nctx():
|
78
|
-
return CoverageContext(location="query", generation_modes=[GenerationMode.NEGATIVE])
|
78
|
+
return CoverageContext(location="query", generation_modes=[GenerationMode.NEGATIVE], is_required=True)
|
79
79
|
|
80
80
|
|
81
81
|
@pytest.mark.parametrize(
|
@@ -703,9 +703,6 @@ def test_mixed_type_keyword(ctx):
|
|
703
703
|
{
|
704
704
|
"query": {"key": [ANY]},
|
705
705
|
},
|
706
|
-
{
|
707
|
-
"query": {"key": [{}]},
|
708
|
-
},
|
709
706
|
{
|
710
707
|
"query": {"key": [["null", "null"]]},
|
711
708
|
},
|
@@ -1646,7 +1643,120 @@ def test_query_parameters_dont_exceed_max_length(ctx):
|
|
1646
1643
|
)
|
1647
1644
|
|
1648
1645
|
|
1649
|
-
def
|
1646
|
+
def foo_id(value):
|
1647
|
+
return {
|
1648
|
+
"path_parameters": {
|
1649
|
+
"foo_id": value,
|
1650
|
+
},
|
1651
|
+
}
|
1652
|
+
|
1653
|
+
|
1654
|
+
@pytest.mark.parametrize(
|
1655
|
+
["schema", "expected"],
|
1656
|
+
[
|
1657
|
+
(
|
1658
|
+
{
|
1659
|
+
"type": "integer",
|
1660
|
+
},
|
1661
|
+
[
|
1662
|
+
foo_id({}),
|
1663
|
+
foo_id("null,null"),
|
1664
|
+
foo_id("null"),
|
1665
|
+
foo_id("false"),
|
1666
|
+
],
|
1667
|
+
),
|
1668
|
+
(
|
1669
|
+
{"type": "string", "format": "date-time"},
|
1670
|
+
[
|
1671
|
+
foo_id("0"),
|
1672
|
+
foo_id({}),
|
1673
|
+
foo_id("null,null"),
|
1674
|
+
foo_id("null"),
|
1675
|
+
foo_id("false"),
|
1676
|
+
],
|
1677
|
+
),
|
1678
|
+
],
|
1679
|
+
)
|
1680
|
+
def test_path_parameters_always_present(ctx, schema, expected):
|
1681
|
+
schema = ctx.openapi.build_schema(
|
1682
|
+
{
|
1683
|
+
"/foo/{foo_id}": {
|
1684
|
+
"post": {
|
1685
|
+
"parameters": [
|
1686
|
+
{
|
1687
|
+
"name": "foo_id",
|
1688
|
+
"in": "path",
|
1689
|
+
"required": True,
|
1690
|
+
"schema": schema,
|
1691
|
+
},
|
1692
|
+
],
|
1693
|
+
"responses": {"default": {"description": "OK"}},
|
1694
|
+
}
|
1695
|
+
},
|
1696
|
+
}
|
1697
|
+
)
|
1698
|
+
assert_coverage(
|
1699
|
+
schema,
|
1700
|
+
[GenerationMode.NEGATIVE],
|
1701
|
+
expected,
|
1702
|
+
("/foo/{foo_id}", "post"),
|
1703
|
+
)
|
1704
|
+
|
1705
|
+
|
1706
|
+
@pytest.mark.parametrize(
|
1707
|
+
["schema", "required", "expected"],
|
1708
|
+
[
|
1709
|
+
[
|
1710
|
+
{
|
1711
|
+
"type": "string",
|
1712
|
+
"enum": ["foo", "bar", "spam"],
|
1713
|
+
"example": "spam",
|
1714
|
+
},
|
1715
|
+
False,
|
1716
|
+
[
|
1717
|
+
"http://127.0.0.1/foo?q=0&q=0",
|
1718
|
+
ANY,
|
1719
|
+
"http://127.0.0.1/foo?q=",
|
1720
|
+
"http://127.0.0.1/foo?q=null&q=null",
|
1721
|
+
"http://127.0.0.1/foo?q=null",
|
1722
|
+
"http://127.0.0.1/foo?q=false",
|
1723
|
+
],
|
1724
|
+
],
|
1725
|
+
[
|
1726
|
+
{"type": "array", "items": {"type": "string"}},
|
1727
|
+
False,
|
1728
|
+
[
|
1729
|
+
"http://127.0.0.1/foo?q=0&q=0",
|
1730
|
+
"http://127.0.0.1/foo?q=null&q=null",
|
1731
|
+
"http://127.0.0.1/foo?q=null",
|
1732
|
+
"http://127.0.0.1/foo?q=false",
|
1733
|
+
"http://127.0.0.1/foo?q=0",
|
1734
|
+
"http://127.0.0.1/foo?q=",
|
1735
|
+
"http://127.0.0.1/foo?q=",
|
1736
|
+
"http://127.0.0.1/foo?q=null",
|
1737
|
+
"http://127.0.0.1/foo?q=false",
|
1738
|
+
],
|
1739
|
+
],
|
1740
|
+
[
|
1741
|
+
{"type": "array", "items": {"type": "string"}},
|
1742
|
+
True,
|
1743
|
+
[
|
1744
|
+
"http://127.0.0.1/foo",
|
1745
|
+
"http://127.0.0.1/foo?q=0&q=0",
|
1746
|
+
"http://127.0.0.1/foo",
|
1747
|
+
"http://127.0.0.1/foo?q=null&q=null",
|
1748
|
+
"http://127.0.0.1/foo?q=null",
|
1749
|
+
"http://127.0.0.1/foo?q=false",
|
1750
|
+
"http://127.0.0.1/foo?q=0",
|
1751
|
+
"http://127.0.0.1/foo?q=",
|
1752
|
+
"http://127.0.0.1/foo?q=",
|
1753
|
+
"http://127.0.0.1/foo?q=null",
|
1754
|
+
"http://127.0.0.1/foo?q=false",
|
1755
|
+
],
|
1756
|
+
],
|
1757
|
+
],
|
1758
|
+
)
|
1759
|
+
def test_negative_query_parameter(ctx, schema, expected, required):
|
1650
1760
|
schema = ctx.openapi.build_schema(
|
1651
1761
|
{
|
1652
1762
|
"/foo": {
|
@@ -1655,11 +1765,8 @@ def test_negative_query_parameter(ctx):
|
|
1655
1765
|
{
|
1656
1766
|
"name": "q",
|
1657
1767
|
"in": "query",
|
1658
|
-
"
|
1659
|
-
|
1660
|
-
"enum": ["foo", "bar", "spam"],
|
1661
|
-
"example": "spam",
|
1662
|
-
},
|
1768
|
+
"required": required,
|
1769
|
+
"schema": schema,
|
1663
1770
|
}
|
1664
1771
|
],
|
1665
1772
|
"responses": {"200": {"description": "OK"}},
|
@@ -1680,6 +1787,10 @@ def test_negative_query_parameter(ctx):
|
|
1680
1787
|
return
|
1681
1788
|
kwargs = case.as_transport_kwargs(base_url="http://127.0.0.1")
|
1682
1789
|
request = Request(**kwargs).prepare()
|
1790
|
+
if not required:
|
1791
|
+
# We generate negative data - optional parameters should appear in the URL, but should be incorrect
|
1792
|
+
# Having it absent makes the case positive
|
1793
|
+
assert "?q=" in request.url
|
1683
1794
|
urls.append(request.url)
|
1684
1795
|
|
1685
1796
|
config = ProjectConfig()
|
@@ -1697,14 +1808,7 @@ def test_negative_query_parameter(ctx):
|
|
1697
1808
|
|
1698
1809
|
test_func()
|
1699
1810
|
|
1700
|
-
assert urls ==
|
1701
|
-
"http://127.0.0.1/foo?q=0&q=0",
|
1702
|
-
ANY,
|
1703
|
-
"http://127.0.0.1/foo?q=",
|
1704
|
-
"http://127.0.0.1/foo?q=null&q=null",
|
1705
|
-
"http://127.0.0.1/foo?q=null",
|
1706
|
-
"http://127.0.0.1/foo?q=false",
|
1707
|
-
]
|
1811
|
+
assert urls == expected
|
1708
1812
|
|
1709
1813
|
|
1710
1814
|
def test_negative_data_rejection(ctx, cli, openapi3_base_url, snapshot_cli):
|