schemathesis 3.31.1__tar.gz → 3.32.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.31.1 → schemathesis-3.32.1}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.pre-commit-config.yaml +3 -3
- {schemathesis-3.31.1 → schemathesis-3.32.1}/PKG-INFO +2 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/benches/schema.py +21 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/auth.rst +1 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/changelog.rst +49 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/requirements-pytest.txt +1 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/pyproject.toml +2 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/checks.py +4 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/__init__.py +11 -4
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/cassettes.py +1 -8
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/constants.py +6 -2
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/output/default.py +18 -7
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/exceptions.py +7 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/filters.py +104 -5
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/copy.py +3 -0
- schemathesis-3.32.1/src/schemathesis/internal/extensions.py +27 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/lazy.py +10 -3
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/__init__.py +9 -8
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/events.py +22 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/impl/core.py +71 -60
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/impl/solo.py +1 -9
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/impl/threadpool.py +2 -8
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/probes.py +10 -9
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/serialization.py +73 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/schemas.py +17 -30
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/serialization.py +3 -124
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/_hypothesis.py +2 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/loaders.py +12 -10
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/schemas.py +31 -25
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/stateful/__init__.py +16 -3
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/config.py +20 -2
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/context.py +15 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/events.py +50 -4
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/runner.py +50 -11
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/sink.py +1 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/state_machine.py +5 -3
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/validation.py +38 -18
- schemathesis-3.32.1/src/schemathesis/targets.py +77 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/transports/__init__.py +13 -1
- schemathesis-3.32.1/src/schemathesis/transports/auth.py +37 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +6 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +6 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +6 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +6 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_group_errors.raw +6 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +6 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +2 -2
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +2 -2
- schemathesis-3.32.1/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +45 -0
- schemathesis-3.32.1/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +46 -0
- schemathesis-3.32.1/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +82 -0
- schemathesis-3.32.1/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +61 -0
- schemathesis-3.32.1/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +61 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +7 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +10 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +1 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_commands.py +97 -11
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_crashes.py +14 -2
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/filters/test_matching.py +5 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/runner/test_probes.py +6 -3
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/runner/test_runner.py +84 -2
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/test_extensions.py +6 -4
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/test_serialization.py +2 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +6 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/stateful/conftest.py +15 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/stateful/test_runner.py +205 -4
- {schemathesis-3.31.1/test/specs/openapi/randomized → schemathesis-3.32.1/test/specs/openapi}/test_randomized.py +4 -5
- schemathesis-3.32.1/test/test_internal.py +49 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_lazy.py +0 -1
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_sanitizing_output.py +7 -1
- schemathesis-3.31.1/src/schemathesis/specs/openapi/filters.py +0 -50
- schemathesis-3.31.1/src/schemathesis/targets.py +0 -46
- schemathesis-3.31.1/src/schemathesis/transports/auth.py +0 -16
- schemathesis-3.31.1/test/specs/openapi/randomized/factory.py +0 -24
- schemathesis-3.31.1/test/specs/openapi/randomized/types.py +0 -28
- schemathesis-3.31.1/test/specs/openapi/randomized/v2.py +0 -202
- schemathesis-3.31.1/test/specs/openapi/stateful/__init__.py +0 -0
- schemathesis-3.31.1/test/test_internal.py +0 -12
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.dockerignore +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/FUNDING.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/dependabot.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/build.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/release.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/update-corpus.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.gitignore +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.gitmodules +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.readthedocs.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.relint.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.rstcheck.cfg +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/.yamllint +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/CITATION.cff +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/Dockerfile +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/Dockerfile.bookworm +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/LICENSE +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/README.md +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/benches/cli.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/benches/references.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/changelog.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/codecov.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/corpus/tools.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/Makefile +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/additional-content.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/api.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/cli.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/compatibility.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/conf.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/contrib.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/data-generation.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/examples.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/experimental.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/extending.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/faq.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/getting-started.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/graphql.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/index.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/python.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/recipes.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/requirements.txt +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/sanitizing.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/service.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/stateful.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/docs/targeted.rst +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/Dockerfile +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/README.md +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/compose.yml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/openapi.json +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/requirements-app.in +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/requirements-app.txt +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/requirements-pytest.in +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/tests/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/tests/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/tests/extensions.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/example/tests/test_app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/img/demo.gif +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/img/service_github_report.png +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/mypy.ini +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/_hypothesis.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/reporting.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/output.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/models.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/stateful/statistic.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/types.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/cp1252_app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/hooks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/test_cli.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/test_provider.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.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.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.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.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/cert.pem +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_cassettes.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_checks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_options.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/test_install.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/experimental/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/extra/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/loaders/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/loaders/test_app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/loaders/test_common.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/runner/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/runner/test_checks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/runner/test_events.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/test_auth.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/test_ci.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/test_cli.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/test_report.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/service/test_usage.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.31.1/test/specs/openapi/randomized → schemathesis-3.32.1/test/specs/openapi/stateful}/__init__.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/stateful/test_config.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_app.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_asgi.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_async.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_common_parameters.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_converter.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_dereferencing.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_direct_access.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_examples.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_filters.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_fixups.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_hypothesis.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_models.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_output.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_package.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_parameters.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_parametrization.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_petstore.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_pytest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_rate_limit.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_required.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_schemas.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_serialization.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_stateful.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_unittest.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_utils.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/test_wsgi.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test/utils.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/test_server.sh +0 -0
- {schemathesis-3.31.1 → schemathesis-3.32.1}/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
|
|
@@ -38,17 +38,17 @@ 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.5.
|
|
41
|
+
rev: v0.5.1
|
|
42
42
|
hooks:
|
|
43
43
|
- id: ruff-format
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.5.
|
|
46
|
+
rev: v0.5.1
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff
|
|
49
49
|
|
|
50
50
|
- repo: https://github.com/myint/rstcheck
|
|
51
|
-
rev: v6.2.
|
|
51
|
+
rev: v6.2.4
|
|
52
52
|
hooks:
|
|
53
53
|
- id: rstcheck
|
|
54
54
|
additional_dependencies:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.32.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
|
|
@@ -66,6 +66,7 @@ Requires-Dist: aiohttp<4.0,>=3.9.1; extra == 'tests'
|
|
|
66
66
|
Requires-Dist: coverage>=6; extra == 'tests'
|
|
67
67
|
Requires-Dist: fastapi>=0.86.0; extra == 'tests'
|
|
68
68
|
Requires-Dist: flask<3.0,>=2.1.1; extra == 'tests'
|
|
69
|
+
Requires-Dist: hypothesis-openapi<1,>=0.2; python_version >= '3.10' and extra == 'tests'
|
|
69
70
|
Requires-Dist: pydantic>=1.10.2; extra == 'tests'
|
|
70
71
|
Requires-Dist: pytest-asyncio<1.0,>=0.18.0; extra == 'tests'
|
|
71
72
|
Requires-Dist: pytest-httpserver<2.0,>=1.0; extra == 'tests'
|
|
@@ -7,6 +7,7 @@ from hypothesis import HealthCheck, Phase, Verbosity
|
|
|
7
7
|
|
|
8
8
|
import schemathesis
|
|
9
9
|
from schemathesis.runner import from_schema
|
|
10
|
+
from schemathesis.internal.copy import fast_deepcopy
|
|
10
11
|
|
|
11
12
|
CURRENT_DIR = pathlib.Path(__file__).parent.absolute()
|
|
12
13
|
sys.path.append(str(CURRENT_DIR.parent))
|
|
@@ -222,3 +223,23 @@ def test_links_count(raw_schema):
|
|
|
222
223
|
schema = schemathesis.from_dict(raw_schema)
|
|
223
224
|
|
|
224
225
|
_ = schema.links_count
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
@pytest.mark.benchmark
|
|
229
|
+
@pytest.mark.parametrize(
|
|
230
|
+
"schema",
|
|
231
|
+
[
|
|
232
|
+
BBCI,
|
|
233
|
+
VMWARE,
|
|
234
|
+
STRIPE,
|
|
235
|
+
UNIVERSE,
|
|
236
|
+
APPVEYOR,
|
|
237
|
+
EVETECH,
|
|
238
|
+
OSISOFT,
|
|
239
|
+
ML_WEBSERVICES,
|
|
240
|
+
AZURE_NETWORK,
|
|
241
|
+
],
|
|
242
|
+
ids=("bbci", "vmware", "stripe", "universe", "appveyor", "evetech", "osisoft", "ml_webservices", "azure_network"),
|
|
243
|
+
)
|
|
244
|
+
def test_deepcopy(schema):
|
|
245
|
+
fast_deepcopy(schema)
|
|
@@ -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,57 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.
|
|
4
|
+
:version:`Unreleased <v3.32.1...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.32.1:
|
|
8
|
+
|
|
9
|
+
:version:`3.32.1 <v3.32.0...v3.32.1>` - 2024-07-17
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Added**
|
|
13
|
+
|
|
14
|
+
- Filtering by ``operation_id`` in conditional auth implementation.
|
|
15
|
+
|
|
16
|
+
**Fixed**
|
|
17
|
+
|
|
18
|
+
- Internal error when saving debug logs with ``--experimental=stateful-test-runner`` or ``--experimental=schema-analysis`` enabled. :issue:`2353`
|
|
19
|
+
|
|
20
|
+
.. _v3.32.0:
|
|
21
|
+
|
|
22
|
+
:version:`3.32.0 <v3.31.1...v3.32.0>` - 2024-07-14
|
|
23
|
+
--------------------------------------------------
|
|
24
|
+
|
|
25
|
+
**Added**
|
|
26
|
+
|
|
27
|
+
- Support for authentication via CLI arguments in new-style stateful tests.
|
|
28
|
+
- Support for ``--hypothesis-seed`` in new-style stateful tests.
|
|
29
|
+
- Support for ``--set-*`` CLI options in new-style stateful tests.
|
|
30
|
+
- Support for ``--max-response-time`` in new-style stateful tests.
|
|
31
|
+
- Support for targeted property-based testing in new-style stateful tests.
|
|
32
|
+
- Support for ``--request-*`` CLI options in new-style stateful tests.
|
|
33
|
+
- Support for ``--generation-*`` CLI options in new-style stateful tests.
|
|
34
|
+
- Support for ``--max-failures`` in new-style stateful tests.
|
|
35
|
+
- Support for ``--dry-run`` in new-style stateful tests.
|
|
36
|
+
- ``all`` variant for the ``--hypothesis-suppress-health-check`` CLI option.
|
|
37
|
+
- Support for Hypothesis >= ``6.108.0``.
|
|
38
|
+
|
|
39
|
+
**Fixed**
|
|
40
|
+
|
|
41
|
+
- WSGI support for new-style stateful tests.
|
|
42
|
+
- Ignoring configured data generation methods in new-style stateful tests.
|
|
43
|
+
- Using constant ``data_generation_method`` value for HTTP interactions in VCR cassettes.
|
|
44
|
+
- Not reporting errors with ``--experimental=stateful-only``. :issue:`2326`
|
|
45
|
+
- Internal error on CTRL-C during new-style stateful tests.
|
|
46
|
+
- Use ``--request-proxy`` for API probing.
|
|
47
|
+
- Fill the ``seed`` field in cassettes for new-style stateful tests.
|
|
48
|
+
- Ignoring remote scope when getting API operation by reference.
|
|
49
|
+
|
|
50
|
+
**Changed**
|
|
51
|
+
|
|
52
|
+
- Do not run new-style stateful tests if unit tests exited due to ``--exitfirst``.
|
|
53
|
+
- Display error details if API probing fails.
|
|
54
|
+
|
|
7
55
|
.. _v3.31.1:
|
|
8
56
|
|
|
9
57
|
:version:`3.31.1 <v3.31.0...v3.31.1>` - 2024-07-03
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.
|
|
7
|
+
version = "3.32.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" }]
|
|
@@ -60,6 +60,7 @@ tests = [
|
|
|
60
60
|
"coverage>=6",
|
|
61
61
|
"fastapi>=0.86.0",
|
|
62
62
|
"Flask>=2.1.1,<3.0",
|
|
63
|
+
"hypothesis-openapi>=0.2,<1; python_version >= '3.10'",
|
|
63
64
|
"pydantic>=1.10.2",
|
|
64
65
|
"pytest-asyncio>=0.18.0,<1.0",
|
|
65
66
|
"pytest-httpserver>=1.0,<2.0",
|
|
@@ -39,6 +39,10 @@ def not_a_server_error(response: GenericResponse, case: Case) -> bool | None:
|
|
|
39
39
|
return None
|
|
40
40
|
|
|
41
41
|
|
|
42
|
+
def _make_max_response_time_failure_message(elapsed_time: float, max_response_time: int) -> str:
|
|
43
|
+
return f"Actual: {elapsed_time:.2f}ms\nLimit: {max_response_time}.00ms"
|
|
44
|
+
|
|
45
|
+
|
|
42
46
|
DEFAULT_CHECKS: tuple[CheckFunction, ...] = (not_a_server_error,)
|
|
43
47
|
OPTIONAL_CHECKS = (
|
|
44
48
|
status_code_conformance,
|
|
@@ -47,6 +47,7 @@ from ..specs.graphql import loaders as gql_loaders
|
|
|
47
47
|
from ..specs.openapi import loaders as oas_loaders
|
|
48
48
|
from ..stateful import Stateful
|
|
49
49
|
from ..targets import Target
|
|
50
|
+
from ..transports import RequestConfig
|
|
50
51
|
from ..transports.auth import get_requests_auth
|
|
51
52
|
from ..types import Filter, PathLike, RequestCert
|
|
52
53
|
from . import callbacks, cassettes, output
|
|
@@ -850,7 +851,7 @@ def run(
|
|
|
850
851
|
_hypothesis_suppress_health_check: list[hypothesis.HealthCheck] | None = None
|
|
851
852
|
if hypothesis_suppress_health_check is not None:
|
|
852
853
|
_hypothesis_suppress_health_check = [
|
|
853
|
-
|
|
854
|
+
entry for health_check in hypothesis_suppress_health_check for entry in health_check.as_hypothesis()
|
|
854
855
|
]
|
|
855
856
|
|
|
856
857
|
if contrib_unique_data:
|
|
@@ -1073,6 +1074,7 @@ class LoaderConfig:
|
|
|
1073
1074
|
wait_for_schema: float | None
|
|
1074
1075
|
rate_limit: str | None
|
|
1075
1076
|
output_config: OutputConfig
|
|
1077
|
+
generation_config: generation.GenerationConfig
|
|
1076
1078
|
# Network request parameters
|
|
1077
1079
|
auth: tuple[str, str] | None
|
|
1078
1080
|
auth_type: str | None
|
|
@@ -1151,6 +1153,7 @@ def into_event_stream(
|
|
|
1151
1153
|
tag=tag or None,
|
|
1152
1154
|
operation_id=operation_id or None,
|
|
1153
1155
|
output_config=output_config,
|
|
1156
|
+
generation_config=generation_config,
|
|
1154
1157
|
)
|
|
1155
1158
|
schema = load_schema(config)
|
|
1156
1159
|
yield from runner.from_schema(
|
|
@@ -1179,9 +1182,12 @@ def into_event_stream(
|
|
|
1179
1182
|
generation_config=generation_config,
|
|
1180
1183
|
probe_config=probes.ProbeConfig(
|
|
1181
1184
|
base_url=config.base_url,
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
+
request=RequestConfig(
|
|
1186
|
+
timeout=request_timeout,
|
|
1187
|
+
tls_verify=config.request_tls_verify,
|
|
1188
|
+
proxy=config.request_proxy,
|
|
1189
|
+
cert=config.request_cert,
|
|
1190
|
+
),
|
|
1185
1191
|
auth=config.auth,
|
|
1186
1192
|
auth_type=config.auth_type,
|
|
1187
1193
|
headers=config.headers,
|
|
@@ -1297,6 +1303,7 @@ def get_loader_kwargs(loader: Callable, config: LoaderConfig) -> dict[str, Any]:
|
|
|
1297
1303
|
"data_generation_methods": config.data_generation_methods,
|
|
1298
1304
|
"rate_limit": config.rate_limit,
|
|
1299
1305
|
"output_config": config.output_config,
|
|
1306
|
+
"generation_config": config.generation_config,
|
|
1300
1307
|
}
|
|
1301
1308
|
if loader not in (oas_loaders.from_path, oas_loaders.from_dict):
|
|
1302
1309
|
kwargs["headers"] = config.headers
|
|
@@ -23,7 +23,6 @@ if TYPE_CHECKING:
|
|
|
23
23
|
import click
|
|
24
24
|
import requests
|
|
25
25
|
|
|
26
|
-
from ..generation import DataGenerationMethod
|
|
27
26
|
from ..models import Request, Response
|
|
28
27
|
from ..runner.serialization import SerializedCheck, SerializedInteraction
|
|
29
28
|
from .context import ExecutionContext
|
|
@@ -90,10 +89,6 @@ class CassetteWriter(EventHandler):
|
|
|
90
89
|
seed=seed,
|
|
91
90
|
correlation_id=event.correlation_id,
|
|
92
91
|
thread_id=event.thread_id,
|
|
93
|
-
# NOTE: For backward compatibility reasons AfterExecution stores a list of data generation methods
|
|
94
|
-
# The list always contains one element - the method that was actually used for generation
|
|
95
|
-
# This will change in the future
|
|
96
|
-
data_generation_method=event.data_generation_method[0],
|
|
97
92
|
interactions=event.result.interactions,
|
|
98
93
|
)
|
|
99
94
|
)
|
|
@@ -105,7 +100,6 @@ class CassetteWriter(EventHandler):
|
|
|
105
100
|
# Correlation ID is not used in stateful testing
|
|
106
101
|
correlation_id="",
|
|
107
102
|
thread_id=event.thread_id,
|
|
108
|
-
data_generation_method=event.data_generation_method[0],
|
|
109
103
|
interactions=event.result.interactions,
|
|
110
104
|
)
|
|
111
105
|
)
|
|
@@ -132,7 +126,6 @@ class Process:
|
|
|
132
126
|
seed: int
|
|
133
127
|
correlation_id: str
|
|
134
128
|
thread_id: int
|
|
135
|
-
data_generation_method: DataGenerationMethod
|
|
136
129
|
interactions: list[SerializedInteraction]
|
|
137
130
|
|
|
138
131
|
|
|
@@ -239,7 +232,7 @@ http_interactions:"""
|
|
|
239
232
|
seed: '{item.seed}'
|
|
240
233
|
thread_id: {item.thread_id}
|
|
241
234
|
correlation_id: '{item.correlation_id}'
|
|
242
|
-
data_generation_method: '{
|
|
235
|
+
data_generation_method: '{interaction.data_generation_method.value}'
|
|
243
236
|
elapsed: '{interaction.response.elapsed}'
|
|
244
237
|
recorded_at: '{interaction.recorded_at}'
|
|
245
238
|
checks:
|
|
@@ -42,11 +42,15 @@ class HealthCheck(IntEnum):
|
|
|
42
42
|
filter_too_much = 2
|
|
43
43
|
too_slow = 3
|
|
44
44
|
large_base_example = 7
|
|
45
|
+
all = 8
|
|
45
46
|
|
|
46
|
-
def as_hypothesis(self) -> hypothesis.HealthCheck:
|
|
47
|
+
def as_hypothesis(self) -> list[hypothesis.HealthCheck]:
|
|
47
48
|
from hypothesis import HealthCheck
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
if self.name == "all":
|
|
51
|
+
return list(HealthCheck)
|
|
52
|
+
|
|
53
|
+
return [HealthCheck[self.name]]
|
|
50
54
|
|
|
51
55
|
|
|
52
56
|
@unique
|
|
@@ -143,7 +143,9 @@ def display_hypothesis_output(hypothesis_output: list[str]) -> None:
|
|
|
143
143
|
|
|
144
144
|
def display_errors(context: ExecutionContext, event: events.Finished) -> None:
|
|
145
145
|
"""Display all errors in the test run."""
|
|
146
|
-
|
|
146
|
+
probes = context.probes or []
|
|
147
|
+
has_probe_errors = any(probe.outcome == ProbeOutcome.ERROR for probe in probes)
|
|
148
|
+
if not event.has_errors and not has_probe_errors:
|
|
147
149
|
return
|
|
148
150
|
|
|
149
151
|
display_section_name("ERRORS")
|
|
@@ -160,6 +162,12 @@ def display_errors(context: ExecutionContext, event: events.Finished) -> None:
|
|
|
160
162
|
should_display_full_traceback_message |= display_single_error(context, result)
|
|
161
163
|
if event.generic_errors:
|
|
162
164
|
display_generic_errors(context, event.generic_errors)
|
|
165
|
+
if has_probe_errors:
|
|
166
|
+
display_section_name("API Probe errors", "_", fg="red")
|
|
167
|
+
for probe in probes:
|
|
168
|
+
if probe.error is not None:
|
|
169
|
+
error = SerializedError.from_exception(probe.error)
|
|
170
|
+
_display_error(context, error)
|
|
163
171
|
if should_display_full_traceback_message and not context.show_trace:
|
|
164
172
|
click.secho(
|
|
165
173
|
"\nAdd this option to your command line parameters to see full tracebacks: --show-trace",
|
|
@@ -848,6 +856,10 @@ def handle_finished(context: ExecutionContext, event: events.Finished) -> None:
|
|
|
848
856
|
|
|
849
857
|
def handle_interrupted(context: ExecutionContext, event: events.Interrupted) -> None:
|
|
850
858
|
click.echo()
|
|
859
|
+
_handle_interrupted(context)
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
def _handle_interrupted(context: ExecutionContext) -> None:
|
|
851
863
|
context.is_interrupted = True
|
|
852
864
|
display_section_name("KeyboardInterrupt", "!", bold=False)
|
|
853
865
|
|
|
@@ -863,12 +875,11 @@ def handle_stateful_event(context: ExecutionContext, event: events.StatefulEvent
|
|
|
863
875
|
if not experimental.STATEFUL_ONLY.is_enabled:
|
|
864
876
|
click.echo()
|
|
865
877
|
click.secho("Stateful tests\n", bold=True)
|
|
866
|
-
elif (
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
display_execution_result(context, event.data.status.value)
|
|
878
|
+
elif isinstance(event.data, stateful_events.ScenarioFinished) and not event.data.is_final:
|
|
879
|
+
if event.data.status == stateful_events.ScenarioStatus.INTERRUPTED:
|
|
880
|
+
_handle_interrupted(context)
|
|
881
|
+
elif event.data.status != stateful_events.ScenarioStatus.REJECTED:
|
|
882
|
+
display_execution_result(context, event.data.status.value)
|
|
872
883
|
elif isinstance(event.data, stateful_events.RunFinished):
|
|
873
884
|
click.echo()
|
|
874
885
|
# It is initialized in `RunStarted`
|
|
@@ -520,6 +520,12 @@ def remove_ssl_line_number(text: str) -> str:
|
|
|
520
520
|
return re.sub(r"\(_ssl\.c:\d+\)", "", text)
|
|
521
521
|
|
|
522
522
|
|
|
523
|
+
def _clean_inner_request_message(message: Any) -> str:
|
|
524
|
+
if isinstance(message, str) and message.startswith("HTTPConnectionPool"):
|
|
525
|
+
return re.sub(r"HTTPConnectionPool\(.+?\): ", "", message).rstrip(".")
|
|
526
|
+
return str(message)
|
|
527
|
+
|
|
528
|
+
|
|
523
529
|
def extract_requests_exception_details(exc: RequestException) -> tuple[str, list[str]]:
|
|
524
530
|
from requests.exceptions import ChunkedEncodingError, ConnectionError, SSLError
|
|
525
531
|
from urllib3.exceptions import MaxRetryError
|
|
@@ -542,7 +548,7 @@ def extract_requests_exception_details(exc: RequestException) -> tuple[str, list
|
|
|
542
548
|
reason = f"Max retries exceeded with url: {inner.url}"
|
|
543
549
|
extra = [reason.strip()]
|
|
544
550
|
else:
|
|
545
|
-
extra = [" ".join(map(
|
|
551
|
+
extra = [" ".join(map(_clean_inner_request_message, inner.args))]
|
|
546
552
|
elif isinstance(exc, ChunkedEncodingError):
|
|
547
553
|
message = "Connection broken. The server declared chunked encoding but sent an invalid chunk"
|
|
548
554
|
extra = [str(exc.args[0].args[1])]
|
|
@@ -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
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from typing import Any, Callable
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ExtensionLoadingError(ImportError):
|
|
6
|
+
"""Raised when an extension cannot be loaded."""
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def import_extension(path: str) -> Any:
|
|
10
|
+
try:
|
|
11
|
+
module, item = path.rsplit(".", 1)
|
|
12
|
+
imported = __import__(module, fromlist=[item])
|
|
13
|
+
return getattr(imported, item)
|
|
14
|
+
except ValueError as exc:
|
|
15
|
+
raise ExtensionLoadingError(f"Invalid path: {path}") from exc
|
|
16
|
+
except (ImportError, AttributeError) as exc:
|
|
17
|
+
raise ExtensionLoadingError(f"Could not import {path}") from exc
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def extensible(env_var: str) -> Callable[[Any], Any]:
|
|
21
|
+
def decorator(item: Any) -> Any:
|
|
22
|
+
path = os.getenv(env_var)
|
|
23
|
+
if path is not None:
|
|
24
|
+
return import_extension(path)
|
|
25
|
+
return item
|
|
26
|
+
|
|
27
|
+
return decorator
|
|
@@ -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,
|