schemathesis 3.27.0__tar.gz → 3.28.0__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-3.27.0 → schemathesis-3.28.0}/.github/workflows/build.yml +4 -4
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/codeql-analysis.yml +4 -4
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/codspeed.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/commit.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/example-build.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/master_update.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/release.yml +2 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/test-corpus.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/test-hypothesis.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/update-corpus.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/update-pre-commit.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.pre-commit-config.yaml +3 -3
- {schemathesis-3.27.0 → schemathesis-3.28.0}/PKG-INFO +38 -16
- {schemathesis-3.27.0 → schemathesis-3.28.0}/README.md +36 -13
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/auth.rst +6 -4
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/changelog.rst +39 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/cli.rst +12 -8
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/extending.rst +68 -6
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/index.rst +29 -7
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/requirements-app.txt +2 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/requirements-pytest.txt +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/pyproject.toml +2 -3
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/__init__.py +1 -1
- schemathesis-3.28.0/src/schemathesis/cli/__main__.py +4 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/context.py +2 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/junitxml.py +8 -8
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/output/default.py +34 -8
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/reporting.py +1 -3
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/exceptions.py +8 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/generation/__init__.py +14 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/models.py +18 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/impl/core.py +18 -17
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/serialization.py +16 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/serializers.py +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/_hypothesis.py +16 -5
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/references.py +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/schemas.py +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/transports/__init__.py +10 -3
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/__init__.py +0 -1
- schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +32 -0
- schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +35 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +1 -2
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_commands.py +38 -20
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_junitxml.py +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/conftest.py +7 -4
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/runner/test_runner.py +1 -9
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_hypothesis.py +26 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_dereferencing.py +61 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_models.py +12 -10
- {schemathesis-3.27.0 → schemathesis-3.28.0}/tox.ini +1 -1
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.dockerignore +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/FUNDING.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/dependabot.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.gitignore +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.gitmodules +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.readthedocs.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.relint.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.rstcheck.cfg +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/.yamllint +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/CITATION.cff +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/Dockerfile +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/Dockerfile.bookworm +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/LICENSE +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/benches/cli.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/benches/references.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/changelog.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/codecov.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/Makefile +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/additional-content.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/api.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/compatibility.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/conf.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/contrib.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/data-generation.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/examples.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/experimental.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/faq.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/getting-started.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/graphql.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/python.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/recipes.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/requirements.txt +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/sanitizing.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/service.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/stateful.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/docs/targeted.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/Dockerfile +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/README.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/compose.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/openapi.json +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/requirements-app.in +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/requirements-pytest.in +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/tests/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/tests/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/tests/extensions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/example/tests/test_app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/img/demo.gif +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/img/service_github_report.png +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/mypy.ini +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/_hypothesis.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/cassettes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/filters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/loaders.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/test_cli.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/test_provider.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2-The provided definition doesn't match any of the expected formats or types.].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1-.....].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5-......].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1-.....].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5-......].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1-.....].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5-......].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1-.....].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- /schemathesis-3.27.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5-......].raw → /schemathesis-3.28.0/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/cert.pem +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_cassettes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_options.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/test_install.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/experimental/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/extra/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/filters/test_matching.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/loaders/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/loaders/test_app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/loaders/test_common.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/runner/test_checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/runner/test_events.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/runner/test_probes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/test_auth.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/test_ci.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/test_cli.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/test_extensions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/test_report.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/test_serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/service/test_usage.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_stateful.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_asgi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_async.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_common_parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_converter.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_direct_access.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_errors.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_filters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_fixups.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_hypothesis.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_internal.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_lazy.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_package.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_parametrization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_petstore.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_pytest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_rate_limit.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_required.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_stateful.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_unittest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/test_wsgi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.28.0}/test_server.sh +0 -0
|
@@ -26,7 +26,7 @@ jobs:
|
|
|
26
26
|
name: Generic pre-commit checks
|
|
27
27
|
runs-on: ubuntu-22.04
|
|
28
28
|
steps:
|
|
29
|
-
- uses: actions/checkout@v4.1.
|
|
29
|
+
- uses: actions/checkout@v4.1.4
|
|
30
30
|
with:
|
|
31
31
|
fetch-depth: 1
|
|
32
32
|
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
name: Documentation
|
|
42
42
|
runs-on: ubuntu-22.04
|
|
43
43
|
steps:
|
|
44
|
-
- uses: actions/checkout@v4.1.
|
|
44
|
+
- uses: actions/checkout@v4.1.4
|
|
45
45
|
with:
|
|
46
46
|
fetch-depth: 1
|
|
47
47
|
- uses: ammaraskar/sphinx-action@master
|
|
@@ -66,7 +66,7 @@ jobs:
|
|
|
66
66
|
name: Tests (Python ${{ matrix.python }} on ${{ matrix.os }} ${{ matrix.tox_env }})
|
|
67
67
|
runs-on: ${{ matrix.os }}
|
|
68
68
|
steps:
|
|
69
|
-
- uses: actions/checkout@v4.1.
|
|
69
|
+
- uses: actions/checkout@v4.1.4
|
|
70
70
|
with:
|
|
71
71
|
fetch-depth: 1
|
|
72
72
|
|
|
@@ -83,6 +83,6 @@ jobs:
|
|
|
83
83
|
run: python -m tox
|
|
84
84
|
|
|
85
85
|
- name: Upload coverage to Codecov
|
|
86
|
-
uses: codecov/codecov-action@v4.
|
|
86
|
+
uses: codecov/codecov-action@v4.3.1
|
|
87
87
|
with:
|
|
88
88
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
|
|
31
31
|
steps:
|
|
32
32
|
- name: Checkout repository
|
|
33
|
-
uses: actions/checkout@v4.1.
|
|
33
|
+
uses: actions/checkout@v4.1.4
|
|
34
34
|
with:
|
|
35
35
|
# We must fetch at least the immediate parents so that if this is
|
|
36
36
|
# a pull request then we can checkout the head.
|
|
@@ -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.25.3
|
|
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.25.3
|
|
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.25.3
|
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
tag-suffix: "-bookworm"
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
|
-
- uses: actions/checkout@v4.1.
|
|
22
|
+
- uses: actions/checkout@v4.1.4
|
|
23
23
|
|
|
24
24
|
- name: Docker meta
|
|
25
25
|
id: meta
|
|
@@ -68,7 +68,7 @@ jobs:
|
|
|
68
68
|
name: Build and publish package to pypi.org
|
|
69
69
|
runs-on: ubuntu-22.04
|
|
70
70
|
steps:
|
|
71
|
-
- uses: actions/checkout@v4.1.
|
|
71
|
+
- uses: actions/checkout@v4.1.4
|
|
72
72
|
with:
|
|
73
73
|
fetch-depth: 1
|
|
74
74
|
|
|
@@ -30,7 +30,7 @@ repos:
|
|
|
30
30
|
- id: relint
|
|
31
31
|
|
|
32
32
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
33
|
-
rev: v1.
|
|
33
|
+
rev: v1.10.0
|
|
34
34
|
hooks:
|
|
35
35
|
- id: mypy
|
|
36
36
|
exclude: ^(docs/|test/|test-corpus/|example/|benches/).*$
|
|
@@ -38,12 +38,12 @@ repos:
|
|
|
38
38
|
additional_dependencies: [types-click, types-requests, types-PyYAML]
|
|
39
39
|
|
|
40
40
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
41
|
-
rev: v0.3
|
|
41
|
+
rev: v0.4.3
|
|
42
42
|
hooks:
|
|
43
43
|
- id: ruff-format
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.3
|
|
46
|
+
rev: v0.4.3
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff
|
|
49
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.28.0
|
|
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
|
|
@@ -28,7 +28,6 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
28
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
29
29
|
Classifier: Topic :: Software Development :: Testing
|
|
30
30
|
Requires-Python: >=3.8
|
|
31
|
-
Requires-Dist: anyio<4
|
|
32
31
|
Requires-Dist: backoff<3.0,>=2.1.2
|
|
33
32
|
Requires-Dist: click<9.0,>=7.0
|
|
34
33
|
Requires-Dist: colorama<1.0,>=0.4
|
|
@@ -44,7 +43,7 @@ Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
|
|
|
44
43
|
Requires-Dist: pytest<9,>=4.6.4
|
|
45
44
|
Requires-Dist: pyyaml<7.0,>=5.1
|
|
46
45
|
Requires-Dist: requests<3,>=2.22
|
|
47
|
-
Requires-Dist: starlette-testclient<1
|
|
46
|
+
Requires-Dist: starlette-testclient<1,>=0.4.1
|
|
48
47
|
Requires-Dist: starlette<1,>=0.13
|
|
49
48
|
Requires-Dist: tomli-w<2.0,>=1.0.0
|
|
50
49
|
Requires-Dist: tomli<3.0,>=2.0.1
|
|
@@ -78,7 +77,7 @@ Requires-Dist: trustme<1.0,>=0.9.0; extra == 'tests'
|
|
|
78
77
|
Description-Content-Type: text/markdown
|
|
79
78
|
|
|
80
79
|
<p align="center">
|
|
81
|
-
<em>Schemathesis:
|
|
80
|
+
<em>Schemathesis: Supercharge your API testing, catch bugs, and ensure compliance</em>
|
|
82
81
|
</p>
|
|
83
82
|
|
|
84
83
|
<p align="center">
|
|
@@ -110,29 +109,34 @@ Description-Content-Type: text/markdown
|
|
|
110
109
|
|
|
111
110
|
---
|
|
112
111
|
|
|
113
|
-
##
|
|
112
|
+
## What is Schemathesis?
|
|
114
113
|
|
|
115
|
-
Schemathesis is a tool that
|
|
114
|
+
Schemathesis is a tool that levels-up your API testing by automating the process of finding crashes, uncovering bugs, and validating spec compliance. With Schemathesis, you can:
|
|
116
115
|
|
|
117
|
-
|
|
116
|
+
🎯 **Catch Hard-to-Find Bugs**
|
|
118
117
|
|
|
119
|
-
|
|
118
|
+
- Uncover hidden crashes and edge cases that manual testing might miss
|
|
119
|
+
- Identify spec violations and ensure your API adheres to its defined contract
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
⚡ **Accelerate Testing Cycles**
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
- Automatically generate a wide range of test cases based on your API schema
|
|
124
|
+
- Save time and effort by eliminating the need for manual test case creation
|
|
124
125
|
|
|
125
|
-
|
|
126
|
+
🧩 **Integrate Seamlessly**
|
|
126
127
|
|
|
127
|
-
|
|
128
|
+
- Works with popular API formats such as OpenAPI, GraphQL.
|
|
129
|
+
- Easily integrate into your existing testing pipeline and CI/CD workflows
|
|
128
130
|
|
|
129
|
-
|
|
131
|
+
🔧 **Customize and Extend**
|
|
130
132
|
|
|
131
|
-
|
|
133
|
+
- Tune the testing process to your specific requirements using Python extensions
|
|
134
|
+
- Modify and enhance various aspects of the testing flow to suit your needs with rich configuration options
|
|
132
135
|
|
|
133
|
-
|
|
136
|
+
📊 **Gain Valuable Insights**
|
|
134
137
|
|
|
135
|
-
|
|
138
|
+
- Get detailed reports and actionable insights to help you identify and fix issues quickly
|
|
139
|
+
- Reproduce failing test cases effortlessly with generated code samples and cURL commands
|
|
136
140
|
|
|
137
141
|
## Quick Demo
|
|
138
142
|
|
|
@@ -310,6 +314,24 @@ This includes:
|
|
|
310
314
|
|
|
311
315
|
To discuss a custom support arrangement that best suits your organization, please contact our support team at <a href="mailto:support@schemathesis.io">support@schemathesis.io</a>.
|
|
312
316
|
|
|
317
|
+
## Acknowledgements
|
|
318
|
+
|
|
319
|
+
Schemathesis is built on top of <a href="https://hypothesis.works/" target="_blank">Hypothesis</a>, a powerful property-based testing library for Python.
|
|
320
|
+
|
|
321
|
+
## Who's Using Schemathesis?
|
|
322
|
+
|
|
323
|
+
Schemathesis is used by a number of project and companies, including direct usage or integration into other tools:
|
|
324
|
+
|
|
325
|
+
- Abstract Machines ([Magistrala](https://github.com/absmach/magistrala))
|
|
326
|
+
- Bundesstelle für Open Data ([smard-api](https://github.com/bundesAPI/smard-api))
|
|
327
|
+
- [CheckMK](https://github.com/Checkmk/checkmk)
|
|
328
|
+
- HXSecurity ([DongTai](https://github.com/HXSecurity/DongTai))
|
|
329
|
+
- Netflix ([Dispatch](https://github.com/Netflix/dispatch))
|
|
330
|
+
- [Pixie](https://github.com/pixie-io/pixie)
|
|
331
|
+
- [Qdrant](https://github.com/qdrant/qdrant)
|
|
332
|
+
- Spotify ([Backstage](https://github.com/backstage/backstage))
|
|
333
|
+
- WordPress ([OpenVerse](https://github.com/WordPress/openverse))
|
|
334
|
+
|
|
313
335
|
## Additional content
|
|
314
336
|
|
|
315
337
|
### Papers
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<em>Schemathesis:
|
|
2
|
+
<em>Schemathesis: Supercharge your API testing, catch bugs, and ensure compliance</em>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
@@ -31,29 +31,34 @@
|
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## What is Schemathesis?
|
|
35
35
|
|
|
36
|
-
Schemathesis is a tool that
|
|
36
|
+
Schemathesis is a tool that levels-up your API testing by automating the process of finding crashes, uncovering bugs, and validating spec compliance. With Schemathesis, you can:
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
🎯 **Catch Hard-to-Find Bugs**
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
- Uncover hidden crashes and edge cases that manual testing might miss
|
|
41
|
+
- Identify spec violations and ensure your API adheres to its defined contract
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
⚡ **Accelerate Testing Cycles**
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
- Automatically generate a wide range of test cases based on your API schema
|
|
46
|
+
- Save time and effort by eliminating the need for manual test case creation
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
🧩 **Integrate Seamlessly**
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
- Works with popular API formats such as OpenAPI, GraphQL.
|
|
51
|
+
- Easily integrate into your existing testing pipeline and CI/CD workflows
|
|
49
52
|
|
|
50
|
-
|
|
53
|
+
🔧 **Customize and Extend**
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
- Tune the testing process to your specific requirements using Python extensions
|
|
56
|
+
- Modify and enhance various aspects of the testing flow to suit your needs with rich configuration options
|
|
53
57
|
|
|
54
|
-
|
|
58
|
+
📊 **Gain Valuable Insights**
|
|
55
59
|
|
|
56
|
-
|
|
60
|
+
- Get detailed reports and actionable insights to help you identify and fix issues quickly
|
|
61
|
+
- Reproduce failing test cases effortlessly with generated code samples and cURL commands
|
|
57
62
|
|
|
58
63
|
## Quick Demo
|
|
59
64
|
|
|
@@ -231,6 +236,24 @@ This includes:
|
|
|
231
236
|
|
|
232
237
|
To discuss a custom support arrangement that best suits your organization, please contact our support team at <a href="mailto:support@schemathesis.io">support@schemathesis.io</a>.
|
|
233
238
|
|
|
239
|
+
## Acknowledgements
|
|
240
|
+
|
|
241
|
+
Schemathesis is built on top of <a href="https://hypothesis.works/" target="_blank">Hypothesis</a>, a powerful property-based testing library for Python.
|
|
242
|
+
|
|
243
|
+
## Who's Using Schemathesis?
|
|
244
|
+
|
|
245
|
+
Schemathesis is used by a number of project and companies, including direct usage or integration into other tools:
|
|
246
|
+
|
|
247
|
+
- Abstract Machines ([Magistrala](https://github.com/absmach/magistrala))
|
|
248
|
+
- Bundesstelle für Open Data ([smard-api](https://github.com/bundesAPI/smard-api))
|
|
249
|
+
- [CheckMK](https://github.com/Checkmk/checkmk)
|
|
250
|
+
- HXSecurity ([DongTai](https://github.com/HXSecurity/DongTai))
|
|
251
|
+
- Netflix ([Dispatch](https://github.com/Netflix/dispatch))
|
|
252
|
+
- [Pixie](https://github.com/pixie-io/pixie)
|
|
253
|
+
- [Qdrant](https://github.com/qdrant/qdrant)
|
|
254
|
+
- Spotify ([Backstage](https://github.com/backstage/backstage))
|
|
255
|
+
- WordPress ([OpenVerse](https://github.com/WordPress/openverse))
|
|
256
|
+
|
|
234
257
|
## Additional content
|
|
235
258
|
|
|
236
259
|
### Papers
|
|
@@ -139,16 +139,18 @@ To use your custom authentication mechanism in the Schemathesis CLI, you need to
|
|
|
139
139
|
# Here goes your implementation
|
|
140
140
|
...
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
Then put your code into a Python file (for example, ``my_file.py``) and set the ``SCHEMATHESIS_HOOKS`` environment variable to point to it:
|
|
143
143
|
|
|
144
144
|
.. code:: bash
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
SCHEMATHESIS_HOOKS=my_file
|
|
147
|
+
st run http://127.0.0.1/openapi.yaml
|
|
148
|
+
|
|
149
|
+
That is it! Now Schemathesis will use your custom authentication mechanism for all tests.
|
|
148
150
|
|
|
149
151
|
.. note::
|
|
150
152
|
|
|
151
|
-
|
|
153
|
+
The registration process is the same as for any other extension, and you can find more details on how to extend Schemathesis in the :ref:`Extending Schemathesis <enabling-extensions>` section.
|
|
152
154
|
|
|
153
155
|
Using in Python tests
|
|
154
156
|
~~~~~~~~~~~~~~~~~~~~~
|
|
@@ -1,9 +1,47 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.
|
|
4
|
+
:version:`Unreleased <v3.28.0...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.28.0:
|
|
8
|
+
|
|
9
|
+
:version:`3.28.0 <v3.27.1...v3.28.0>` - 2024-05-10
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Added**
|
|
13
|
+
|
|
14
|
+
- ``Request.deserialize_body`` and ``Response.deserialize_body`` helper methods to deserialize payloads to bytes from Base 64.
|
|
15
|
+
- Support for ``multipart/mixed`` media type.
|
|
16
|
+
|
|
17
|
+
**Changed**
|
|
18
|
+
|
|
19
|
+
- Do not show suggestion to show a traceback on Hypothesis' ``Unsatisfiable`` error.
|
|
20
|
+
- Clarify error message on unsupported recursive references.
|
|
21
|
+
- Report more details on some internal errors instead of "Unknown Schema Error".
|
|
22
|
+
- Update error message on why Schemathesis can't generate test cases for some API operations.
|
|
23
|
+
|
|
24
|
+
**Fixed**
|
|
25
|
+
|
|
26
|
+
- Internal error on Windows when the CLI output is redirected to a file and code samples contain non CP1252 characters.
|
|
27
|
+
- Properly check for nested recursive references inside combinators. This makes Schemathesis work with more schemas with recursive references.
|
|
28
|
+
|
|
29
|
+
.. _v3.27.1:
|
|
30
|
+
|
|
31
|
+
:version:`3.27.1 <v3.27.0...v3.27.1>` - 2024-04-29
|
|
32
|
+
--------------------------------------------------
|
|
33
|
+
|
|
34
|
+
**Added**
|
|
35
|
+
|
|
36
|
+
- ``GenerationConfig.headers.strategy`` attribute for customizing header generation. :issue:`2137`
|
|
37
|
+
- Support for ``python -m schemathesis.cli``. :issue:`2142`
|
|
38
|
+
- Support for ``anyio>=4.0``. :issue:`2081`
|
|
39
|
+
|
|
40
|
+
**Fixed**
|
|
41
|
+
|
|
42
|
+
- Supporting non-Starlette ASGI apps. :issue:`2136`
|
|
43
|
+
- Missing version metadata in ASGI client causing errors with ASGI3-only apps. :issue:`2136`
|
|
44
|
+
|
|
7
45
|
.. _v3.27.0:
|
|
8
46
|
|
|
9
47
|
:version:`3.27.0 <v3.26.2...v3.27.0>` - 2024-04-14
|
|
@@ -531,25 +531,29 @@ Extending CLI
|
|
|
531
531
|
-------------
|
|
532
532
|
|
|
533
533
|
To fit Schemathesis to your workflows, you might want to extend it with your custom checks or setup environment before the test run.
|
|
534
|
-
Schemathesis can load your Python code via the ``SCHEMATHESIS_HOOKS`` environment variable:
|
|
535
534
|
|
|
536
|
-
|
|
535
|
+
Extensions should be placed in a separate Python module.
|
|
536
|
+
Then, Schemathesis should be informed about this module via the ``SCHEMATHESIS_HOOKS`` environment variable:
|
|
537
537
|
|
|
538
|
-
|
|
539
|
-
$ st run https://example.com/api/swagger.json
|
|
538
|
+
.. code:: bash
|
|
540
539
|
|
|
541
|
-
|
|
540
|
+
export SCHEMATHESIS_HOOKS=myproject.tests.hooks
|
|
541
|
+
st run http://127.0.0.1/openapi.yaml
|
|
542
542
|
|
|
543
543
|
Also, depending on your setup, you might need to run this command with a custom ``PYTHONPATH`` environment variable like this:
|
|
544
544
|
|
|
545
545
|
.. code:: bash
|
|
546
546
|
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
547
|
+
export PYTHONPATH=$(pwd)
|
|
548
|
+
export SCHEMATHESIS_HOOKS=myproject.tests.hooks
|
|
549
|
+
st run https://example.com/api/swagger.json
|
|
550
550
|
|
|
551
551
|
The passed value will be treated as an importable Python path and imported before the test run.
|
|
552
552
|
|
|
553
|
+
.. note::
|
|
554
|
+
|
|
555
|
+
You can find more details on how to extend Schemathesis in the :ref:`Extending Schemathesis <enabling-extensions>` section.
|
|
556
|
+
|
|
553
557
|
Registering custom checks
|
|
554
558
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
555
559
|
|
|
@@ -97,19 +97,36 @@ They execute in the order they are defined, with globally defined hooks executin
|
|
|
97
97
|
Be mindful of the sequence in which hooks are applied. The order can significantly impact the generated test data and subsequent API calls during testing.
|
|
98
98
|
Always validate the test data and requests to ensure that hooks are applied in the intended order and manner.
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
100
|
+
.. _enabling-extensions:
|
|
102
101
|
|
|
103
|
-
|
|
102
|
+
Enabling Extensions
|
|
103
|
+
~~~~~~~~~~~~~~~~~~~
|
|
104
104
|
|
|
105
|
-
For
|
|
106
|
-
|
|
105
|
+
For Schemathesis to utilize your custom hooks or other extensions, they need to be properly enabled.
|
|
106
|
+
|
|
107
|
+
For **CLI** usage, extensions should be placed in a separate Python module.
|
|
108
|
+
Then, Schemathesis should be informed about this module via the ``SCHEMATHESIS_HOOKS`` environment variable:
|
|
107
109
|
|
|
108
110
|
.. code:: bash
|
|
109
111
|
|
|
110
|
-
SCHEMATHESIS_HOOKS=myproject.tests.hooks
|
|
112
|
+
export SCHEMATHESIS_HOOKS=myproject.tests.hooks
|
|
111
113
|
st run http://127.0.0.1/openapi.yaml
|
|
112
114
|
|
|
115
|
+
Also, depending on your setup, you might need to run this command with a custom ``PYTHONPATH`` environment variable like this:
|
|
116
|
+
|
|
117
|
+
.. code:: bash
|
|
118
|
+
|
|
119
|
+
export PYTHONPATH=$(pwd)
|
|
120
|
+
export SCHEMATHESIS_HOOKS=myproject.tests.hooks
|
|
121
|
+
st run https://example.com/api/swagger.json
|
|
122
|
+
|
|
123
|
+
In the example above, the module is located at ``myproject/tests/hooks.py`` and the environment variable contains
|
|
124
|
+
a path that could be used as an import in Python.
|
|
125
|
+
|
|
126
|
+
.. note::
|
|
127
|
+
|
|
128
|
+
The name of the module is arbitrary but make sure it is a valid Python module name. Usually it is sufficient to put all your extensions in the ``hooks.py`` file in the current directory.
|
|
129
|
+
|
|
113
130
|
If you're using Schemathesis in Python tests, ensure to define your hooks in the test setup code.
|
|
114
131
|
|
|
115
132
|
Filtering Data
|
|
@@ -651,6 +668,51 @@ In the example above, when Schemathesis detects a string with the "card_number"
|
|
|
651
668
|
|
|
652
669
|
For more details about creating strategies, refer to the `Hypothesis documentation <https://hypothesis.readthedocs.io/en/latest/data.html>`_.
|
|
653
670
|
|
|
671
|
+
Adjusting header generation
|
|
672
|
+
---------------------------
|
|
673
|
+
|
|
674
|
+
By default, Schemathesis generates headers based on the schema definition falling back to the set of characters defined in `RFC 7230 <https://datatracker.ietf.org/doc/html/rfc7230#section-3.2>`_, but you can adjust this behavior to suit your needs.
|
|
675
|
+
|
|
676
|
+
To customize header generation, you can extend the ``GenerationConfig`` class and modify its ``headers`` attribute.
|
|
677
|
+
The ``headers`` attribute accepts a ``HeaderConfig`` object, which allows you to specify a custom Hypothesis strategy for generating header values.
|
|
678
|
+
|
|
679
|
+
Here's an example of how you can adjust header generation:
|
|
680
|
+
|
|
681
|
+
.. code-block:: python
|
|
682
|
+
|
|
683
|
+
import schemathesis
|
|
684
|
+
from schemathesis import GenerationConfig, HeaderConfig
|
|
685
|
+
from hypothesis import strategies as st
|
|
686
|
+
|
|
687
|
+
schema = schemathesis.from_uri(
|
|
688
|
+
"https://example.schemathesis.io/openapi.json",
|
|
689
|
+
generation_config=GenerationConfig(
|
|
690
|
+
headers=HeaderConfig(
|
|
691
|
+
strategy=st.text(
|
|
692
|
+
alphabet=st.characters(
|
|
693
|
+
min_codepoint=1,
|
|
694
|
+
max_codepoint=127,
|
|
695
|
+
).map(str.strip)
|
|
696
|
+
)
|
|
697
|
+
)
|
|
698
|
+
),
|
|
699
|
+
)
|
|
700
|
+
|
|
701
|
+
In the code above, we use the ``st.text`` strategy from Hypothesis to restrict the characters used in the generated headers to codepoints 1 to 127.
|
|
702
|
+
|
|
703
|
+
Alternatively, you can customize header generation using the ``after_load_schema`` hook:
|
|
704
|
+
|
|
705
|
+
.. code-block:: python
|
|
706
|
+
|
|
707
|
+
import schemathesis
|
|
708
|
+
from hypothesis import strategies as st
|
|
709
|
+
|
|
710
|
+
@schemathesis.hook
|
|
711
|
+
def after_load_schema(context, schema) -> None:
|
|
712
|
+
schema.generation_config.headers.strategy = st.text(
|
|
713
|
+
alphabet=st.characters(min_codepoint=1, max_codepoint=127)
|
|
714
|
+
)
|
|
715
|
+
|
|
654
716
|
Generating payloads for unknown media types
|
|
655
717
|
-------------------------------------------
|
|
656
718
|
|
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
Welcome to Schemathesis!
|
|
2
2
|
========================
|
|
3
3
|
|
|
4
|
-
Schemathesis is a tool that
|
|
4
|
+
Schemathesis is a tool that levels-up your API testing by leveraging API specs as a blueprints for generating test cases.
|
|
5
5
|
It focuses on testing for general properties — such as ensuring no input leads to server errors and all responses adhere to the API spec — rather than just checking specific input-output combinations.
|
|
6
6
|
|
|
7
7
|
This approach broadens your testing suite's capability to detect a wide range of potential issues, from trivial bugs to critical vulnerabilities.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
With Schemathesis, you can:
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
11
|
+
🎯 **Catch Hard-to-Find Bugs**
|
|
12
|
+
|
|
13
|
+
- Uncover hidden crashes and edge cases that manual testing might miss
|
|
14
|
+
- Identify spec violations and ensure your API adheres to its defined contract
|
|
15
|
+
|
|
16
|
+
⚡ **Accelerate Testing Cycles**
|
|
17
|
+
|
|
18
|
+
- Automatically generate a wide range of test cases based on your API schema
|
|
19
|
+
- Save time and effort by eliminating the need for manual test case creation
|
|
20
|
+
|
|
21
|
+
🧩 **Integrate Seamlessly**
|
|
22
|
+
|
|
23
|
+
- Works with popular API formats such as OpenAPI, GraphQL.
|
|
24
|
+
- Easily integrate into your existing testing pipeline and CI/CD workflows
|
|
25
|
+
|
|
26
|
+
🔧 **Customize and Extend**
|
|
27
|
+
|
|
28
|
+
- Tune the testing process to your specific requirements using Python extensions
|
|
29
|
+
- Modify and enhance various aspects of the testing flow to suit your needs with rich configuration options
|
|
30
|
+
|
|
31
|
+
📊 **Gain Valuable Insights**
|
|
32
|
+
|
|
33
|
+
- Get detailed reports and actionable insights to help you identify and fix issues quickly
|
|
34
|
+
- Reproduce failing test cases effortlessly with generated code samples and cURL commands
|
|
35
|
+
|
|
36
|
+
How it works?
|
|
37
|
+
-------------
|
|
16
38
|
|
|
17
39
|
Here’s a simplified overview of how Schemathesis works:
|
|
18
40
|
|
|
@@ -18,7 +18,7 @@ greenlet==3.0.1
|
|
|
18
18
|
# via sqlalchemy
|
|
19
19
|
itsdangerous==2.1.2
|
|
20
20
|
# via flask
|
|
21
|
-
jinja2==3.1.
|
|
21
|
+
jinja2==3.1.4
|
|
22
22
|
# via flask
|
|
23
23
|
markupsafe==2.1.3
|
|
24
24
|
# via
|
|
@@ -28,5 +28,5 @@ sqlalchemy==1.4.50
|
|
|
28
28
|
# via
|
|
29
29
|
# -r requirements-app.in
|
|
30
30
|
# flask-sqlalchemy
|
|
31
|
-
werkzeug==3.0.
|
|
31
|
+
werkzeug==3.0.3
|
|
32
32
|
# via flask
|