schemathesis 3.32.0__tar.gz → 3.32.2__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.32.0 → schemathesis-3.32.2}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.pre-commit-config.yaml +1 -1
- {schemathesis-3.32.0 → schemathesis-3.32.2}/PKG-INFO +1 -1
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/auth.rst +1 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/changelog.rst +24 -2
- {schemathesis-3.32.0 → schemathesis-3.32.2}/pyproject.toml +1 -1
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/filters.py +104 -5
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/lazy.py +10 -3
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/events.py +23 -1
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/serialization.py +70 -1
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/schemas.py +17 -30
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/serialization.py +3 -124
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/loaders.py +12 -10
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/schemas.py +29 -23
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/events.py +48 -2
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_commands.py +3 -1
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_crashes.py +14 -2
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/filters/test_matching.py +5 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/test_extensions.py +6 -4
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/test_serialization.py +2 -1
- schemathesis-3.32.0/src/schemathesis/specs/openapi/filters.py +0 -50
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.dockerignore +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/FUNDING.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/dependabot.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/build.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/release.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/update-corpus.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.gitignore +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.gitmodules +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.readthedocs.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.relint.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.rstcheck.cfg +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/.yamllint +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/CITATION.cff +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/Dockerfile +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/Dockerfile.bookworm +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/LICENSE +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/README.md +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/benches/cli.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/benches/references.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/benches/schema.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/changelog.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/codecov.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/corpus/tools.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/Makefile +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/additional-content.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/api.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/cli.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/compatibility.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/conf.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/contrib.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/data-generation.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/examples.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/experimental.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/extending.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/faq.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/getting-started.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/graphql.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/index.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/python.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/recipes.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/requirements.txt +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/sanitizing.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/service.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/stateful.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/docs/targeted.rst +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/Dockerfile +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/README.md +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/compose.yml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/openapi.json +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/requirements-app.in +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/requirements-app.txt +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/requirements-pytest.in +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/tests/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/tests/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/tests/extensions.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/example/tests/test_app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/img/demo.gif +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/img/service_github_report.png +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/mypy.ini +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/_hypothesis.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/cassettes.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/reporting.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/exceptions.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/extensions.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/output.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/models.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/impl/core.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/config.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/context.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/runner.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/sink.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/statistic.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/stateful/validation.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/types.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/cp1252_app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/hooks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/test_cli.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/test_provider.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/cert.pem +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_cassettes.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_checks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_options.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/test_install.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/experimental/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/extra/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/loaders/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/loaders/test_app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/loaders/test_common.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/runner/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/runner/test_checks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/runner/test_events.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/runner/test_probes.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/runner/test_runner.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/test_auth.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/test_ci.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/test_cli.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/test_report.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/service/test_usage.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/stateful/test_config.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/stateful/test_runner.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_app.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_asgi.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_async.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_common_parameters.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_converter.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_dereferencing.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_direct_access.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_examples.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_filters.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_fixups.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_hypothesis.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_internal.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_lazy.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_models.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_output.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_package.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_parameters.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_parametrization.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_petstore.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_pytest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_rate_limit.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_required.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_schemas.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_serialization.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_stateful.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_unittest.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_utils.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/test_wsgi.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test/utils.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/test_server.sh +0 -0
- {schemathesis-3.32.0 → schemathesis-3.32.2}/tox.ini +0 -0
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
|
|
39
39
|
# Initializes the CodeQL tools for scanning.
|
|
40
40
|
- name: Initialize CodeQL
|
|
41
|
-
uses: github/codeql-action/init@v3.25.
|
|
41
|
+
uses: github/codeql-action/init@v3.25.12
|
|
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.25.
|
|
52
|
+
uses: github/codeql-action/autobuild@v3.25.12
|
|
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.25.
|
|
66
|
+
uses: github/codeql-action/analyze@v3.25.12
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.32.
|
|
3
|
+
Version: 3.32.2
|
|
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
|
|
@@ -237,6 +237,7 @@ Conditions:
|
|
|
237
237
|
- ``method``: the upper-cased HTTP method of the API operation
|
|
238
238
|
- ``name``: the name of the API operation, such as ``GET /users/`` or ``Query.getUsers``
|
|
239
239
|
- ``tag``: the tag assigned to the API operation. For Open API it comes from the ``tags`` field.
|
|
240
|
+
- ``operation_id``: the ID of an API operation. For Open API it comes from the ``operationId`` field.
|
|
240
241
|
- Each condition can take either a single string or a list of options as input
|
|
241
242
|
- You can also use a regular expression to match the conditions by adding ``_regex`` to the end of the condition and passing a string or a compiled regex.
|
|
242
243
|
|
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.32.
|
|
4
|
+
:version:`Unreleased <v3.32.2...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.32.2:
|
|
8
|
+
|
|
9
|
+
:version:`3.32.2 <v3.32.1...v3.32.2>` - 2024-07-17
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Fixed**
|
|
13
|
+
|
|
14
|
+
- Circular import in ``schemathesis.runner.events``.
|
|
15
|
+
|
|
16
|
+
.. _v3.32.1:
|
|
17
|
+
|
|
18
|
+
:version:`3.32.1 <v3.32.0...v3.32.1>` - 2024-07-17
|
|
19
|
+
--------------------------------------------------
|
|
20
|
+
|
|
21
|
+
**Added**
|
|
22
|
+
|
|
23
|
+
- Filtering by ``operation_id`` in conditional auth implementation.
|
|
24
|
+
|
|
25
|
+
**Fixed**
|
|
26
|
+
|
|
27
|
+
- Internal error when saving debug logs with ``--experimental=stateful-test-runner`` or ``--experimental=schema-analysis`` enabled. :issue:`2353`
|
|
28
|
+
|
|
7
29
|
.. _v3.32.0:
|
|
8
30
|
|
|
9
31
|
:version:`3.32.0 <v3.31.1...v3.32.0>` - 2024-07-14
|
|
@@ -29,7 +51,7 @@ Changelog
|
|
|
29
51
|
- Ignoring configured data generation methods in new-style stateful tests.
|
|
30
52
|
- Using constant ``data_generation_method`` value for HTTP interactions in VCR cassettes.
|
|
31
53
|
- Not reporting errors with ``--experimental=stateful-only``. :issue:`2326`
|
|
32
|
-
- Internal error on
|
|
54
|
+
- Internal error on CTRL-C during new-style stateful tests.
|
|
33
55
|
- Use ``--request-proxy`` for API probing.
|
|
34
56
|
- Fill the ``seed`` field in cassettes for new-style stateful tests.
|
|
35
57
|
- Ignoring remote scope when getting API operation by reference.
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.32.
|
|
7
|
+
version = "3.32.2"
|
|
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" }]
|
|
@@ -8,6 +8,8 @@ from functools import partial
|
|
|
8
8
|
from types import SimpleNamespace
|
|
9
9
|
from typing import TYPE_CHECKING, Callable, List, Protocol, Union
|
|
10
10
|
|
|
11
|
+
from .types import NotSet, Filter as FilterType
|
|
12
|
+
|
|
11
13
|
from .exceptions import UsageError
|
|
12
14
|
|
|
13
15
|
if TYPE_CHECKING:
|
|
@@ -58,7 +60,12 @@ class Matcher:
|
|
|
58
60
|
def for_regex(cls, attribute: str, regex: RegexValue) -> Matcher:
|
|
59
61
|
"""Matcher that checks whether the specified attribute has the provided regex."""
|
|
60
62
|
if isinstance(regex, str):
|
|
61
|
-
|
|
63
|
+
flags: re.RegexFlag | int
|
|
64
|
+
if attribute == "method":
|
|
65
|
+
flags = re.IGNORECASE
|
|
66
|
+
else:
|
|
67
|
+
flags = 0
|
|
68
|
+
regex = re.compile(regex, flags=flags)
|
|
62
69
|
func = partial(by_regex, attribute=attribute, regex=regex)
|
|
63
70
|
label = f"{attribute}_regex={repr(regex)}"
|
|
64
71
|
return cls(func, label=label, _hash=hash(label))
|
|
@@ -71,6 +78,8 @@ class Matcher:
|
|
|
71
78
|
def get_operation_attribute(operation: APIOperation, attribute: str) -> str | list[str] | None:
|
|
72
79
|
if attribute == "tag":
|
|
73
80
|
return operation.tags
|
|
81
|
+
if attribute == "operation_id":
|
|
82
|
+
return operation.definition.raw.get("operationId")
|
|
74
83
|
# Just uppercase `method`
|
|
75
84
|
value = getattr(operation, attribute)
|
|
76
85
|
if attribute == "method":
|
|
@@ -101,8 +110,8 @@ def by_regex(ctx: HasAPIOperation, attribute: str, regex: re.Pattern) -> bool:
|
|
|
101
110
|
if value is None:
|
|
102
111
|
return False
|
|
103
112
|
if isinstance(value, list):
|
|
104
|
-
return any(bool(regex.
|
|
105
|
-
return bool(regex.
|
|
113
|
+
return any(bool(regex.search(entry)) for entry in value)
|
|
114
|
+
return bool(regex.search(value))
|
|
106
115
|
|
|
107
116
|
|
|
108
117
|
@dataclass(repr=False, frozen=True)
|
|
@@ -111,6 +120,8 @@ class Filter:
|
|
|
111
120
|
|
|
112
121
|
matchers: tuple[Matcher, ...]
|
|
113
122
|
|
|
123
|
+
__slots__ = ("matchers",)
|
|
124
|
+
|
|
114
125
|
def __repr__(self) -> str:
|
|
115
126
|
inner = " && ".join(matcher.label for matcher in self.matchers)
|
|
116
127
|
return f"<{self.__class__.__name__}: [{inner}]>"
|
|
@@ -127,8 +138,14 @@ class Filter:
|
|
|
127
138
|
class FilterSet:
|
|
128
139
|
"""Combines multiple filters to apply inclusion and exclusion rules on API operations."""
|
|
129
140
|
|
|
130
|
-
_includes: set[Filter]
|
|
131
|
-
_excludes: set[Filter]
|
|
141
|
+
_includes: set[Filter]
|
|
142
|
+
_excludes: set[Filter]
|
|
143
|
+
|
|
144
|
+
__slots__ = ("_includes", "_excludes")
|
|
145
|
+
|
|
146
|
+
def __init__(self) -> None:
|
|
147
|
+
self._includes = set()
|
|
148
|
+
self._excludes = set()
|
|
132
149
|
|
|
133
150
|
def apply_to(self, operations: list[APIOperation]) -> list[APIOperation]:
|
|
134
151
|
"""Get a filtered list of the given operations that match the filters."""
|
|
@@ -168,6 +185,8 @@ class FilterSet:
|
|
|
168
185
|
path_regex: RegexValue | None = None,
|
|
169
186
|
tag: FilterValue | None = None,
|
|
170
187
|
tag_regex: RegexValue | None = None,
|
|
188
|
+
operation_id: FilterValue | None = None,
|
|
189
|
+
operation_id_regex: RegexValue | None = None,
|
|
171
190
|
) -> None:
|
|
172
191
|
"""Add a new INCLUDE filter."""
|
|
173
192
|
self._add_filter(
|
|
@@ -181,6 +200,8 @@ class FilterSet:
|
|
|
181
200
|
path_regex=path_regex,
|
|
182
201
|
tag=tag,
|
|
183
202
|
tag_regex=tag_regex,
|
|
203
|
+
operation_id=operation_id,
|
|
204
|
+
operation_id_regex=operation_id_regex,
|
|
184
205
|
)
|
|
185
206
|
|
|
186
207
|
def exclude(
|
|
@@ -195,6 +216,8 @@ class FilterSet:
|
|
|
195
216
|
path_regex: RegexValue | None = None,
|
|
196
217
|
tag: FilterValue | None = None,
|
|
197
218
|
tag_regex: RegexValue | None = None,
|
|
219
|
+
operation_id: FilterValue | None = None,
|
|
220
|
+
operation_id_regex: RegexValue | None = None,
|
|
198
221
|
) -> None:
|
|
199
222
|
"""Add a new EXCLUDE filter."""
|
|
200
223
|
self._add_filter(
|
|
@@ -208,6 +231,8 @@ class FilterSet:
|
|
|
208
231
|
path_regex=path_regex,
|
|
209
232
|
tag=tag,
|
|
210
233
|
tag_regex=tag_regex,
|
|
234
|
+
operation_id=operation_id,
|
|
235
|
+
operation_id_regex=operation_id_regex,
|
|
211
236
|
)
|
|
212
237
|
|
|
213
238
|
def _add_filter(
|
|
@@ -223,6 +248,8 @@ class FilterSet:
|
|
|
223
248
|
path_regex: RegexValue | None = None,
|
|
224
249
|
tag: FilterValue | None = None,
|
|
225
250
|
tag_regex: RegexValue | None = None,
|
|
251
|
+
operation_id: FilterValue | None = None,
|
|
252
|
+
operation_id_regex: RegexValue | None = None,
|
|
226
253
|
) -> None:
|
|
227
254
|
matchers = []
|
|
228
255
|
if func is not None:
|
|
@@ -232,6 +259,7 @@ class FilterSet:
|
|
|
232
259
|
("method", method, method_regex),
|
|
233
260
|
("path", path, path_regex),
|
|
234
261
|
("tag", tag, tag_regex),
|
|
262
|
+
("operation_id", operation_id, operation_id_regex),
|
|
235
263
|
):
|
|
236
264
|
if expected is not None and regex is not None:
|
|
237
265
|
# To match anything the regex should match the expected value, hence passing them together is useless
|
|
@@ -295,3 +323,74 @@ def attach_filter_chain(
|
|
|
295
323
|
proxy.__name__ = attribute
|
|
296
324
|
|
|
297
325
|
setattr(target, attribute, proxy)
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
def filter_set_from_components(
|
|
329
|
+
*,
|
|
330
|
+
include: bool,
|
|
331
|
+
method: FilterType | None = None,
|
|
332
|
+
endpoint: FilterType | None = None,
|
|
333
|
+
tag: FilterType | None = None,
|
|
334
|
+
operation_id: FilterType | None = None,
|
|
335
|
+
skip_deprecated_operations: bool | None | NotSet = None,
|
|
336
|
+
parent: FilterSet | None = None,
|
|
337
|
+
) -> FilterSet:
|
|
338
|
+
def _is_defined(x: FilterType | None) -> bool:
|
|
339
|
+
return x is not None and not isinstance(x, NotSet)
|
|
340
|
+
|
|
341
|
+
def _is_deprecated(ctx: HasAPIOperation) -> bool:
|
|
342
|
+
return ctx.operation.definition.raw.get("deprecated") is True
|
|
343
|
+
|
|
344
|
+
def _prepare_filter(filter_: FilterType | None) -> RegexValue | None:
|
|
345
|
+
if filter_ is None or isinstance(filter_, NotSet):
|
|
346
|
+
return None
|
|
347
|
+
if isinstance(filter_, str):
|
|
348
|
+
return filter_
|
|
349
|
+
return "|".join(f"({f})" for f in filter_)
|
|
350
|
+
|
|
351
|
+
new = FilterSet()
|
|
352
|
+
|
|
353
|
+
if _is_defined(method) or _is_defined(endpoint) or _is_defined(tag) or _is_defined(operation_id):
|
|
354
|
+
new._add_filter(
|
|
355
|
+
include,
|
|
356
|
+
method_regex=_prepare_filter(method),
|
|
357
|
+
path_regex=_prepare_filter(endpoint),
|
|
358
|
+
tag_regex=_prepare_filter(tag),
|
|
359
|
+
operation_id_regex=_prepare_filter(operation_id),
|
|
360
|
+
)
|
|
361
|
+
if skip_deprecated_operations is True and not any(
|
|
362
|
+
matcher.label == _is_deprecated.__name__ for exclude_ in new._excludes for matcher in exclude_.matchers
|
|
363
|
+
):
|
|
364
|
+
new.exclude(func=_is_deprecated)
|
|
365
|
+
# Merge with the parent filter set
|
|
366
|
+
if parent is not None:
|
|
367
|
+
for include_ in parent._includes:
|
|
368
|
+
matchers = include_.matchers
|
|
369
|
+
ids = []
|
|
370
|
+
for idx, matcher in enumerate(matchers):
|
|
371
|
+
label = matcher.label
|
|
372
|
+
if (
|
|
373
|
+
(not isinstance(method, NotSet) and label.startswith("method_regex="))
|
|
374
|
+
or (not isinstance(endpoint, NotSet) and label.startswith("path_regex="))
|
|
375
|
+
or (not isinstance(tag, NotSet) and matcher.label.startswith("tag_regex="))
|
|
376
|
+
or (not isinstance(operation_id, NotSet) and matcher.label.startswith("operation_id_regex="))
|
|
377
|
+
):
|
|
378
|
+
ids.append(idx)
|
|
379
|
+
if ids:
|
|
380
|
+
matchers = tuple(matcher for idx, matcher in enumerate(matchers) if idx not in ids)
|
|
381
|
+
if matchers:
|
|
382
|
+
if new._includes:
|
|
383
|
+
existing = new._includes.pop()
|
|
384
|
+
matchers = existing.matchers + matchers
|
|
385
|
+
new._includes.add(Filter(matchers=matchers))
|
|
386
|
+
for exclude_ in parent._excludes:
|
|
387
|
+
matchers = exclude_.matchers
|
|
388
|
+
ids = []
|
|
389
|
+
for idx, matcher in enumerate(exclude_.matchers):
|
|
390
|
+
if skip_deprecated_operations is False and matcher.label == _is_deprecated.__name__:
|
|
391
|
+
ids.append(idx)
|
|
392
|
+
if ids:
|
|
393
|
+
matchers = tuple(matcher for idx, matcher in enumerate(matchers) if idx not in ids)
|
|
394
|
+
if matchers:
|
|
395
|
+
new._excludes.add(exclude_)
|
|
396
|
+
return new
|
|
@@ -19,6 +19,7 @@ from .auths import AuthStorage
|
|
|
19
19
|
from .code_samples import CodeSampleStyle
|
|
20
20
|
from .constants import FLAKY_FAILURE_MESSAGE, NOT_SET
|
|
21
21
|
from .exceptions import CheckFailed, OperationSchemaError, SkipTest, get_grouped_exception
|
|
22
|
+
from .filters import filter_set_from_components
|
|
22
23
|
from .generation import DataGenerationMethodInput, GenerationConfig
|
|
23
24
|
from .hooks import HookDispatcher, HookScope
|
|
24
25
|
from .internal.output import OutputConfig
|
|
@@ -341,18 +342,24 @@ def get_schema(
|
|
|
341
342
|
schema = request.getfixturevalue(name)
|
|
342
343
|
if not isinstance(schema, BaseSchema):
|
|
343
344
|
raise ValueError(f"The given schema must be an instance of BaseSchema, got: {type(schema)}")
|
|
344
|
-
|
|
345
|
-
|
|
345
|
+
|
|
346
|
+
filter_set = filter_set_from_components(
|
|
347
|
+
include=True,
|
|
346
348
|
method=method,
|
|
347
349
|
endpoint=endpoint,
|
|
348
350
|
tag=tag,
|
|
349
351
|
operation_id=operation_id,
|
|
352
|
+
skip_deprecated_operations=skip_deprecated_operations,
|
|
353
|
+
parent=schema.filter_set,
|
|
354
|
+
)
|
|
355
|
+
return schema.clone(
|
|
356
|
+
base_url=base_url,
|
|
357
|
+
filter_set=filter_set,
|
|
350
358
|
app=app,
|
|
351
359
|
test_function=test_function,
|
|
352
360
|
hooks=schema.hooks.merge(hooks),
|
|
353
361
|
auth=auth,
|
|
354
362
|
validate_schema=validate_schema,
|
|
355
|
-
skip_deprecated_operations=skip_deprecated_operations,
|
|
356
363
|
data_generation_methods=data_generation_methods,
|
|
357
364
|
generation_config=generation_config,
|
|
358
365
|
output_config=output_config,
|
|
@@ -9,7 +9,7 @@ from typing import TYPE_CHECKING, Any
|
|
|
9
9
|
from ..exceptions import RuntimeErrorType, SchemaError, SchemaErrorType, format_exception
|
|
10
10
|
from ..generation import DataGenerationMethod
|
|
11
11
|
from ..internal.datetime import current_datetime
|
|
12
|
-
from ..internal.result import Result
|
|
12
|
+
from ..internal.result import Err, Ok, Result
|
|
13
13
|
from .serialization import SerializedError, SerializedTestResult
|
|
14
14
|
|
|
15
15
|
if TYPE_CHECKING:
|
|
@@ -105,6 +105,25 @@ class BeforeAnalysis(ExecutionEvent):
|
|
|
105
105
|
class AfterAnalysis(ExecutionEvent):
|
|
106
106
|
analysis: Result[AnalysisResult, Exception] | None
|
|
107
107
|
|
|
108
|
+
def _serialize(self) -> dict[str, Any]:
|
|
109
|
+
from ..service.models import AnalysisSuccess
|
|
110
|
+
|
|
111
|
+
data = {}
|
|
112
|
+
if isinstance(self.analysis, Ok):
|
|
113
|
+
result = self.analysis.ok()
|
|
114
|
+
if isinstance(result, AnalysisSuccess):
|
|
115
|
+
data["analysis_id"] = result.id
|
|
116
|
+
else:
|
|
117
|
+
data["error"] = result.message
|
|
118
|
+
elif isinstance(self.analysis, Err):
|
|
119
|
+
data["error"] = format_exception(self.analysis.err())
|
|
120
|
+
return data
|
|
121
|
+
|
|
122
|
+
def asdict(self, **kwargs: Any) -> dict[str, Any]:
|
|
123
|
+
data = self._serialize()
|
|
124
|
+
data["event_type"] = self.__class__.__name__
|
|
125
|
+
return data
|
|
126
|
+
|
|
108
127
|
|
|
109
128
|
class CurrentOperationMixin:
|
|
110
129
|
method: str
|
|
@@ -296,6 +315,9 @@ class StatefulEvent(ExecutionEvent):
|
|
|
296
315
|
|
|
297
316
|
__slots__ = ("data",)
|
|
298
317
|
|
|
318
|
+
def asdict(self, **kwargs: Any) -> dict[str, Any]:
|
|
319
|
+
return {"data": self.data.asdict(**kwargs), "event_type": self.__class__.__name__}
|
|
320
|
+
|
|
299
321
|
|
|
300
322
|
@dataclass
|
|
301
323
|
class AfterStatefulExecution(ExecutionEvent):
|
|
@@ -8,7 +8,7 @@ from __future__ import annotations
|
|
|
8
8
|
import logging
|
|
9
9
|
import re
|
|
10
10
|
import textwrap
|
|
11
|
-
from dataclasses import dataclass, field
|
|
11
|
+
from dataclasses import asdict, dataclass, field
|
|
12
12
|
from typing import TYPE_CHECKING, Any, cast
|
|
13
13
|
|
|
14
14
|
from ..code_samples import get_excluded_headers
|
|
@@ -453,3 +453,72 @@ def deduplicate_failures(checks: list[SerializedCheck]) -> list[SerializedCheck]
|
|
|
453
453
|
unique_checks.append(check)
|
|
454
454
|
seen.add(key)
|
|
455
455
|
return unique_checks
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
def _serialize_case(case: SerializedCase) -> dict[str, Any]:
|
|
459
|
+
return {
|
|
460
|
+
"id": case.id,
|
|
461
|
+
"generation_time": case.generation_time,
|
|
462
|
+
"verbose_name": case.verbose_name,
|
|
463
|
+
"path_template": case.path_template,
|
|
464
|
+
"path_parameters": stringify_path_parameters(case.path_parameters),
|
|
465
|
+
"query": prepare_query(case.query),
|
|
466
|
+
"cookies": case.cookies,
|
|
467
|
+
"media_type": case.media_type,
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
def _serialize_response(response: Response) -> dict[str, Any]:
|
|
472
|
+
return {
|
|
473
|
+
"status_code": response.status_code,
|
|
474
|
+
"headers": response.headers,
|
|
475
|
+
"body": response.body,
|
|
476
|
+
"encoding": response.encoding,
|
|
477
|
+
"elapsed": response.elapsed,
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
def _serialize_check(check: SerializedCheck) -> dict[str, Any]:
|
|
482
|
+
return {
|
|
483
|
+
"name": check.name,
|
|
484
|
+
"value": check.value,
|
|
485
|
+
"request": {
|
|
486
|
+
"method": check.request.method,
|
|
487
|
+
"uri": check.request.uri,
|
|
488
|
+
"body": check.request.body,
|
|
489
|
+
"headers": check.request.headers,
|
|
490
|
+
},
|
|
491
|
+
"response": _serialize_response(check.response) if check.response is not None else None,
|
|
492
|
+
"example": _serialize_case(check.example),
|
|
493
|
+
"message": check.message,
|
|
494
|
+
"context": asdict(check.context) if check.context is not None else None, # type: ignore
|
|
495
|
+
"history": [
|
|
496
|
+
{"case": _serialize_case(entry.case), "response": _serialize_response(entry.response)}
|
|
497
|
+
for entry in check.history
|
|
498
|
+
],
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
def stringify_path_parameters(path_parameters: dict[str, Any] | None) -> dict[str, str]:
|
|
503
|
+
"""Cast all path parameter values to strings.
|
|
504
|
+
|
|
505
|
+
Path parameter values may be of arbitrary type, but to display them properly they should be casted to strings.
|
|
506
|
+
"""
|
|
507
|
+
return {key: str(value) for key, value in (path_parameters or {}).items()}
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
def prepare_query(query: dict[str, Any] | None) -> dict[str, list[str]]:
|
|
511
|
+
"""Convert all query values to list of strings.
|
|
512
|
+
|
|
513
|
+
Query parameters may be generated in different shapes, including integers, strings, list of strings, etc.
|
|
514
|
+
It can also be an object, if the schema contains an object, but `style` and `explode` combo is not applicable.
|
|
515
|
+
"""
|
|
516
|
+
|
|
517
|
+
def to_list_of_strings(value: Any) -> list[str]:
|
|
518
|
+
if isinstance(value, list):
|
|
519
|
+
return list(map(str, value))
|
|
520
|
+
if isinstance(value, str):
|
|
521
|
+
return [value]
|
|
522
|
+
return [str(value)]
|
|
523
|
+
|
|
524
|
+
return {key: to_list_of_strings(value) for key, value in (query or {}).items()}
|
|
@@ -37,6 +37,7 @@ from .auths import AuthStorage
|
|
|
37
37
|
from .code_samples import CodeSampleStyle
|
|
38
38
|
from .constants import NOT_SET
|
|
39
39
|
from .exceptions import OperationSchemaError, UsageError
|
|
40
|
+
from .filters import FilterSet, filter_set_from_components
|
|
40
41
|
from .generation import (
|
|
41
42
|
DEFAULT_DATA_GENERATION_METHODS,
|
|
42
43
|
DataGenerationMethod,
|
|
@@ -81,16 +82,12 @@ class BaseSchema(Mapping):
|
|
|
81
82
|
transport: Transport
|
|
82
83
|
location: str | None = None
|
|
83
84
|
base_url: str | None = None
|
|
84
|
-
|
|
85
|
-
endpoint: Filter | None = None
|
|
86
|
-
tag: Filter | None = None
|
|
87
|
-
operation_id: Filter | None = None
|
|
85
|
+
filter_set: FilterSet = field(default_factory=FilterSet)
|
|
88
86
|
app: Any = None
|
|
89
87
|
hooks: HookDispatcher = field(default_factory=lambda: HookDispatcher(scope=HookScope.SCHEMA))
|
|
90
88
|
auth: AuthStorage = field(default_factory=AuthStorage)
|
|
91
89
|
test_function: GenericTest | None = None
|
|
92
90
|
validate_schema: bool = True
|
|
93
|
-
skip_deprecated_operations: bool = False
|
|
94
91
|
data_generation_methods: list[DataGenerationMethod] = field(
|
|
95
92
|
default_factory=lambda: list(DEFAULT_DATA_GENERATION_METHODS)
|
|
96
93
|
)
|
|
@@ -242,6 +239,16 @@ class BaseSchema(Mapping):
|
|
|
242
239
|
CodeSampleStyle.from_str(code_sample_style) if isinstance(code_sample_style, str) else code_sample_style
|
|
243
240
|
)
|
|
244
241
|
|
|
242
|
+
filter_set = filter_set_from_components(
|
|
243
|
+
include=True,
|
|
244
|
+
method=method,
|
|
245
|
+
endpoint=endpoint,
|
|
246
|
+
tag=tag,
|
|
247
|
+
operation_id=operation_id,
|
|
248
|
+
skip_deprecated_operations=skip_deprecated_operations,
|
|
249
|
+
parent=self.filter_set,
|
|
250
|
+
)
|
|
251
|
+
|
|
245
252
|
def wrapper(func: GenericTest) -> GenericTest:
|
|
246
253
|
if hasattr(func, PARAMETRIZE_MARKER):
|
|
247
254
|
|
|
@@ -256,13 +263,9 @@ class BaseSchema(Mapping):
|
|
|
256
263
|
HookDispatcher.add_dispatcher(func)
|
|
257
264
|
cloned = self.clone(
|
|
258
265
|
test_function=func,
|
|
259
|
-
method=method,
|
|
260
|
-
endpoint=endpoint,
|
|
261
|
-
tag=tag,
|
|
262
|
-
operation_id=operation_id,
|
|
263
266
|
validate_schema=validate_schema,
|
|
264
|
-
skip_deprecated_operations=skip_deprecated_operations,
|
|
265
267
|
data_generation_methods=data_generation_methods,
|
|
268
|
+
filter_set=filter_set,
|
|
266
269
|
code_sample_style=_code_sample_style, # type: ignore
|
|
267
270
|
)
|
|
268
271
|
setattr(func, PARAMETRIZE_MARKER, cloned)
|
|
@@ -279,38 +282,26 @@ class BaseSchema(Mapping):
|
|
|
279
282
|
*,
|
|
280
283
|
base_url: str | None | NotSet = NOT_SET,
|
|
281
284
|
test_function: GenericTest | None = None,
|
|
282
|
-
method: Filter | None = NOT_SET,
|
|
283
|
-
endpoint: Filter | None = NOT_SET,
|
|
284
|
-
tag: Filter | None = NOT_SET,
|
|
285
|
-
operation_id: Filter | None = NOT_SET,
|
|
286
285
|
app: Any = NOT_SET,
|
|
287
286
|
hooks: HookDispatcher | NotSet = NOT_SET,
|
|
288
287
|
auth: AuthStorage | NotSet = NOT_SET,
|
|
289
288
|
validate_schema: bool | NotSet = NOT_SET,
|
|
290
|
-
skip_deprecated_operations: bool | NotSet = NOT_SET,
|
|
291
289
|
data_generation_methods: DataGenerationMethodInput | NotSet = NOT_SET,
|
|
292
290
|
generation_config: GenerationConfig | NotSet = NOT_SET,
|
|
293
291
|
output_config: OutputConfig | NotSet = NOT_SET,
|
|
294
292
|
code_sample_style: CodeSampleStyle | NotSet = NOT_SET,
|
|
295
293
|
rate_limiter: Limiter | None = NOT_SET,
|
|
296
294
|
sanitize_output: bool | NotSet | None = NOT_SET,
|
|
295
|
+
filter_set: FilterSet | None = None,
|
|
297
296
|
) -> BaseSchema:
|
|
298
297
|
if base_url is NOT_SET:
|
|
299
298
|
base_url = self.base_url
|
|
300
|
-
if method is NOT_SET:
|
|
301
|
-
method = self.method
|
|
302
|
-
if endpoint is NOT_SET:
|
|
303
|
-
endpoint = self.endpoint
|
|
304
|
-
if tag is NOT_SET:
|
|
305
|
-
tag = self.tag
|
|
306
|
-
if operation_id is NOT_SET:
|
|
307
|
-
operation_id = self.operation_id
|
|
308
299
|
if app is NOT_SET:
|
|
309
300
|
app = self.app
|
|
310
301
|
if validate_schema is NOT_SET:
|
|
311
302
|
validate_schema = self.validate_schema
|
|
312
|
-
if
|
|
313
|
-
|
|
303
|
+
if filter_set is None:
|
|
304
|
+
filter_set = self.filter_set
|
|
314
305
|
if hooks is NOT_SET:
|
|
315
306
|
hooks = self.hooks
|
|
316
307
|
if auth is NOT_SET:
|
|
@@ -332,22 +323,18 @@ class BaseSchema(Mapping):
|
|
|
332
323
|
self.raw_schema,
|
|
333
324
|
location=self.location,
|
|
334
325
|
base_url=base_url, # type: ignore
|
|
335
|
-
method=method,
|
|
336
|
-
endpoint=endpoint,
|
|
337
|
-
tag=tag,
|
|
338
|
-
operation_id=operation_id,
|
|
339
326
|
app=app,
|
|
340
327
|
hooks=hooks, # type: ignore
|
|
341
328
|
auth=auth, # type: ignore
|
|
342
329
|
test_function=test_function,
|
|
343
330
|
validate_schema=validate_schema, # type: ignore
|
|
344
|
-
skip_deprecated_operations=skip_deprecated_operations, # type: ignore
|
|
345
331
|
data_generation_methods=data_generation_methods, # type: ignore
|
|
346
332
|
generation_config=generation_config, # type: ignore
|
|
347
333
|
output_config=output_config, # type: ignore
|
|
348
334
|
code_sample_style=code_sample_style, # type: ignore
|
|
349
335
|
rate_limiter=rate_limiter, # type: ignore
|
|
350
336
|
sanitize_output=sanitize_output, # type: ignore
|
|
337
|
+
filter_set=filter_set, # type: ignore
|
|
351
338
|
transport=self.transport,
|
|
352
339
|
)
|
|
353
340
|
|