schemathesis 3.27.0__tar.gz → 3.27.1__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.27.1}/.github/workflows/build.yml +4 -4
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/codeql-analysis.yml +4 -4
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/codspeed.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/commit.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/example-build.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/master_update.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/release.yml +2 -2
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/test-corpus.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/test-hypothesis.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/update-corpus.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/update-pre-commit.yml +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.pre-commit-config.yaml +3 -3
- {schemathesis-3.27.0 → schemathesis-3.27.1}/PKG-INFO +2 -3
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/changelog.rst +17 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/extending.rst +45 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/pyproject.toml +2 -3
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/__init__.py +1 -1
- schemathesis-3.27.1/src/schemathesis/cli/__main__.py +4 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/generation/__init__.py +14 -2
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/core.py +1 -4
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/_hypothesis.py +16 -5
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/__init__.py +4 -3
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/__init__.py +0 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_commands.py +6 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/conftest.py +7 -4
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_hypothesis.py +26 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/tox.ini +1 -1
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.dockerignore +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/FUNDING.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/dependabot.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.gitignore +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.gitmodules +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.readthedocs.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.relint.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.rstcheck.cfg +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/.yamllint +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/CITATION.cff +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/Dockerfile +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/Dockerfile.bookworm +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/LICENSE +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/README.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/benches/cli.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/benches/references.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/changelog.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/codecov.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/Makefile +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/additional-content.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/api.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/auth.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/cli.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/compatibility.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/conf.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/contrib.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/data-generation.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/examples.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/experimental.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/faq.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/getting-started.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/graphql.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/index.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/python.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/recipes.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/requirements.txt +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/sanitizing.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/service.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/stateful.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/targeted.rst +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/Dockerfile +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/README.md +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/compose.yml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/openapi.json +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-app.in +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-app.txt +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-pytest.in +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/extensions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/test_app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/img/demo.gif +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/img/service_github_report.png +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/mypy.ini +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_hypothesis.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/cassettes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/reporting.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/exceptions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/models.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/filters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/loaders.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/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.27.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/test_cli.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/test_provider.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/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.27.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/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.27.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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 +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1-.....].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5-......].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1-.....].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5-......].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1-.....].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5-......].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1-.....].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/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.27.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/cert.pem +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_cassettes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_options.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/test_install.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/extra/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/filters/test_matching.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_common.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_checks.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_events.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_probes.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_runner.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__init__.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_auth.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_ci.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_cli.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_extensions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_report.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_usage.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.27.1}/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.27.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_stateful.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_app.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_asgi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_async.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_common_parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_converter.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_dereferencing.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_direct_access.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_errors.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_examples.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_filters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_fixups.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_hypothesis.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_internal.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_lazy.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_models.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_package.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_parameters.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_parametrization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_petstore.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_pytest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_rate_limit.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_required.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_schemas.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_serialization.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_stateful.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_unittest.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_wsgi.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test/utils.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.27.0 → schemathesis-3.27.1}/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.0
|
|
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.
|
|
41
|
+
rev: v0.4.2
|
|
42
42
|
hooks:
|
|
43
43
|
- id: ruff-format
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.
|
|
46
|
+
rev: v0.4.2
|
|
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.27.
|
|
3
|
+
Version: 3.27.1
|
|
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
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.27.
|
|
4
|
+
:version:`Unreleased <v3.27.1...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.27.1:
|
|
8
|
+
|
|
9
|
+
:version:`3.27.1 <v3.27.0...v3.27.1>` - 2024-04-29
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Added**
|
|
13
|
+
|
|
14
|
+
- ``GenerationConfig.headers.strategy`` attribute for customizing header generation. :issue:`2137`
|
|
15
|
+
- Support for ``python -m schemathesis.cli``. :issue:`2142`
|
|
16
|
+
- Support for ``anyio>=4.0``. :issue:`2081`
|
|
17
|
+
|
|
18
|
+
**Fixed**
|
|
19
|
+
|
|
20
|
+
- Supporting non-Starlette ASGI apps. :issue:`2136`
|
|
21
|
+
- Missing version metadata in ASGI client causing errors with ASGI3-only apps. :issue:`2136`
|
|
22
|
+
|
|
7
23
|
.. _v3.27.0:
|
|
8
24
|
|
|
9
25
|
:version:`3.27.0 <v3.26.2...v3.27.0>` - 2024-04-14
|
|
@@ -651,6 +651,51 @@ In the example above, when Schemathesis detects a string with the "card_number"
|
|
|
651
651
|
|
|
652
652
|
For more details about creating strategies, refer to the `Hypothesis documentation <https://hypothesis.readthedocs.io/en/latest/data.html>`_.
|
|
653
653
|
|
|
654
|
+
Adjusting header generation
|
|
655
|
+
---------------------------
|
|
656
|
+
|
|
657
|
+
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.
|
|
658
|
+
|
|
659
|
+
To customize header generation, you can extend the ``GenerationConfig`` class and modify its ``headers`` attribute.
|
|
660
|
+
The ``headers`` attribute accepts a ``HeaderConfig`` object, which allows you to specify a custom Hypothesis strategy for generating header values.
|
|
661
|
+
|
|
662
|
+
Here's an example of how you can adjust header generation:
|
|
663
|
+
|
|
664
|
+
.. code-block:: python
|
|
665
|
+
|
|
666
|
+
import schemathesis
|
|
667
|
+
from schemathesis import GenerationConfig, HeaderConfig
|
|
668
|
+
from hypothesis import strategies as st
|
|
669
|
+
|
|
670
|
+
schema = schemathesis.from_uri(
|
|
671
|
+
"https://example.schemathesis.io/openapi.json",
|
|
672
|
+
generation_config=GenerationConfig(
|
|
673
|
+
headers=HeaderConfig(
|
|
674
|
+
strategy=st.text(
|
|
675
|
+
alphabet=st.characters(
|
|
676
|
+
min_codepoint=1,
|
|
677
|
+
max_codepoint=127,
|
|
678
|
+
).map(str.strip)
|
|
679
|
+
)
|
|
680
|
+
)
|
|
681
|
+
),
|
|
682
|
+
)
|
|
683
|
+
|
|
684
|
+
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.
|
|
685
|
+
|
|
686
|
+
Alternatively, you can customize header generation using the ``after_load_schema`` hook:
|
|
687
|
+
|
|
688
|
+
.. code-block:: python
|
|
689
|
+
|
|
690
|
+
import schemathesis
|
|
691
|
+
from hypothesis import strategies as st
|
|
692
|
+
|
|
693
|
+
@schemathesis.hook
|
|
694
|
+
def after_load_schema(context, schema) -> None:
|
|
695
|
+
schema.generation_config.headers.strategy = st.text(
|
|
696
|
+
alphabet=st.characters(min_codepoint=1, max_codepoint=127)
|
|
697
|
+
)
|
|
698
|
+
|
|
654
699
|
Generating payloads for unknown media types
|
|
655
700
|
-------------------------------------------
|
|
656
701
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.27.
|
|
7
|
+
version = "3.27.1"
|
|
8
8
|
description = "Property-based testing framework for Open API and GraphQL based apps"
|
|
9
9
|
keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
|
|
10
10
|
authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
|
|
@@ -31,7 +31,6 @@ classifiers = [
|
|
|
31
31
|
"Topic :: Software Development :: Testing",
|
|
32
32
|
]
|
|
33
33
|
dependencies = [
|
|
34
|
-
"anyio<4",
|
|
35
34
|
"backoff>=2.1.2,<3.0",
|
|
36
35
|
"click>=7.0,<9.0",
|
|
37
36
|
"colorama>=0.4,<1.0",
|
|
@@ -48,7 +47,7 @@ dependencies = [
|
|
|
48
47
|
"PyYAML>=5.1,<7.0",
|
|
49
48
|
"requests>=2.22,<3",
|
|
50
49
|
"starlette>=0.13,<1",
|
|
51
|
-
"starlette-testclient
|
|
50
|
+
"starlette-testclient>=0.4.1,<1",
|
|
52
51
|
"tomli-w>=1.0.0,<2.0",
|
|
53
52
|
"tomli>=2.0.1,<3.0",
|
|
54
53
|
"werkzeug>=0.16.0,<4",
|
|
@@ -3,7 +3,7 @@ from typing import Any
|
|
|
3
3
|
|
|
4
4
|
from . import auths, checks, experimental, contrib, fixups, graphql, hooks, runner, serializers, targets # noqa: E402
|
|
5
5
|
from ._lazy_import import lazy_import
|
|
6
|
-
from .generation import DataGenerationMethod, GenerationConfig # noqa: E402
|
|
6
|
+
from .generation import DataGenerationMethod, GenerationConfig, HeaderConfig # noqa: E402
|
|
7
7
|
from .constants import SCHEMATHESIS_VERSION # noqa: E402
|
|
8
8
|
from .models import Case # noqa: E402
|
|
9
9
|
from .specs import openapi # noqa: E402
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
import random
|
|
3
|
-
from dataclasses import dataclass
|
|
3
|
+
from dataclasses import dataclass, field
|
|
4
4
|
from enum import Enum
|
|
5
|
-
from typing import Union, Iterable
|
|
5
|
+
from typing import Union, Iterable, TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from hypothesis.strategies import SearchStrategy
|
|
6
9
|
|
|
7
10
|
|
|
8
11
|
class DataGenerationMethod(str, Enum):
|
|
@@ -58,6 +61,13 @@ def generate_random_case_id(length: int = 6) -> str:
|
|
|
58
61
|
return output
|
|
59
62
|
|
|
60
63
|
|
|
64
|
+
@dataclass
|
|
65
|
+
class HeaderConfig:
|
|
66
|
+
"""Configuration for generating headers."""
|
|
67
|
+
|
|
68
|
+
strategy: SearchStrategy[str] | None = None
|
|
69
|
+
|
|
70
|
+
|
|
61
71
|
@dataclass
|
|
62
72
|
class GenerationConfig:
|
|
63
73
|
"""Holds various configuration options relevant for data generation."""
|
|
@@ -66,3 +76,5 @@ class GenerationConfig:
|
|
|
66
76
|
allow_x00: bool = True
|
|
67
77
|
# Generate strings using the given codec
|
|
68
78
|
codec: str | None = "utf-8"
|
|
79
|
+
# Header generation configuration
|
|
80
|
+
headers: HeaderConfig = field(default_factory=HeaderConfig)
|
|
@@ -299,10 +299,7 @@ def run_probes(schema: BaseSchema, config: probes.ProbeConfig) -> list[probes.Pr
|
|
|
299
299
|
if isinstance(result.probe, probes.NullByteInHeader) and result.is_failure:
|
|
300
300
|
from ...specs.openapi._hypothesis import HEADER_FORMAT, header_values
|
|
301
301
|
|
|
302
|
-
formats.register(
|
|
303
|
-
HEADER_FORMAT,
|
|
304
|
-
header_values(blacklist_characters="\n\r\x00").map(str.lstrip),
|
|
305
|
-
)
|
|
302
|
+
formats.register(HEADER_FORMAT, header_values(blacklist_characters="\n\r\x00"))
|
|
306
303
|
return results
|
|
307
304
|
|
|
308
305
|
|
|
@@ -45,7 +45,8 @@ StrategyFactory = Callable[[Dict[str, Any], str, str, Optional[str], GenerationC
|
|
|
45
45
|
def header_values(blacklist_characters: str = "\n\r") -> st.SearchStrategy[str]:
|
|
46
46
|
return st.text(
|
|
47
47
|
alphabet=st.characters(min_codepoint=0, max_codepoint=255, blacklist_characters=blacklist_characters)
|
|
48
|
-
|
|
48
|
+
# Header values with leading non-visible chars can't be sent with `requests`
|
|
49
|
+
).map(str.lstrip)
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
@lru_cache
|
|
@@ -67,8 +68,7 @@ def get_default_format_strategies() -> dict[str, st.SearchStrategy]:
|
|
|
67
68
|
"_header_name": st.text(
|
|
68
69
|
min_size=1, alphabet=st.sampled_from("!#$%&'*+-.^_`|~" + string.digits + string.ascii_letters)
|
|
69
70
|
),
|
|
70
|
-
|
|
71
|
-
HEADER_FORMAT: header_value.map(str.lstrip),
|
|
71
|
+
HEADER_FORMAT: header_value,
|
|
72
72
|
"_basic_auth": st.tuples(latin1_text, latin1_text).map(make_basic_auth_str),
|
|
73
73
|
"_bearer_auth": header_value.map("Bearer {}".format),
|
|
74
74
|
}
|
|
@@ -425,6 +425,15 @@ def jsonify_python_specific_types(value: dict[str, Any]) -> dict[str, Any]:
|
|
|
425
425
|
return value
|
|
426
426
|
|
|
427
427
|
|
|
428
|
+
def _build_custom_formats(
|
|
429
|
+
custom_formats: dict[str, st.SearchStrategy] | None, generation_config: GenerationConfig
|
|
430
|
+
) -> dict[str, st.SearchStrategy]:
|
|
431
|
+
custom_formats = {**get_default_format_strategies(), **STRING_FORMATS, **(custom_formats or {})}
|
|
432
|
+
if generation_config.headers.strategy is not None:
|
|
433
|
+
custom_formats[HEADER_FORMAT] = generation_config.headers.strategy
|
|
434
|
+
return custom_formats
|
|
435
|
+
|
|
436
|
+
|
|
428
437
|
def make_positive_strategy(
|
|
429
438
|
schema: dict[str, Any],
|
|
430
439
|
operation_name: str,
|
|
@@ -441,9 +450,10 @@ def make_positive_strategy(
|
|
|
441
450
|
for sub_schema in schema.get("properties", {}).values():
|
|
442
451
|
if list(sub_schema) == ["type"] and sub_schema["type"] == "string":
|
|
443
452
|
sub_schema.setdefault("format", HEADER_FORMAT)
|
|
453
|
+
custom_formats = _build_custom_formats(custom_formats, generation_config)
|
|
444
454
|
return from_schema(
|
|
445
455
|
schema,
|
|
446
|
-
custom_formats=
|
|
456
|
+
custom_formats=custom_formats,
|
|
447
457
|
allow_x00=generation_config.allow_x00,
|
|
448
458
|
codec=generation_config.codec,
|
|
449
459
|
)
|
|
@@ -462,12 +472,13 @@ def make_negative_strategy(
|
|
|
462
472
|
generation_config: GenerationConfig,
|
|
463
473
|
custom_formats: dict[str, st.SearchStrategy] | None = None,
|
|
464
474
|
) -> st.SearchStrategy:
|
|
475
|
+
custom_formats = _build_custom_formats(custom_formats, generation_config)
|
|
465
476
|
return negative_schema(
|
|
466
477
|
schema,
|
|
467
478
|
operation_name=operation_name,
|
|
468
479
|
location=location,
|
|
469
480
|
media_type=media_type,
|
|
470
|
-
custom_formats=
|
|
481
|
+
custom_formats=custom_formats,
|
|
471
482
|
generation_config=generation_config,
|
|
472
483
|
)
|
|
473
484
|
|
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import base64
|
|
4
4
|
import time
|
|
5
|
+
from inspect import iscoroutinefunction
|
|
5
6
|
from contextlib import contextmanager
|
|
6
7
|
from dataclasses import dataclass
|
|
7
8
|
from datetime import timedelta
|
|
@@ -31,11 +32,11 @@ def serialize_payload(payload: bytes) -> str:
|
|
|
31
32
|
|
|
32
33
|
def get(app: Any) -> Transport:
|
|
33
34
|
"""Get transport to send the data to the application."""
|
|
34
|
-
from starlette.applications import Starlette
|
|
35
|
-
|
|
36
35
|
if app is None:
|
|
37
36
|
return RequestsTransport()
|
|
38
|
-
if
|
|
37
|
+
if iscoroutinefunction(app) or (
|
|
38
|
+
hasattr(app, "__call__") and iscoroutinefunction(app.__call__) # noqa: B004
|
|
39
|
+
):
|
|
39
40
|
return ASGITransport(app=app)
|
|
40
41
|
return WSGITransport(app=app)
|
|
41
42
|
|
|
@@ -65,6 +65,12 @@ def test_run_subprocess(testdir):
|
|
|
65
65
|
assert result.ret == ExitCode.OK
|
|
66
66
|
|
|
67
67
|
|
|
68
|
+
@pytest.mark.skipif(platform.system() == "Windows", reason="Requires extra setup on Windows")
|
|
69
|
+
def test_run_as_module(testdir):
|
|
70
|
+
result = testdir.run("python", "-m", "schemathesis.cli")
|
|
71
|
+
assert result.ret == ExitCode.OK
|
|
72
|
+
|
|
73
|
+
|
|
68
74
|
@pytest.mark.parametrize(
|
|
69
75
|
"args",
|
|
70
76
|
(
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import io
|
|
3
|
-
import platform
|
|
4
4
|
import json
|
|
5
|
+
import logging
|
|
5
6
|
import os
|
|
7
|
+
import platform
|
|
6
8
|
import re
|
|
7
9
|
import shlex
|
|
8
10
|
from contextlib import contextmanager
|
|
9
11
|
from dataclasses import dataclass, field
|
|
12
|
+
from importlib import metadata
|
|
10
13
|
from pathlib import Path
|
|
11
14
|
from textwrap import dedent
|
|
12
15
|
from types import SimpleNamespace
|
|
@@ -22,17 +25,16 @@ from hypothesis import settings
|
|
|
22
25
|
from packaging import version
|
|
23
26
|
from syrupy.extensions.single_file import SingleFileSnapshotExtension, WriteMode
|
|
24
27
|
from syrupy.types import PropertyFilter, PropertyMatcher
|
|
25
|
-
from importlib import metadata
|
|
26
28
|
from urllib3 import HTTPResponse
|
|
27
29
|
|
|
28
30
|
import schemathesis.cli
|
|
29
|
-
from schemathesis.cli.output.default import TEST_CASE_ID_TITLE
|
|
30
|
-
from schemathesis.models import Case
|
|
31
31
|
from schemathesis.cli import reset_checks
|
|
32
|
+
from schemathesis.cli.output.default import TEST_CASE_ID_TITLE
|
|
32
33
|
from schemathesis.constants import HOOKS_MODULE_ENV_VAR
|
|
33
34
|
from schemathesis.experimental import GLOBAL_EXPERIMENTS
|
|
34
35
|
from schemathesis.extra._aiohttp import run_server as run_aiohttp_server
|
|
35
36
|
from schemathesis.extra._flask import run_server as run_flask_server
|
|
37
|
+
from schemathesis.models import Case
|
|
36
38
|
from schemathesis.service import HOSTS_PATH_ENV_VAR
|
|
37
39
|
from schemathesis.specs.openapi import loaders as oas_loaders
|
|
38
40
|
from schemathesis.specs.openapi import media_types
|
|
@@ -45,6 +47,7 @@ from .utils import get_schema_path, make_schema
|
|
|
45
47
|
|
|
46
48
|
pytest_plugins = ["pytester", "aiohttp.pytest_plugin", "pytest_mock"]
|
|
47
49
|
|
|
50
|
+
logging.getLogger("pyrate_limiter").setLevel(logging.CRITICAL)
|
|
48
51
|
|
|
49
52
|
# Register Hypothesis profile. Could be used as
|
|
50
53
|
# `pytest test -m hypothesis --hypothesis-profile <profile-name>`
|
|
@@ -5,7 +5,7 @@ from hypothesis import assume, given, settings, Phase
|
|
|
5
5
|
from hypothesis import strategies as st
|
|
6
6
|
|
|
7
7
|
import schemathesis
|
|
8
|
-
from schemathesis.generation import GenerationConfig
|
|
8
|
+
from schemathesis.generation import GenerationConfig, HeaderConfig
|
|
9
9
|
from schemathesis.specs.openapi import _hypothesis, formats
|
|
10
10
|
from schemathesis.specs.openapi._hypothesis import get_case_strategy, is_valid_header, make_positive_strategy
|
|
11
11
|
from schemathesis.specs.openapi.references import load_file
|
|
@@ -156,6 +156,31 @@ def test_valid_headers(keywords):
|
|
|
156
156
|
test()
|
|
157
157
|
|
|
158
158
|
|
|
159
|
+
def test_configure_headers():
|
|
160
|
+
strategy = make_positive_strategy(
|
|
161
|
+
{
|
|
162
|
+
"type": "object",
|
|
163
|
+
"properties": {"X-Foo": {"type": "string"}},
|
|
164
|
+
"required": ["X-Foo"],
|
|
165
|
+
"additionalProperties": False,
|
|
166
|
+
},
|
|
167
|
+
"GET /users/",
|
|
168
|
+
"header",
|
|
169
|
+
None,
|
|
170
|
+
GenerationConfig(
|
|
171
|
+
headers=HeaderConfig(strategy=st.text(alphabet=st.characters(min_codepoint=65, max_codepoint=67)))
|
|
172
|
+
),
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
@given(strategy)
|
|
176
|
+
def test(headers):
|
|
177
|
+
# Then headers are always valid
|
|
178
|
+
assert is_valid_header(headers)
|
|
179
|
+
assert set(headers["X-Foo"]) - {"A", "B", "C"} == set()
|
|
180
|
+
|
|
181
|
+
test()
|
|
182
|
+
|
|
183
|
+
|
|
159
184
|
@pytest.mark.hypothesis_nested
|
|
160
185
|
def test_no_much_filtering_in_headers():
|
|
161
186
|
# When headers are generated
|
|
@@ -36,7 +36,7 @@ commands_pre =
|
|
|
36
36
|
|
|
37
37
|
[testenv:pytest6]
|
|
38
38
|
commands_pre =
|
|
39
|
-
pip install "pytest<7" "pytest-
|
|
39
|
+
pip install "pytest<7" "pytest-asyncio<0.21.0" "pytest-subtests<0.7.0" "pytest-xdist<3.6" "syrupy<4"
|
|
40
40
|
|
|
41
41
|
[testenv:coverage-report]
|
|
42
42
|
description = Report coverage over all measured test runs.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|