schemathesis 4.0.2__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.2 → schemathesis-4.0.4}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/example-build.yml +1 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.pre-commit-config.yaml +3 -3
- {schemathesis-4.0.2 → schemathesis-4.0.4}/CHANGELOG.md +23 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/PKG-INFO +1 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/SECURITY.md +3 -3
- {schemathesis-4.0.2 → schemathesis-4.0.4}/benches/coverage_phase.py +4 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/reference/configuration.md +1 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/mkdocs.yml +1 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/pyproject.toml +1 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/errors.py +8 -3
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/stateful/_executor.py +3 -3
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/unit/_executor.py +3 -3
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/case.py +12 -6
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/coverage.py +27 -7
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/builder.py +14 -6
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/pytest/plugin.py +22 -14
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/_hypothesis.py +1 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/transport/requests.py +14 -1
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +4 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +4 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +4 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +4 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_doc_examples.py +54 -2
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/coverage/test_combinations.py +3 -3
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/coverage/test_phase.py +121 -17
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_pytest.py +72 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test-corpus/test_corpus.py +26 -8
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.dockerignore +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/FUNDING.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/dependabot.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/build.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/commit.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/master_update.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/release.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.gitignore +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.readthedocs.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/.yamllint +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/ARCHITECTURE.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/CITATION.cff +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/CONTRIBUTING.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/Dockerfile +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/Dockerfile.bookworm +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/LICENSE +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/MIGRATION.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/README.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/benches/cli.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/benches/references.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/benches/schema.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/changelog.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/codecov.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/corpus/tools.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/configuration.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/explanations/data-generation.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/explanations/examples.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/explanations/pytest.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/explanations/stateful.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/faq.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/auth.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/cicd.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/config-optimization.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/custom-media-types.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/custom-serializers.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/extending-cli.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/extending.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/graphql-custom-scalars.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/hypothesis-strategies.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/index.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/python-apps.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/schema-conformance.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/stateful-testing.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/guides/targeted.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/index.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/quick-start.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/reference/checks.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/reference/cli.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/reference/hooks.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/reference/python.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/reference/warnings.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/resources.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/stylesheets/extra.css +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/tutorials/cli.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/docs/tutorials/pytest.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/examples/booking/Dockerfile +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/examples/booking/README.md +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/examples/booking/app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/examples/booking/docker-compose.yml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/img/demo.gif +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/mypy.ini +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/auths.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/data.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/context.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/events.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/executor.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/filters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/base.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/cassettes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/junitxml.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/handlers/output.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/loaders.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/commands/run/validation.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/core.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/ext/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/ext/fs.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/ext/groups.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/cli/ext/options.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_auth.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_diff_base.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_env.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_error.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_generation.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_health_check.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_operations.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_output.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_parameters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_phases.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_projects.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_rate_limit.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_report.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_validator.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/_warnings.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/config/schema.json +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/compat.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/control.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/curl.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/deserialization.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/errors.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/failures.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/fs.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/hooks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/lazy_import.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/loaders.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/marks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/media_types.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/output/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/output/sanitization.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/rate_limit.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/registries.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/result.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/transforms.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/transport.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/validation.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/core/version.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/context.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/control.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/core.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/events.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/probes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/stateful/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/stateful/context.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/unit/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/phases/unit/_pool.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/engine/recorder.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/errors.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/filters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/examples.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/given.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/reporting.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/hypothesis/strategies.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/meta.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/metrics.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/modes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/overrides.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/stateful/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/generation/stateful/state_machine.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/graphql/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/graphql/checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/graphql/loaders.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/hooks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/openapi/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/openapi/checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/openapi/generation/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/openapi/generation/filters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/openapi/loaders.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/py.typed +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/pytest/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/pytest/control_flow.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/pytest/lazy.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/pytest/loaders.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/python/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/python/asgi.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/python/wsgi.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/schemas.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/patterns.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/stateful/control.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/transport/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/transport/asgi.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/transport/prepare.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/transport/serialization.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/src/schemathesis/transport/wsgi.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[default].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-all].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-operation].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[selected].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_many_operations.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_no_2xx.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_no_2xx_options_only.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/__snapshots__/test_warnings/test_warning_on_unauthorized.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/_pytest/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/_pytest/test_markers.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/cp1252_app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/hooks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/apps/openapi/schema.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/conftest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/test_cli.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/test_provider.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/auth/test_pytest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__init__.py +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 2.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_format_parameter_csv_response.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_not_a_server_error.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[None].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses10].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses3].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses4].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses5].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses6].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses7].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses8].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses9].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_app_crash.raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_empty_schema_file.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_exit_first[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_filter_case_sensitivity[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_during_schema_loading.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 2.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_long_operation_output.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_partial_response.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_reserved_characters_in_operation_name.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 2.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 2.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_skip_not_negated_tests[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_skipped_on_no_explicit_examples.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_stateful_crash.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/__snapshots__/test_hooks/test_after_call[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/cert.pem +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_cassettes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_commands.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_crashes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_hooks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_junitxml.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_options.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_targeted.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/cli/test_validation.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/code_samples/test_curl.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[null_byte].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_duplicate_filter].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_expression].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_regex].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_missing_includes].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[syntactic_error].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_cli/test_incorrect_config[unknown_property].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.generation-mode-negative].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic-non-latin1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-headers].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check-close-match].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-placeholder].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-project].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-rate-limit].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout-negative].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.incorrect-tls-verify].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.root].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.warnings-off].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.warnings-on].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[common.warnings-selection].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.basic].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.complex_many].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.missing_config_options].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.warnings-off].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[operations.warnings-on].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[parameters.basic].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[parameters.mixed].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[parameters.with_locations].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.all_enabled].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.incorrect_section_type].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types_in_vcr].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.invalid_format_names].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.one_enabled].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.unknown_keyword_vcr].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.unknown_keywords].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.with_env_var].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_in_path].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_missing].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username1].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_environment_ap].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_disable_globally_conte].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_enabled_false_only_che].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_max_response_time_2_0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_positive_data_acceptan].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[checks_response_schema_confor].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[client_certificate_with_bundl].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[color_false].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[continue_on_failure_true].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[default_auth_for_most_operati].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[default_fast_testing_generati].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[default_timeout_request_timeo].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[disable_all_warnings_warnings].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[enable_specific_warnings_only].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_allow_x00_false].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_codec_ascii].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_memory].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_schemathe].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_deterministic_true].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_exclude_header_cha].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_graphql_allow_null].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_1000].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_200].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_50].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_maximize_response].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_mode_negative].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_no_shrink_true].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_unique_inputs_true].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[generation_with_security_para].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[global_defaults_generation_ma].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[global_hooks_for_all_projects].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[global_parameters_parameters].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[headers_authorization_bearer].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key1].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[max_failures_42].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_by_exact_path_incl].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_exclude_path_billi].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_name_post].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_path_billi].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[operations_without_operationi].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[optionally_under_a_named_proj].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_enabled_f].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_keys_to_s].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_replaceme].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_sensitive].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_enabled_fal].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_lines_2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_payload].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_width_1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_checks_not_a].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_enabled_false].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_generate_dupl].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_unexpected_me].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_examples_fill_missing].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_skip_stateful_testing].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[phases_stateful_max_steps_50].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_http_localhost_8080].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_https_username_password].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_1000_h].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_100_m].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_5_s].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_directory_test_result].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_enabled_true].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_path_test_repor].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[reports_preserve_bytes_true].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_0_5].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_30_0_30_secon].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_5_0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[run_more_tests_for_better_cov].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[seed_42].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[set_certificate_and_separate].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[suppress_health_check_too_slo].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_false].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_path_to_ca_bundle].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[wait_for_schema_5_0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_doc_examples/test_configs[workers_4_use_exactly_4_worke].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_multi_project/test_disable_operations[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_multi_project/test_disable_phases[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/__snapshots__/test_phase_config/test_phase_configuration[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/generation-mode-negative.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-auth-basic-non-latin1.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-auth-basic.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-headers.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-health-check-close-match.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-health-check.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-placeholder.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-project.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-rate-limit.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-request-timeout-negative.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-request-timeout.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/incorrect-tls-verify.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/root.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/warnings-off.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/warnings-on.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/common/warnings-selection.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/operations/basic.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/operations/complex_many.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/operations/missing_config_options.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/operations/warnings-off.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/operations/warnings-on.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/parameters/basic.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/parameters/mixed.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/parameters/with_locations.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/all_enabled.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/incorrect_section_type.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/incorrect_types.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/incorrect_types_in_vcr.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/invalid_format_names.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/one_enabled.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/unknown_keyword_vcr.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/unknown_keywords.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/with_env_var.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/with_env_var_in_path.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/configs/report/with_env_var_missing.toml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/conftest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/hooks/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/hooks/error.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/hooks/example.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/hooks/hello.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_cli.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_config.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_discovery.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_hierarchy.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_hooks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_merging.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_multi_project.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_phase_config.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/config/test_status_code_validation.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/conftest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/core/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/core/test_deserialization.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/core/test_media_types.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/coverage/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/coverage/test_examples.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/engine/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/engine/__snapshots__/test_probes/test_ctrl_c.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/engine/test_checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/engine/test_engine.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/engine/test_errors.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/engine/test_probes.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/filters/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/filters/test_cli.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/filters/test_expressions.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/filters/test_matching.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/fixtures/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/fixtures/app_runner.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/fixtures/ctx.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/hooks/test_filters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/hooks/test_hooks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/loaders/conftest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/loaders/test_common.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/loaders/test_graphql.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/loaders/test_openapi.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/openapi/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/openapi/test_filters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/python/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/python/test_case.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/python/test_models.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-4.0.2 → 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.2 → 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.2 → 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.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/__snapshots__/test_patterns/test_response_schema_is_not_mutated.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_invalid_parameter_reference.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_body_parameter.raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_link[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-4.0.2 → 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.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/test_cli.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/test_engine.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_patterns.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_app.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_asgi.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_async.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_common_parameters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_converter.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_dereferencing.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_direct_access.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_examples.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_filters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_hypothesis.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_lazy.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_output.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_package.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_parameters.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_parametrization.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_petstore.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_rate_limit.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_recoverable_errors.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_required.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_sanitizing_output.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_schemas.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_serialization.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_stateful.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_unittest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_warnings.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/test_wsgi.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test/utils.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test-corpus/conftest.py +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/test_server.sh +0 -0
- {schemathesis-4.0.2 → schemathesis-4.0.4}/tox.ini +0 -0
- {schemathesis-4.0.2 → 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.
|
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.
|
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.
|
66
|
+
uses: github/codeql-action/analyze@v3.29.1
|
@@ -25,7 +25,7 @@ repos:
|
|
25
25
|
- id: yamllint
|
26
26
|
|
27
27
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
28
|
-
rev: v1.16.
|
28
|
+
rev: v1.16.1
|
29
29
|
hooks:
|
30
30
|
- id: mypy
|
31
31
|
exclude: ^(docs/|test/|test-corpus/|example/|benches/).*$
|
@@ -33,11 +33,11 @@ repos:
|
|
33
33
|
additional_dependencies: [types-requests, types-PyYAML]
|
34
34
|
|
35
35
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
36
|
-
rev: v0.
|
36
|
+
rev: v0.12.1
|
37
37
|
hooks:
|
38
38
|
- id: ruff-format
|
39
39
|
|
40
40
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
41
|
-
rev: v0.
|
41
|
+
rev: v0.12.1
|
42
42
|
hooks:
|
43
43
|
- id: ruff-check
|
@@ -1,6 +1,28 @@
|
|
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)
|
15
|
+
|
16
|
+
## [4.0.3](https://github.com/schemathesis/schemathesis/compare/v4.0.2...v4.0.3) - 2025-06-30
|
17
|
+
|
18
|
+
### :wrench: Changed
|
19
|
+
|
20
|
+
- **Pytest**: Cleaner error reporting for Schema-related errors (like unknown media type).
|
21
|
+
|
22
|
+
### :bug: Fixed
|
23
|
+
|
24
|
+
- **Pytest**: Issue where enabling or disabling checks via the config file had no effect.
|
25
|
+
- **Pytest**: Ignored `tls-verify`, `request-timeout`, `request-cert`, and `request-cert-key` options supplied via the config file.
|
4
26
|
|
5
27
|
## [4.0.2](https://github.com/schemathesis/schemathesis/compare/v4.0.1...v4.0.2) - 2025-06-15
|
6
28
|
|
@@ -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
|
@@ -2,12 +2,12 @@
|
|
2
2
|
|
3
3
|
## Supported Versions
|
4
4
|
|
5
|
-
Schemathesis provides security updates only for the latest minor version within the
|
5
|
+
Schemathesis provides security updates only for the latest minor version within the 4.x series.
|
6
6
|
|
7
7
|
| Version | Supported |
|
8
8
|
| ------- | ------------------ |
|
9
|
-
|
|
10
|
-
| <
|
9
|
+
| 4.x | :white_check_mark: |
|
10
|
+
| < 4.0 | :x: |
|
11
11
|
|
12
12
|
## Reporting a Vulnerability
|
13
13
|
|
@@ -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.2 → 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:
|
@@ -244,19 +244,25 @@ class Case:
|
|
244
244
|
|
245
245
|
response = Response.from_any(response)
|
246
246
|
|
247
|
+
config = self.operation.schema.config.checks_config_for(
|
248
|
+
operation=self.operation, phase=self.meta.phase.name.value if self.meta is not None else None
|
249
|
+
)
|
250
|
+
if not checks:
|
251
|
+
# Checks are not specified explicitly, derive from the config
|
252
|
+
checks = []
|
253
|
+
for check in CHECKS.get_all():
|
254
|
+
name = check.__name__
|
255
|
+
if config.get_by_name(name=name).enabled:
|
256
|
+
checks.append(check)
|
247
257
|
checks = [
|
248
|
-
check
|
249
|
-
for check in list(checks or CHECKS.get_all()) + list(additional_checks or [])
|
250
|
-
if check not in set(excluded_checks or [])
|
258
|
+
check for check in list(checks) + list(additional_checks or []) if check not in set(excluded_checks or [])
|
251
259
|
]
|
252
260
|
|
253
261
|
ctx = CheckContext(
|
254
262
|
override=self._override,
|
255
263
|
auth=None,
|
256
264
|
headers=CaseInsensitiveDict(headers) if headers else None,
|
257
|
-
config=
|
258
|
-
operation=self.operation, phase=self.meta.phase.name.value if self.meta is not None else None
|
259
|
-
),
|
265
|
+
config=config,
|
260
266
|
transport_kwargs=transport_kwargs,
|
261
267
|
recorder=None,
|
262
268
|
)
|
@@ -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
|
@@ -20,6 +20,7 @@ from schemathesis.core.errors import (
|
|
20
20
|
InvalidHeadersExample,
|
21
21
|
InvalidRegexPattern,
|
22
22
|
InvalidSchema,
|
23
|
+
SchemathesisError,
|
23
24
|
SerializationNotPossible,
|
24
25
|
format_exception,
|
25
26
|
)
|
@@ -263,20 +264,27 @@ def pytest_pycollect_makeitem(collector: nodes.Collector, name: str, obj: Any) -
|
|
263
264
|
|
264
265
|
@pytest.hookimpl(tryfirst=True) # type: ignore[misc]
|
265
266
|
def pytest_exception_interact(node: Function, call: pytest.CallInfo, report: pytest.TestReport) -> None:
|
266
|
-
if call.excinfo
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
267
|
+
if call.excinfo:
|
268
|
+
if issubclass(call.excinfo.type, SchemathesisError) and hasattr(call.excinfo.value, "__notes__"):
|
269
|
+
# Hypothesis adds quite a lot of additional debug information which is not that helpful in Schemathesis
|
270
|
+
call.excinfo.value.__notes__.clear()
|
271
|
+
report.longrepr = "".join(format_exception(call.excinfo.value))
|
272
|
+
if call.excinfo.type is FailureGroup:
|
273
|
+
tb_entries = list(call.excinfo.traceback)
|
274
|
+
total_frames = len(tb_entries)
|
275
|
+
|
276
|
+
# Keep internal Schemathesis frames + one extra one from the caller
|
277
|
+
skip_frames = 0
|
278
|
+
for i in range(total_frames - 1, -1, -1):
|
279
|
+
entry = tb_entries[i]
|
280
|
+
|
281
|
+
if not str(entry.path).endswith("schemathesis/generation/case.py"):
|
282
|
+
skip_frames = i
|
283
|
+
break
|
284
|
+
|
285
|
+
report.longrepr = "".join(
|
286
|
+
format_exception(call.excinfo.value, with_traceback=True, skip_frames=skip_frames)
|
287
|
+
)
|
280
288
|
|
281
289
|
|
282
290
|
@hookimpl(wrapper=True)
|
@@ -120,7 +120,7 @@ def openapi_cases(
|
|
120
120
|
for media_type in all_media_types
|
121
121
|
):
|
122
122
|
# None of media types defined for this operation are not supported
|
123
|
-
raise SerializationNotPossible.from_media_types(*all_media_types)
|
123
|
+
raise SerializationNotPossible.from_media_types(*all_media_types) from None
|
124
124
|
# Other media types are possible - avoid choosing this media type in the future
|
125
125
|
event_text = f"Can't serialize data to `{parameter.media_type}`."
|
126
126
|
note(f"{event_text} {SERIALIZERS_SUGGESTION_MESSAGE}")
|
@@ -85,6 +85,12 @@ class RequestsTransport(BaseTransport["requests.Session"]):
|
|
85
85
|
def send(self, case: Case, *, session: requests.Session | None = None, **kwargs: Any) -> Response:
|
86
86
|
import requests
|
87
87
|
|
88
|
+
config = case.operation.schema.config
|
89
|
+
|
90
|
+
timeout = config.request_timeout_for(operation=case.operation)
|
91
|
+
verify = config.tls_verify_for(operation=case.operation)
|
92
|
+
cert = config.request_cert_for(operation=case.operation)
|
93
|
+
|
88
94
|
if session is not None and session.headers:
|
89
95
|
# These headers are explicitly provided via config or CLI args.
|
90
96
|
# They have lower priority than ones provided via `kwargs`
|
@@ -94,6 +100,14 @@ class RequestsTransport(BaseTransport["requests.Session"]):
|
|
94
100
|
kwargs["headers"] = headers
|
95
101
|
|
96
102
|
data = self.serialize_case(case, **kwargs)
|
103
|
+
|
104
|
+
if verify is not None:
|
105
|
+
data.setdefault("verify", verify)
|
106
|
+
if timeout is not None:
|
107
|
+
data.setdefault("timeout", timeout)
|
108
|
+
if cert is not None:
|
109
|
+
data.setdefault("cert", cert)
|
110
|
+
|
97
111
|
kwargs.pop("base_url", None)
|
98
112
|
data.update({key: value for key, value in kwargs.items() if key not in data})
|
99
113
|
data.setdefault("timeout", DEFAULT_RESPONSE_TIMEOUT)
|
@@ -119,7 +133,6 @@ class RequestsTransport(BaseTransport["requests.Session"]):
|
|
119
133
|
verify = data.get("verify", True)
|
120
134
|
|
121
135
|
try:
|
122
|
-
config = case.operation.schema.config
|
123
136
|
rate_limit = config.rate_limit_for(operation=case.operation)
|
124
137
|
with ratelimit(rate_limit, config.base_url):
|
125
138
|
response = session.request(**data) # type: ignore
|
@@ -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(
|