schemathesis 4.0.0a5__tar.gz → 4.0.0a7__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.0a5 → schemathesis-4.0.0a7}/.github/workflows/build.yml +0 -11
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/codeql-analysis.yml +3 -3
- schemathesis-4.0.0a7/.github/workflows/docs.yml +30 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.pre-commit-config.yaml +3 -4
- schemathesis-4.0.0a7/ARCHITECTURE.md +83 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/LICENSE +1 -1
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/PKG-INFO +47 -72
- schemathesis-4.0.0a7/README.md +157 -0
- schemathesis-4.0.0a7/docs/advanced/targeted.md +61 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/auth.rst +0 -23
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/changelog.rst +21 -1
- schemathesis-4.0.0a7/docs/ci/github-actions.md +129 -0
- schemathesis-4.0.0a7/docs/ci/gitlab-ci.md +18 -0
- schemathesis-4.0.0a7/docs/ci/overview.md +78 -0
- schemathesis-4.0.0a7/docs/core-concepts.md +12 -0
- schemathesis-4.0.0a7/docs/extending/auth.md +1 -0
- schemathesis-4.0.0a7/docs/extending/checks.md +1 -0
- schemathesis-4.0.0a7/docs/extending/data-generation.md +1 -0
- schemathesis-4.0.0a7/docs/extending/hooks.md +1 -0
- schemathesis-4.0.0a7/docs/extending/overview.md +1 -0
- schemathesis-4.0.0a7/docs/faq.md +98 -0
- schemathesis-4.0.0a7/docs/faq.rst +185 -0
- schemathesis-4.0.0a7/docs/getting-started.md +211 -0
- schemathesis-4.0.0a7/docs/graphql.rst +40 -0
- schemathesis-4.0.0a7/docs/index.md +88 -0
- schemathesis-4.0.0a7/docs/openapi/examples.md +167 -0
- schemathesis-4.0.0a7/docs/recipes.rst +43 -0
- schemathesis-4.0.0a7/docs/reference/checks.md +1 -0
- schemathesis-4.0.0a7/docs/reference/cli.md +602 -0
- schemathesis-4.0.0a7/docs/reference/configuration.md +795 -0
- schemathesis-4.0.0a7/docs/reference/python.md +1 -0
- schemathesis-4.0.0a7/docs/reference/reporting.md +1 -0
- schemathesis-4.0.0a7/docs/resources.md +107 -0
- schemathesis-4.0.0a7/docs/troubleshooting.md +1 -0
- schemathesis-4.0.0a7/docs/using/cli.md +586 -0
- schemathesis-4.0.0a7/docs/using/configuration.md +643 -0
- schemathesis-4.0.0a7/docs/using/python-integration.md +1 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/requirements-app.txt +1 -1
- schemathesis-4.0.0a7/mkdocs.yml +88 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/pyproject.toml +1 -1
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/__init__.py +13 -1
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/handlers/output.py +1 -1
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/validation.py +8 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/__init__.py +1 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/hypothesis/builder.py +14 -4
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/examples.py +37 -20
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/patterns.py +15 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/transport/requests.py +10 -1
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +9 -2
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/coverage/test_phase.py +17 -1
- schemathesis-4.0.0a7/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_examples.py +12 -1
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_patterns.py +2 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_models.py +1 -1
- schemathesis-4.0.0a5/ARCHITECTURE.md +0 -121
- schemathesis-4.0.0a5/README.md +0 -182
- schemathesis-4.0.0a5/docs/additional-content.rst +0 -102
- schemathesis-4.0.0a5/docs/cli.rst +0 -781
- schemathesis-4.0.0a5/docs/continuous_integration.rst +0 -116
- schemathesis-4.0.0a5/docs/contrib.rst +0 -51
- schemathesis-4.0.0a5/docs/examples.rst +0 -82
- schemathesis-4.0.0a5/docs/experimental.rst +0 -154
- schemathesis-4.0.0a5/docs/faq.rst +0 -318
- schemathesis-4.0.0a5/docs/getting-started.rst +0 -83
- schemathesis-4.0.0a5/docs/graphql.rst +0 -91
- schemathesis-4.0.0a5/docs/index.rst +0 -101
- schemathesis-4.0.0a5/docs/recipes.rst +0 -122
- schemathesis-4.0.0a5/docs/service.rst +0 -75
- schemathesis-4.0.0a5/docs/targeted.rst +0 -94
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.dockerignore +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/FUNDING.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/dependabot.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/commit.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/example-build.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/master_update.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/release.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.gitignore +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.readthedocs.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.rstcheck.cfg +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/.yamllint +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/CITATION.cff +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/CONTRIBUTING.rst +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/Dockerfile +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/Dockerfile.bookworm +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/SECURITY.md +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/benches/cli.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/benches/coverage_phase.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/benches/references.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/benches/schema.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/changelog.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/codecov.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/corpus/tools.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/Makefile +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/api.rst +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/conf.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/data-generation.rst +0 -0
- /schemathesis-4.0.0a5/example/tests/__init__.py → /schemathesis-4.0.0a7/docs/extending/metrics.md +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/extending.rst +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/python.rst +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/requirements.txt +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/sanitizing.rst +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/docs/stateful.rst +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/Dockerfile +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/README.md +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/compose.yml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/openapi.json +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/requirements-app.in +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/requirements-pytest.in +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/requirements-pytest.txt +0 -0
- {schemathesis-4.0.0a5/src/schemathesis/cli/ext → schemathesis-4.0.0a7/example/tests}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/tests/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/tests/extensions.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/example/tests/test_app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/img/demo.gif +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/mypy.ini +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/auths.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/checks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/checks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/context.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/events.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/executor.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/filters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/handlers/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/handlers/base.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/handlers/cassettes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/handlers/junitxml.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/hypothesis.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/loaders.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/commands/run/reports.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/core.py +0 -0
- {schemathesis-4.0.0a5/src/schemathesis/openapi/generation → schemathesis-4.0.0a7/src/schemathesis/cli/ext}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/ext/fs.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/ext/groups.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/ext/options.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/cli/hooks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/compat.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/control.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/curl.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/deserialization.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/errors.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/failures.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/fs.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/lazy_import.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/loaders.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/marks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/media_types.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/output/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/output/sanitization.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/rate_limit.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/registries.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/result.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/transforms.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/transport.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/validation.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/core/version.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/config.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/context.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/control.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/core.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/errors.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/events.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/probes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/stateful/_executor.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/stateful/context.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/unit/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/unit/_executor.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/phases/unit/_pool.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/engine/recorder.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/errors.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/filters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/case.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/coverage.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/hypothesis/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/hypothesis/examples.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/hypothesis/given.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/hypothesis/reporting.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/hypothesis/strategies.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/meta.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/modes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/overrides.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/stateful/state_machine.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/generation/targets.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/graphql/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/graphql/checks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/graphql/loaders.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/hooks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/openapi/checks.py +0 -0
- {schemathesis-4.0.0a5/src/schemathesis/python → schemathesis-4.0.0a7/src/schemathesis/openapi/generation}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/openapi/generation/filters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/openapi/loaders.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/py.typed +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/pytest/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/pytest/control_flow.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/pytest/lazy.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/pytest/loaders.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/pytest/plugin.py +0 -0
- {schemathesis-4.0.0a5/src/schemathesis/specs → schemathesis-4.0.0a7/src/schemathesis/python}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/python/asgi.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/python/wsgi.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/schemas.py +0 -0
- {schemathesis-4.0.0a5/src/schemathesis/specs/graphql → schemathesis-4.0.0a7/src/schemathesis/specs}/__init__.py +0 -0
- {schemathesis-4.0.0a5/test → schemathesis-4.0.0a7/src/schemathesis/specs/graphql}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/stateful/control.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/transport/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/transport/asgi.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/transport/prepare.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/transport/serialization.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/src/schemathesis/transport/wsgi.py +0 -0
- {schemathesis-4.0.0a5/test/_pytest → schemathesis-4.0.0a7/test}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5/test/auth → schemathesis-4.0.0a7/test/_pytest}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/_pytest/test_markers.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/cp1252_app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/hooks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/apps/openapi/schema.py +0 -0
- {schemathesis-4.0.0a5/test/cli → schemathesis-4.0.0a7/test/auth}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/test_cli.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/test_provider.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/auth/test_pytest.py +0 -0
- {schemathesis-4.0.0a5/test/core → schemathesis-4.0.0a7/test/cli}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args10].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args3].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args4].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args5].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args6].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args7].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args8].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args9].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/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.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/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.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_cli_run_changed_base_url[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_dont_skip_when_generation_is_possible[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_empty_schema_file.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_exit_first[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_filter_case_sensitivity[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_during_schema_loading.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_long_operation_output.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_reserved_characters_in_operation_name.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_skip_not_negated_tests[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_skipped_on_no_explicit_examples.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_warning_on_all_not_found.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_warning_on_no_2xx.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_warning_on_no_2xx_options_only.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_commands/test_warning_on_unauthorized.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/__snapshots__/test_hooks/test_after_call[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/cert.pem +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_cassettes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_checks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_commands.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_crashes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_hooks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_junitxml.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_options.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_targeted.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/cli/test_validation.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/code_samples/test_curl.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-4.0.0a5/test/coverage → schemathesis-4.0.0a7/test/core}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/core/test_deserialization.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/core/test_media_types.py +0 -0
- {schemathesis-4.0.0a5/test/engine → schemathesis-4.0.0a7/test/coverage}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/coverage/test_combinations.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/coverage/test_examples.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-4.0.0a5/test/filters → schemathesis-4.0.0a7/test/engine}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/engine/test_checks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/engine/test_engine.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/engine/test_errors.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/engine/test_probes.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/engine/test_simulation.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/experimental/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/experimental/test_experiments.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-4.0.0a5/test/fixtures → schemathesis-4.0.0a7/test/filters}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/filters/test_expressions.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/filters/test_matching.py +0 -0
- {schemathesis-4.0.0a5/test/openapi → schemathesis-4.0.0a7/test/fixtures}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/fixtures/app_runner.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/fixtures/ctx.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/hooks/test_filters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/hooks/test_hooks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/loaders/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/loaders/test_common.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/loaders/test_graphql.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/loaders/test_openapi.py +0 -0
- {schemathesis-4.0.0a5/test/specs/openapi/stateful → schemathesis-4.0.0a7/test/openapi}/__init__.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/openapi/test_filters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-200].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-406].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_invalid_parameter_reference.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_body_parameter.raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_link[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[User data as plain text].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_not_enough_links[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/test_cli.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/test_engine.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_app.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_asgi.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_async.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_common_parameters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_converter.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_dereferencing.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_direct_access.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_examples.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_filters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_hypothesis.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_lazy.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_output.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_package.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_parameters.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_parametrization.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_petstore.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_pytest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_rate_limit.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_recoverable_errors.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_required.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_sanitizing_output.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_schemas.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_serialization.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_stateful.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_unittest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/test_wsgi.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test/utils.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test-corpus/conftest.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test-corpus/test_corpus.py +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/test_server.sh +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/tox.ini +0 -0
- {schemathesis-4.0.0a5 → schemathesis-4.0.0a7}/typos.toml +0 -0
@@ -37,17 +37,6 @@ jobs:
|
|
37
37
|
|
38
38
|
- run: uvx pre-commit run --all-files
|
39
39
|
|
40
|
-
docs:
|
41
|
-
name: Documentation
|
42
|
-
runs-on: ubuntu-22.04
|
43
|
-
steps:
|
44
|
-
- uses: actions/checkout@v4.2.1
|
45
|
-
with:
|
46
|
-
fetch-depth: 1
|
47
|
-
- uses: ammaraskar/sphinx-action@8.1.3
|
48
|
-
with:
|
49
|
-
docs-folder: "docs/"
|
50
|
-
|
51
40
|
tests:
|
52
41
|
strategy:
|
53
42
|
matrix:
|
@@ -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.28.
|
41
|
+
uses: github/codeql-action/init@v3.28.10
|
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.28.
|
52
|
+
uses: github/codeql-action/autobuild@v3.28.10
|
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.28.
|
66
|
+
uses: github/codeql-action/analyze@v3.28.10
|
@@ -0,0 +1,30 @@
|
|
1
|
+
name: Docs
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- master
|
6
|
+
|
7
|
+
permissions:
|
8
|
+
contents: write
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
deploy:
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v4
|
15
|
+
- name: Configure Git Credentials
|
16
|
+
run: |
|
17
|
+
git config --local user.email "action@github.com"
|
18
|
+
git config --local user.name "GitHub Action"
|
19
|
+
- uses: actions/setup-python@v5
|
20
|
+
with:
|
21
|
+
python-version: 3.x
|
22
|
+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
23
|
+
- uses: actions/cache@v4
|
24
|
+
with:
|
25
|
+
key: mkdocs-material-${{ env.cache_id }}
|
26
|
+
path: .cache
|
27
|
+
restore-keys: |
|
28
|
+
mkdocs-material-
|
29
|
+
- run: pip install mkdocs-material
|
30
|
+
- run: mkdocs gh-deploy --force
|
@@ -5,7 +5,6 @@ repos:
|
|
5
5
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
6
6
|
rev: v5.0.0
|
7
7
|
hooks:
|
8
|
-
- id: check-yaml
|
9
8
|
- id: end-of-file-fixer
|
10
9
|
- id: trailing-whitespace
|
11
10
|
exclude: ^.*\.(md|rst|raw)$
|
@@ -20,7 +19,7 @@ repos:
|
|
20
19
|
- id: gitlint
|
21
20
|
|
22
21
|
- repo: https://github.com/adrienverge/yamllint
|
23
|
-
rev: v1.
|
22
|
+
rev: v1.36.1
|
24
23
|
hooks:
|
25
24
|
- id: yamllint
|
26
25
|
|
@@ -33,12 +32,12 @@ repos:
|
|
33
32
|
additional_dependencies: [types-requests, types-PyYAML]
|
34
33
|
|
35
34
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
36
|
-
rev: v0.
|
35
|
+
rev: v0.11.0
|
37
36
|
hooks:
|
38
37
|
- id: ruff-format
|
39
38
|
|
40
39
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
41
|
-
rev: v0.
|
40
|
+
rev: v0.11.0
|
42
41
|
hooks:
|
43
42
|
- id: ruff
|
44
43
|
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# Architecture
|
2
|
+
|
3
|
+
This document outlines the internal structure of Schemathesis for developers working on the core codebase.
|
4
|
+
|
5
|
+
## Overview
|
6
|
+
|
7
|
+
- **Core**: Foundation layer with no external dependencies
|
8
|
+
- **Intermediate**: Hypothesis-powered primitives
|
9
|
+
- **Internal subsystems**: Engine, OpenAPI, and GraphQL
|
10
|
+
- **Public API**: Curated interface combining functionality from all layers
|
11
|
+
|
12
|
+
## Core Layer
|
13
|
+
|
14
|
+
Independent utilities that form the foundation of Schemathesis without external dependencies.
|
15
|
+
|
16
|
+
### `core/marks`
|
17
|
+
|
18
|
+
Attaches Schemathesis-specific metadata to test functions, enabling integration with external testing frameworks (Hypothesis, pytest).
|
19
|
+
|
20
|
+
### `core/loaders`
|
21
|
+
|
22
|
+
Schema loading functionality, supporting multiple sources:
|
23
|
+
|
24
|
+
- File-based schemas
|
25
|
+
- HTTP-based schema retrieval
|
26
|
+
|
27
|
+
### `core/transports`
|
28
|
+
|
29
|
+
Network communication primitives for test execution
|
30
|
+
|
31
|
+
- Unified response structure
|
32
|
+
|
33
|
+
### `core/output`
|
34
|
+
|
35
|
+
Output processing utilities:
|
36
|
+
|
37
|
+
- Response formatting
|
38
|
+
- Data sanitization
|
39
|
+
|
40
|
+
## Intermediate Layer
|
41
|
+
|
42
|
+
Building blocks for test generation and execution:
|
43
|
+
|
44
|
+
### `generation/hypothesis`
|
45
|
+
|
46
|
+
Core test generation machinery:
|
47
|
+
|
48
|
+
- Hypothesis test creation
|
49
|
+
- Example generation
|
50
|
+
- Test execution control
|
51
|
+
|
52
|
+
### `generation/case`
|
53
|
+
|
54
|
+
Defines the `Case` class - the fundamental container for test data that flows through the system.
|
55
|
+
|
56
|
+
### `generation/stateful`
|
57
|
+
|
58
|
+
State machine implementations for API sequence testing.
|
59
|
+
|
60
|
+
### `transport`
|
61
|
+
|
62
|
+
Higher-level transport implementations building on core primitives.
|
63
|
+
|
64
|
+
## Internal Subsystems
|
65
|
+
|
66
|
+
### Engine
|
67
|
+
|
68
|
+
- Test execution orchestration
|
69
|
+
- Event system for tracking test progress
|
70
|
+
- Testing phases management
|
71
|
+
|
72
|
+
### API Specifications
|
73
|
+
|
74
|
+
- OpenAPI implementation
|
75
|
+
- GraphQL implementation
|
76
|
+
|
77
|
+
## Public API
|
78
|
+
|
79
|
+
Python API for end users:
|
80
|
+
|
81
|
+
- Re-exports from lower layers
|
82
|
+
- Common extension points
|
83
|
+
- Entry points for running tests
|
@@ -1,7 +1,7 @@
|
|
1
1
|
MIT License
|
2
2
|
|
3
3
|
Copyright (c) 2019 Kiwi.com
|
4
|
-
Copyright (c) 2020-
|
4
|
+
Copyright (c) 2020-2025 Dmitry Dygalo & Schemathesis.io
|
5
5
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: schemathesis
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.0a7
|
4
4
|
Summary: Property-based testing framework for Open API and GraphQL based apps
|
5
5
|
Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
|
6
6
|
Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
|
@@ -117,62 +117,47 @@ Description-Content-Type: text/markdown
|
|
117
117
|
|
118
118
|
## Schemathesis
|
119
119
|
|
120
|
-
|
121
|
-
|
122
|
-
> This branch is under active development, with substantial changes expected before stabilization. While V4 is fully functional and passing tests, some features are missing, and the documentation may be outdated.
|
123
|
-
|
124
|
-
> For the stable release, see the [V3 branch](https://github.com/schemathesis/schemathesis/tree/v3).
|
125
|
-
|
126
|
-
> 💡 Have feedback? Share your thoughts in [this discussion](https://github.com/schemathesis/schemathesis/discussions/2677)!
|
127
|
-
|
128
|
-
Schemathesis is an API testing tool that automatically finds crashes and validates spec compliance.
|
129
|
-
|
130
|
-
<p align="center">
|
131
|
-
<img src="https://raw.githubusercontent.com/schemathesis/schemathesis/master/img/demo.gif" alt="Schemathesis Demo"/>
|
132
|
-
</p>
|
120
|
+
Schemathesis automatically generates and runs API tests from your OpenAPI or GraphQL schema to find bugs and spec violations.
|
133
121
|
|
134
122
|
<p align="center">
|
135
|
-
<
|
123
|
+
<img src="https://raw.githubusercontent.com/schemathesis/schemathesis/master/img/demo.gif" alt="Schemathesis automatically finding a server error"/>
|
124
|
+
<br>
|
125
|
+
<i>Automatically finding specification violations and server errors</i>
|
136
126
|
</p>
|
137
127
|
|
138
|
-
|
139
|
-
|
140
|
-
- 🎯 **Catches Hard-to-Find Bugs**: Automatically uncover crashes and spec violations that manual testing might miss.
|
141
|
-
|
142
|
-
- ⚡ **Accelerates Testing**: Generate a wide range of test cases directly from your API schema.
|
143
|
-
|
144
|
-
- 🧩 **Integrates Seamlessly**: Works with popular API formats such as OpenAPI and GraphQL, and easily integrates into your existing CI/CD workflows.
|
128
|
+
> **Note:** This is the V4 branch under active development. While fully functional and passing tests, some features may be missing, and documentation is being updated. For the stable release, see the [V3 branch](https://github.com/schemathesis/schemathesis/tree/v3).
|
145
129
|
|
146
|
-
|
130
|
+
## Why Schemathesis?
|
147
131
|
|
148
|
-
-
|
149
|
-
|
150
|
-
-
|
132
|
+
- 📑 **Schema-Based Testing** - Transform API documentation into a comprehensive test suite
|
133
|
+
- 🚀 **Zero Configuration** - Begin testing immediately with a valid OpenAPI or GraphQL schema
|
134
|
+
- ⚙️ **CI-Ready** - Integrate API testing into existing pipelines without complex configuration
|
135
|
+
- 🛡️ **Effective Coverage** - Find edge cases no manual testing could uncover
|
136
|
+
- 🔬 **Research-Backed**: [Recognized](https://dl.acm.org/doi/10.1145/3617175) in [academic research](https://ieeexplore.ieee.org/document/9793781) as a state-of-the-art API testing tool
|
151
137
|
|
152
138
|
## Installation
|
153
139
|
|
154
|
-
Use Schemathesis via Docker, or install it from [PyPI](https://pypi.org/project/schemathesis/)
|
155
|
-
|
156
140
|
```console
|
157
|
-
#
|
158
|
-
$
|
141
|
+
# Using uv (recommended)
|
142
|
+
$ uv pip install schemathesis
|
159
143
|
|
160
|
-
#
|
144
|
+
# Using pip
|
161
145
|
$ pip install schemathesis
|
146
|
+
|
147
|
+
# Using Docker
|
148
|
+
$ docker pull schemathesis/schemathesis:stable
|
162
149
|
```
|
163
150
|
|
164
|
-
##
|
151
|
+
## Usage
|
165
152
|
|
166
|
-
|
153
|
+
### Command Line
|
167
154
|
|
168
155
|
```console
|
169
|
-
|
170
|
-
|
171
|
-
# Or when installed with pip
|
172
|
-
schemathesis run --checks all https://example.schemathesis.io/openapi.json
|
156
|
+
# Run tests against a schema URL
|
157
|
+
$ st run https://example.schemathesis.io/openapi.json
|
173
158
|
```
|
174
159
|
|
175
|
-
|
160
|
+
### Python Library
|
176
161
|
|
177
162
|
```python
|
178
163
|
import schemathesis
|
@@ -185,36 +170,35 @@ def test_api(case):
|
|
185
170
|
case.call_and_validate()
|
186
171
|
```
|
187
172
|
|
188
|
-
|
189
|
-
|
190
|
-
Schemathesis can be easily integrated into your CI/CD pipeline using GitHub Actions. Add this block to your GitHub Actions to run Schemathesis against your API:
|
173
|
+
### CI/CD Integration
|
191
174
|
|
192
175
|
```yaml
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
schema: "https://example.schemathesis.io/openapi.json"
|
176
|
+
# GitHub Actions example
|
177
|
+
steps:
|
178
|
+
- uses: schemathesis/action@v1
|
179
|
+
with:
|
180
|
+
schema: "https://example.schemathesis.io/openapi.json"
|
199
181
|
```
|
200
182
|
|
201
|
-
|
183
|
+
## Documentation
|
184
|
+
|
185
|
+
📚 **[Read the full documentation](https://schemathesis.readthedocs.io/)** for guides, examples, and reference material.
|
202
186
|
|
203
187
|
## Who's Using Schemathesis?
|
204
188
|
|
205
|
-
Schemathesis is used by
|
189
|
+
Schemathesis is used by companies and open-source projects including:
|
206
190
|
|
207
|
-
- Abstract Machines ([Magistrala](https://github.com/absmach/magistrala))
|
208
|
-
- Bundesstelle für Open Data ([smard-api](https://github.com/bundesAPI/smard-api))
|
209
|
-
- [CheckMK](https://github.com/Checkmk/checkmk)
|
210
|
-
- Chronosphere.io ([Calyptia](https://github.com/chronosphereio/calyptia-api))
|
211
|
-
- HXSecurity ([DongTai](https://github.com/HXSecurity/DongTai))
|
212
191
|
- Netflix ([Dispatch](https://github.com/Netflix/dispatch))
|
213
|
-
- [Pixie](https://github.com/pixie-io/pixie)
|
214
|
-
- [Qdrant](https://github.com/qdrant/qdrant)
|
215
192
|
- Spotify ([Backstage](https://github.com/backstage/backstage))
|
216
|
-
- [Weechat](https://github.com/weechat/weechat)
|
217
193
|
- WordPress ([OpenVerse](https://github.com/WordPress/openverse))
|
194
|
+
- Chronosphere.io ([Calyptia](https://github.com/chronosphereio/calyptia-api))
|
195
|
+
- [Qdrant](https://github.com/qdrant/qdrant)
|
196
|
+
- [Pixie](https://github.com/pixie-io/pixie)
|
197
|
+
- [CheckMK](https://github.com/Checkmk/checkmk)
|
198
|
+
- [Weechat](https://github.com/weechat/weechat)
|
199
|
+
- HXSecurity ([DongTai](https://github.com/HXSecurity/DongTai))
|
200
|
+
- Abstract Machines ([Magistrala](https://github.com/absmach/magistrala))
|
201
|
+
- Bundesstelle für Open Data ([smard-api](https://github.com/bundesAPI/smard-api))
|
218
202
|
|
219
203
|
## Testimonials
|
220
204
|
|
@@ -230,7 +214,7 @@ Schemathesis is used by a number of projects and companies, including direct usa
|
|
230
214
|
|
231
215
|
---
|
232
216
|
|
233
|
-
"_The tool is
|
217
|
+
"_The tool is amazing as it can test negative scenarios instead of me and much faster!_"
|
234
218
|
|
235
219
|
<div>Luděk Nový - <strong>JetBrains</strong></div>
|
236
220
|
|
@@ -250,24 +234,15 @@ Schemathesis is used by a number of projects and companies, including direct usa
|
|
250
234
|
|
251
235
|
## Contributing
|
252
236
|
|
253
|
-
We welcome contributions
|
254
|
-
|
255
|
-
### How to Contribute
|
256
|
-
|
257
|
-
1. Discuss ideas and questions through [GitHub issues](https://github.com/schemathesis/schemathesis/issues) or on our [Discord channel](https://discord.gg/R9ASRAmHnA).
|
258
|
-
2. For code contributions, see our [contributing guidelines](https://github.com/schemathesis/schemathesis/blob/master/CONTRIBUTING.rst).
|
259
|
-
3. Share your experience and thoughts using [this feedback form](https://forms.gle/kJ4hSxc1Yp6Ga96t5).
|
260
|
-
|
261
|
-
### Why Your Input Matters
|
262
|
-
|
263
|
-
- Enables us to develop useful features and fix bugs faster
|
264
|
-
- Improves our test suite and documentation
|
237
|
+
We welcome contributions! Your input directly influences Schemathesis development.
|
265
238
|
|
266
|
-
|
239
|
+
- Discuss ideas in [GitHub issues](https://github.com/schemathesis/schemathesis/issues) or our [Discord server](https://discord.gg/R9ASRAmHnA)
|
240
|
+
- See our [contributing guidelines](https://github.com/schemathesis/schemathesis/blob/master/CONTRIBUTING.rst) for code contributions
|
241
|
+
- Share your experience using [this feedback form](https://forms.gle/kJ4hSxc1Yp6Ga96t5)
|
267
242
|
|
268
243
|
## Get in Touch
|
269
244
|
|
270
|
-
|
245
|
+
Need assistance with integration or have specific questions? Contact us at <a href="mailto:support@schemathesis.io">support@schemathesis.io</a>.
|
271
246
|
|
272
247
|
## Acknowledgements
|
273
248
|
|
@@ -0,0 +1,157 @@
|
|
1
|
+
<p align="center">
|
2
|
+
<a href="https://github.com/schemathesis/schemathesis/actions" target="_blank">
|
3
|
+
<img src="https://github.com/schemathesis/schemathesis/actions/workflows/build.yml/badge.svg" alt="Build">
|
4
|
+
</a>
|
5
|
+
<a href="https://codecov.io/gh/schemathesis/schemathesis/branch/master" target="_blank">
|
6
|
+
<img src="https://codecov.io/gh/schemathesis/schemathesis/branch/master/graph/badge.svg" alt="Coverage">
|
7
|
+
</a>
|
8
|
+
<a href="https://pypi.org/project/schemathesis/" target="_blank">
|
9
|
+
<img src="https://img.shields.io/pypi/v/schemathesis.svg" alt="Version">
|
10
|
+
</a>
|
11
|
+
<a href="https://pypi.org/project/schemathesis/" target="_blank">
|
12
|
+
<img src="https://img.shields.io/pypi/pyversions/schemathesis.svg" alt="Python versions">
|
13
|
+
</a>
|
14
|
+
<a href="https://discord.gg/R9ASRAmHnA" target="_blank">
|
15
|
+
<img src="https://img.shields.io/discord/938139740912369755" alt="Discord">
|
16
|
+
</a>
|
17
|
+
<a href="https://opensource.org/licenses/MIT" target="_blank">
|
18
|
+
<img src="https://img.shields.io/pypi/l/schemathesis.svg" alt="License">
|
19
|
+
</a>
|
20
|
+
</p>
|
21
|
+
|
22
|
+
## Schemathesis
|
23
|
+
|
24
|
+
Schemathesis automatically generates and runs API tests from your OpenAPI or GraphQL schema to find bugs and spec violations.
|
25
|
+
|
26
|
+
<p align="center">
|
27
|
+
<img src="https://raw.githubusercontent.com/schemathesis/schemathesis/master/img/demo.gif" alt="Schemathesis automatically finding a server error"/>
|
28
|
+
<br>
|
29
|
+
<i>Automatically finding specification violations and server errors</i>
|
30
|
+
</p>
|
31
|
+
|
32
|
+
> **Note:** This is the V4 branch under active development. While fully functional and passing tests, some features may be missing, and documentation is being updated. For the stable release, see the [V3 branch](https://github.com/schemathesis/schemathesis/tree/v3).
|
33
|
+
|
34
|
+
## Why Schemathesis?
|
35
|
+
|
36
|
+
- 📑 **Schema-Based Testing** - Transform API documentation into a comprehensive test suite
|
37
|
+
- 🚀 **Zero Configuration** - Begin testing immediately with a valid OpenAPI or GraphQL schema
|
38
|
+
- ⚙️ **CI-Ready** - Integrate API testing into existing pipelines without complex configuration
|
39
|
+
- 🛡️ **Effective Coverage** - Find edge cases no manual testing could uncover
|
40
|
+
- 🔬 **Research-Backed**: [Recognized](https://dl.acm.org/doi/10.1145/3617175) in [academic research](https://ieeexplore.ieee.org/document/9793781) as a state-of-the-art API testing tool
|
41
|
+
|
42
|
+
## Installation
|
43
|
+
|
44
|
+
```console
|
45
|
+
# Using uv (recommended)
|
46
|
+
$ uv pip install schemathesis
|
47
|
+
|
48
|
+
# Using pip
|
49
|
+
$ pip install schemathesis
|
50
|
+
|
51
|
+
# Using Docker
|
52
|
+
$ docker pull schemathesis/schemathesis:stable
|
53
|
+
```
|
54
|
+
|
55
|
+
## Usage
|
56
|
+
|
57
|
+
### Command Line
|
58
|
+
|
59
|
+
```console
|
60
|
+
# Run tests against a schema URL
|
61
|
+
$ st run https://example.schemathesis.io/openapi.json
|
62
|
+
```
|
63
|
+
|
64
|
+
### Python Library
|
65
|
+
|
66
|
+
```python
|
67
|
+
import schemathesis
|
68
|
+
|
69
|
+
schema = schemathesis.openapi.from_url("https://example.schemathesis.io/openapi.json")
|
70
|
+
|
71
|
+
|
72
|
+
@schema.parametrize()
|
73
|
+
def test_api(case):
|
74
|
+
case.call_and_validate()
|
75
|
+
```
|
76
|
+
|
77
|
+
### CI/CD Integration
|
78
|
+
|
79
|
+
```yaml
|
80
|
+
# GitHub Actions example
|
81
|
+
steps:
|
82
|
+
- uses: schemathesis/action@v1
|
83
|
+
with:
|
84
|
+
schema: "https://example.schemathesis.io/openapi.json"
|
85
|
+
```
|
86
|
+
|
87
|
+
## Documentation
|
88
|
+
|
89
|
+
📚 **[Read the full documentation](https://schemathesis.readthedocs.io/)** for guides, examples, and reference material.
|
90
|
+
|
91
|
+
## Who's Using Schemathesis?
|
92
|
+
|
93
|
+
Schemathesis is used by companies and open-source projects including:
|
94
|
+
|
95
|
+
- Netflix ([Dispatch](https://github.com/Netflix/dispatch))
|
96
|
+
- Spotify ([Backstage](https://github.com/backstage/backstage))
|
97
|
+
- WordPress ([OpenVerse](https://github.com/WordPress/openverse))
|
98
|
+
- Chronosphere.io ([Calyptia](https://github.com/chronosphereio/calyptia-api))
|
99
|
+
- [Qdrant](https://github.com/qdrant/qdrant)
|
100
|
+
- [Pixie](https://github.com/pixie-io/pixie)
|
101
|
+
- [CheckMK](https://github.com/Checkmk/checkmk)
|
102
|
+
- [Weechat](https://github.com/weechat/weechat)
|
103
|
+
- HXSecurity ([DongTai](https://github.com/HXSecurity/DongTai))
|
104
|
+
- Abstract Machines ([Magistrala](https://github.com/absmach/magistrala))
|
105
|
+
- Bundesstelle für Open Data ([smard-api](https://github.com/bundesAPI/smard-api))
|
106
|
+
|
107
|
+
## Testimonials
|
108
|
+
|
109
|
+
"_The world needs modern, spec-based API tests, so we can deliver APIs as-designed. Schemathesis is the right tool for that job._"
|
110
|
+
|
111
|
+
<div>Emmanuel Paraskakis - <strong>Level 250</strong></div>
|
112
|
+
|
113
|
+
---
|
114
|
+
|
115
|
+
"_Schemathesis is the only sane way to thoroughly test an API._"
|
116
|
+
|
117
|
+
<div>Zdenek Nemec - <strong>superface.ai</strong></div>
|
118
|
+
|
119
|
+
---
|
120
|
+
|
121
|
+
"_The tool is amazing as it can test negative scenarios instead of me and much faster!_"
|
122
|
+
|
123
|
+
<div>Luděk Nový - <strong>JetBrains</strong></div>
|
124
|
+
|
125
|
+
---
|
126
|
+
|
127
|
+
"_Schemathesis is the best tool for fuzz testing of REST API on the market. We are at Red Hat use it for examining our applications in functional and integrations testing levels._"
|
128
|
+
|
129
|
+
<div>Dmitry Misharov - <strong>RedHat</strong></div>
|
130
|
+
|
131
|
+
---
|
132
|
+
|
133
|
+
"_There are different levels of usability and documentation quality among these tools which have been reported, where Schemathesis clearly stands out among the most user-friendly and industry-strength tools._"
|
134
|
+
|
135
|
+
<div>Testing RESTful APIs: A Survey - <strong>a research paper by Golmohammadi, at al</strong></div>
|
136
|
+
|
137
|
+
---
|
138
|
+
|
139
|
+
## Contributing
|
140
|
+
|
141
|
+
We welcome contributions! Your input directly influences Schemathesis development.
|
142
|
+
|
143
|
+
- Discuss ideas in [GitHub issues](https://github.com/schemathesis/schemathesis/issues) or our [Discord server](https://discord.gg/R9ASRAmHnA)
|
144
|
+
- See our [contributing guidelines](https://github.com/schemathesis/schemathesis/blob/master/CONTRIBUTING.rst) for code contributions
|
145
|
+
- Share your experience using [this feedback form](https://forms.gle/kJ4hSxc1Yp6Ga96t5)
|
146
|
+
|
147
|
+
## Get in Touch
|
148
|
+
|
149
|
+
Need assistance with integration or have specific questions? Contact us at <a href="mailto:support@schemathesis.io">support@schemathesis.io</a>.
|
150
|
+
|
151
|
+
## Acknowledgements
|
152
|
+
|
153
|
+
Schemathesis is built on top of <a href="https://hypothesis.works/" target="_blank">Hypothesis</a>, a powerful property-based testing library for Python.
|
154
|
+
|
155
|
+
## License
|
156
|
+
|
157
|
+
This project is licensed under the terms of the [MIT license](https://opensource.org/licenses/MIT).
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Targeted Property-Based Testing
|
2
|
+
|
3
|
+
Schemathesis supports targeted property-based testing to guide test data generation toward specific goals. This technique helps find problematic inputs faster by directing the test generator toward areas more likely to reveal issues.
|
4
|
+
|
5
|
+
## Maximizing Metrics
|
6
|
+
|
7
|
+
The `--generation-maximize` option instructs Schemathesis to favor inputs that maximize a specific metric:
|
8
|
+
|
9
|
+
```console
|
10
|
+
$ st run openapi.yaml --generation-maximize response_time
|
11
|
+
```
|
12
|
+
|
13
|
+
Currently supported metrics:
|
14
|
+
|
15
|
+
- `response_time`: Favors inputs that result in longer API response times
|
16
|
+
|
17
|
+
This approach is particularly useful for detecting:
|
18
|
+
|
19
|
+
- Performance bottlenecks
|
20
|
+
- Inputs that cause excessive processing
|
21
|
+
- Potential denial-of-service vulnerabilities
|
22
|
+
|
23
|
+
!!! info "Custom Metrics"
|
24
|
+
|
25
|
+
See [Extending Metrics](../extending/metrics.md) for details on implementing custom metrics for targeted testing.
|
26
|
+
|
27
|
+
## Example Scenario
|
28
|
+
|
29
|
+
Consider an API endpoint with a hidden performance issue where inputs containing many zeros cause progressively slower responses. At a certain threshold, the endpoint fails completely:
|
30
|
+
|
31
|
+
```python
|
32
|
+
async def performance(request):
|
33
|
+
decoded = await request.json()
|
34
|
+
number = str(decoded).count("0")
|
35
|
+
if number > 0:
|
36
|
+
# Progressively slower as zeros increase
|
37
|
+
await asyncio.sleep(0.01 * number)
|
38
|
+
if number > 10:
|
39
|
+
# Fails with too many zeros
|
40
|
+
raise ServerError()
|
41
|
+
return {"result": "success"}
|
42
|
+
```
|
43
|
+
|
44
|
+
When testing this endpoint:
|
45
|
+
|
46
|
+
- **Standard testing** might need many examples to stumble upon problematic inputs
|
47
|
+
- **Targeted testing** will progressively favor inputs with more zeros, finding the issue faster
|
48
|
+
|
49
|
+
## Performance Advantage
|
50
|
+
|
51
|
+
In practice, targeted testing can significantly reduce the time needed to discover issues:
|
52
|
+
|
53
|
+
```console
|
54
|
+
# Standard testing might require many examples
|
55
|
+
$ st run openapi.yaml --max-examples=10000
|
56
|
+
|
57
|
+
# Targeted testing often finds issues with fewer examples
|
58
|
+
$ st run openapi.yaml --max-examples=10000 --generation-maximize response_time
|
59
|
+
```
|
60
|
+
|
61
|
+
While results vary due to the random nature of property-based testing, targeted testing consistently improves efficiency on APIs with performance-related vulnerabilities.
|
@@ -8,25 +8,6 @@ Then, we'll move on to more advanced topics, including HTTP Basic, Digest Authen
|
|
8
8
|
Setting credentials
|
9
9
|
-------------------
|
10
10
|
|
11
|
-
To set authentication credentials manually, you can pass a key-value pairs to Schemathesis when running tests.
|
12
|
-
Here's an example command for setting a custom header or cookie using the CLI:
|
13
|
-
|
14
|
-
.. code:: text
|
15
|
-
|
16
|
-
st run -H "Authorization: Bearer TOKEN" ...
|
17
|
-
st run -H "Cookie: session=SECRET" ...
|
18
|
-
|
19
|
-
You can also provide multiple headers by using the ``-H`` option multiple times:
|
20
|
-
|
21
|
-
.. code:: text
|
22
|
-
|
23
|
-
st run -H "Authorization: Bearer TOKEN" -H "X-Session-Id: SECRET" ...
|
24
|
-
|
25
|
-
.. note::
|
26
|
-
|
27
|
-
Query string authentication is not yet supported in the Schemathesis CLI, however, you can use custom authentication mechanisms to set authentication in a query string parameter.
|
28
|
-
Details on how to do this are described in the :ref:`Custom Authentication <custom-auth>` section below.
|
29
|
-
|
30
11
|
For Python tests you can set a header, cookie or a query parameter inside your test function:
|
31
12
|
|
32
13
|
.. code-block:: python
|
@@ -50,10 +31,6 @@ Built-In Authentication mechanisms
|
|
50
31
|
|
51
32
|
`HTTP Basic <https://datatracker.ietf.org/doc/html/rfc7617>`_ is supported by Schemathesis out of the box.
|
52
33
|
|
53
|
-
.. code:: text
|
54
|
-
|
55
|
-
st run --auth user:pass
|
56
|
-
|
57
34
|
In Python tests, you can use the `requests <https://github.com/psf/requests>`_ library to send requests with HTTP Basic or HTTP Digest authentication.
|
58
35
|
You can pass the authentication credentials using the ``auth`` arguments of the ``call`` or ``call_and_validate`` methods:
|
59
36
|
|
@@ -1,9 +1,29 @@
|
|
1
1
|
Changelog
|
2
2
|
=========
|
3
3
|
|
4
|
-
:version:`Unreleased <v4.0.0-alpha.
|
4
|
+
:version:`Unreleased <v4.0.0-alpha.7...HEAD>` - TBD
|
5
5
|
---------------------------------------------------
|
6
6
|
|
7
|
+
.. _v4.0.0-alpha.7:
|
8
|
+
|
9
|
+
:version:`4.0.0-alpha.7 <v4.0.0-alpha.6...v4.0.0-alpha.7>` - 2025-03-21
|
10
|
+
-----------------------------------------------------------------------
|
11
|
+
|
12
|
+
**Added**
|
13
|
+
|
14
|
+
- `--experimental-coverage-unspecified-methods` CLI option that accept a comma separated list of HTTP methods to use when generating test cases with methods not specified in the API during the **coverage** phase.
|
15
|
+
|
16
|
+
.. _v4.0.0-alpha.6:
|
17
|
+
|
18
|
+
:version:`4.0.0-alpha.6 <v4.0.0-alpha.5...v4.0.0-alpha.6>` - 2025-03-20
|
19
|
+
-----------------------------------------------------------------------
|
20
|
+
|
21
|
+
**Fixed**
|
22
|
+
|
23
|
+
- Incorrect quantifiers merging for patterns involving single-element set of characters like ``[+]``.
|
24
|
+
- Internal error in the coverage phase due to incorrect example value extraction.
|
25
|
+
- If the generated query parameter value is an empty object, send it as an empty string.
|
26
|
+
|
7
27
|
.. _v4.0.0-alpha.5:
|
8
28
|
|
9
29
|
:version:`4.0.0-alpha.5 <v4.0.0-alpha.4...v4.0.0-alpha.5>` - 2025-02-23
|