schemathesis 3.22.1__tar.gz → 3.23.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.22.1 → schemathesis-3.23.1}/.github/workflows/build.yml +2 -2
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/codspeed.yml +1 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/release.yml +1 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/scheduled.yml +7 -7
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.pre-commit-config.yaml +4 -4
- {schemathesis-3.22.1 → schemathesis-3.23.1}/PKG-INFO +3 -2
- schemathesis-3.23.1/codecov.yml +7 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/changelog.rst +36 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/contrib.rst +26 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/extending.rst +9 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/faq.rst +8 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-app.txt +4 -4
- {schemathesis-3.22.1 → schemathesis-3.23.1}/pyproject.toml +3 -2
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_hypothesis.py +6 -2
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/__init__.py +30 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/callbacks.py +10 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/cassettes.py +5 -1
- schemathesis-3.23.1/src/schemathesis/contrib/openapi/__init__.py +11 -0
- schemathesis-3.23.1/src/schemathesis/contrib/openapi/fill_missing_examples.py +22 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/exceptions.py +5 -2
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/models.py +3 -8
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/__init__.py +3 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/core.py +8 -5
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/solo.py +2 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/threadpool.py +2 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/schemas.py +1 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/examples.py +8 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/loaders.py +4 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/serialization.py +1 -1
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/responses.py +0 -26
- schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +8 -0
- schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +8 -0
- schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +32 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +5 -0
- schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +7 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_cassettes.py +14 -8
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_commands.py +20 -0
- schemathesis-3.23.1/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +23 -0
- schemathesis-3.23.1/test/contrib/openapi/test_fill_missing_examples.py +9 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/hooks/test_hooks.py +2 -2
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/runner/test_runner.py +1 -23
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_examples.py +68 -1
- schemathesis-3.22.1/src/schemathesis/contrib/openapi/__init__.py +0 -9
- schemathesis-3.22.1/test/transports/test_responses.py +0 -21
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.dockerignore +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/FUNDING.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/dependabot.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.gitignore +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.gitmodules +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.readthedocs.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.relint.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.rstcheck.cfg +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/.yamllint +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/CITATION.cff +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/Dockerfile +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/Dockerfile.bookworm +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/LICENSE +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/README.md +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/benches/cli.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/benches/references.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/changelog.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/Makefile +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/additional-content.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/api.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/auth.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/cli.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/compatibility.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/conf.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/data-generation.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/examples.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/experimental.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/getting-started.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/graphql.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/index.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/python.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/recipes.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/requirements.txt +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/sanitizing.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/service.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/stateful.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/targeted.rst +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/Dockerfile +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/README.md +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/compose.yml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/openapi.json +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-app.in +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-pytest.in +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/extensions.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/test_app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/img/demo.gif +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/img/service_github_report.png +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/mypy.ini +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/serialization.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/serialization.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/filters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/types.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/test_cli.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/test_provider.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.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.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.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.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2-The provided definition doesn't match any of the expected formats or types.].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/cert.pem +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_checks.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_options.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/test_install.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/experimental/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/extra/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/filters/test_matching.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_common.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/runner/test_checks.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/runner/test_events.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__init__.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_auth.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_ci.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_cli.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_report.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_serialization.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_usage.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_stateful.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_app.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_asgi.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_async.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_common_parameters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_converter.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_dereferencing.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_direct_access.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_errors.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_examples.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_filters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_fixups.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_hypothesis.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_internal.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_lazy.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_models.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_package.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_parameters.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_parametrization.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_petstore.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_pytest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_rate_limit.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_required.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_schemas.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_serialization.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_stateful.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_unittest.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_utils.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_wsgi.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test/utils.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/flaky.json +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/incompatible_enums.json +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/incompatible_regex.json +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/incomplete_azure.json +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/invalid_path_parameters.json +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/recursive_references.json +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/test_server.sh +0 -0
- {schemathesis-3.22.1 → schemathesis-3.23.1}/tox.ini +0 -0
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
with:
|
|
31
31
|
fetch-depth: 1
|
|
32
32
|
|
|
33
|
-
- uses: actions/setup-python@
|
|
33
|
+
- uses: actions/setup-python@v5
|
|
34
34
|
with:
|
|
35
35
|
python-version: 3.9
|
|
36
36
|
|
|
@@ -70,7 +70,7 @@ jobs:
|
|
|
70
70
|
with:
|
|
71
71
|
fetch-depth: 1
|
|
72
72
|
|
|
73
|
-
- uses: actions/setup-python@
|
|
73
|
+
- uses: actions/setup-python@v5
|
|
74
74
|
with:
|
|
75
75
|
python-version: ${{ matrix.python }}
|
|
76
76
|
|
|
@@ -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@
|
|
41
|
+
uses: github/codeql-action/init@v3.22.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@
|
|
52
|
+
uses: github/codeql-action/autobuild@v3.22.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@
|
|
66
|
+
uses: github/codeql-action/analyze@v3.22.12
|
|
@@ -15,7 +15,7 @@ jobs:
|
|
|
15
15
|
with:
|
|
16
16
|
fetch-depth: 1
|
|
17
17
|
|
|
18
|
-
- uses: actions/setup-python@
|
|
18
|
+
- uses: actions/setup-python@v5
|
|
19
19
|
with:
|
|
20
20
|
python-version: "3.11"
|
|
21
21
|
|
|
@@ -48,7 +48,7 @@ jobs:
|
|
|
48
48
|
with:
|
|
49
49
|
fetch-depth: 1
|
|
50
50
|
|
|
51
|
-
- uses: actions/setup-python@
|
|
51
|
+
- uses: actions/setup-python@v5
|
|
52
52
|
with:
|
|
53
53
|
python-version: "3.11"
|
|
54
54
|
|
|
@@ -64,7 +64,7 @@ jobs:
|
|
|
64
64
|
fetch-depth: 1
|
|
65
65
|
submodules: true
|
|
66
66
|
|
|
67
|
-
- uses: actions/setup-python@
|
|
67
|
+
- uses: actions/setup-python@v5
|
|
68
68
|
with:
|
|
69
69
|
python-version: "3.11"
|
|
70
70
|
|
|
@@ -81,7 +81,7 @@ jobs:
|
|
|
81
81
|
fetch-depth: 1
|
|
82
82
|
submodules: true
|
|
83
83
|
|
|
84
|
-
- uses: actions/setup-python@
|
|
84
|
+
- uses: actions/setup-python@v5
|
|
85
85
|
with:
|
|
86
86
|
python-version: "3.11"
|
|
87
87
|
|
|
@@ -99,7 +99,7 @@ jobs:
|
|
|
99
99
|
fetch-depth: 1
|
|
100
100
|
submodules: true
|
|
101
101
|
|
|
102
|
-
- uses: actions/setup-python@
|
|
102
|
+
- uses: actions/setup-python@v5
|
|
103
103
|
with:
|
|
104
104
|
python-version: "3.11"
|
|
105
105
|
|
|
@@ -116,7 +116,7 @@ jobs:
|
|
|
116
116
|
fetch-depth: 1
|
|
117
117
|
submodules: true
|
|
118
118
|
|
|
119
|
-
- uses: actions/setup-python@
|
|
119
|
+
- uses: actions/setup-python@v5
|
|
120
120
|
with:
|
|
121
121
|
python-version: "3.11"
|
|
122
122
|
|
|
@@ -133,7 +133,7 @@ jobs:
|
|
|
133
133
|
fetch-depth: 1
|
|
134
134
|
submodules: true
|
|
135
135
|
|
|
136
|
-
- uses: actions/setup-python@
|
|
136
|
+
- uses: actions/setup-python@v5
|
|
137
137
|
with:
|
|
138
138
|
python-version: "3.11"
|
|
139
139
|
|
|
@@ -15,7 +15,7 @@ repos:
|
|
|
15
15
|
- id: check-merge-conflict
|
|
16
16
|
|
|
17
17
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
|
18
|
-
rev:
|
|
18
|
+
rev: v4.0.0-alpha.3-1
|
|
19
19
|
hooks:
|
|
20
20
|
- id: prettier
|
|
21
21
|
|
|
@@ -35,7 +35,7 @@ repos:
|
|
|
35
35
|
- id: relint
|
|
36
36
|
|
|
37
37
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
38
|
-
rev: v1.
|
|
38
|
+
rev: v1.8.0
|
|
39
39
|
hooks:
|
|
40
40
|
- id: mypy
|
|
41
41
|
exclude: ^(docs/|test/|test-corpus/|example/|benches/).*$
|
|
@@ -43,12 +43,12 @@ repos:
|
|
|
43
43
|
additional_dependencies: [types-click, types-requests, types-PyYAML]
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.1.
|
|
46
|
+
rev: v0.1.9
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff-format
|
|
49
49
|
|
|
50
50
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
51
|
-
rev: v0.1.
|
|
51
|
+
rev: v0.1.9
|
|
52
52
|
hooks:
|
|
53
53
|
- id: ruff
|
|
54
54
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.23.1
|
|
4
4
|
Summary: Property-based testing framework for Open API and GraphQL based apps
|
|
5
5
|
Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
|
|
6
6
|
Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
|
|
@@ -28,6 +28,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
28
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
29
29
|
Classifier: Topic :: Software Development :: Testing
|
|
30
30
|
Requires-Python: >=3.8
|
|
31
|
+
Requires-Dist: anyio<4
|
|
31
32
|
Requires-Dist: backoff<3.0,>=2.1.2
|
|
32
33
|
Requires-Dist: click<9.0,>=7.0
|
|
33
34
|
Requires-Dist: colorama<1.0,>=0.4
|
|
@@ -42,7 +43,7 @@ Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
|
|
|
42
43
|
Requires-Dist: pytest<8,>=4.6.4
|
|
43
44
|
Requires-Dist: pyyaml<7.0,>=5.1
|
|
44
45
|
Requires-Dist: requests<3,>=2.22
|
|
45
|
-
Requires-Dist: starlette-testclient
|
|
46
|
+
Requires-Dist: starlette-testclient<1
|
|
46
47
|
Requires-Dist: starlette<1,>=0.13
|
|
47
48
|
Requires-Dist: tomli-w<2.0,>=1.0.0
|
|
48
49
|
Requires-Dist: tomli<3.0,>=2.0.1
|
|
@@ -1,9 +1,44 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.
|
|
4
|
+
:version:`Unreleased <v3.23.1...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.23.1:
|
|
8
|
+
|
|
9
|
+
:version:`3.23.1 <v3.23.0...v3.23.1>` - 2024-01-14
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Changed**
|
|
13
|
+
|
|
14
|
+
- Do not auto-detect spec if the ``--force-schema-version`` CLI option is present.
|
|
15
|
+
- Do not assume GraphQL when trying to auto-detect spec in an empty input file.
|
|
16
|
+
|
|
17
|
+
**Fixed**
|
|
18
|
+
|
|
19
|
+
- Internal error when the schema file is empty.
|
|
20
|
+
|
|
21
|
+
.. _v3.23.0:
|
|
22
|
+
|
|
23
|
+
:version:`3.23.0 <v3.22.1...v3.23.0>` - 2023-12-29
|
|
24
|
+
--------------------------------------------------
|
|
25
|
+
|
|
26
|
+
**Added**
|
|
27
|
+
|
|
28
|
+
- New CLI option ``--contrib-openapi-fill-missing-examples`` to automatically generate random examples for API operations that lack explicit examples. :issue:`1728`, :issue:`1376`
|
|
29
|
+
- New CLI option ``--request-proxy`` to set HTTP(s) proxies for network calls. :issue:`1723`
|
|
30
|
+
|
|
31
|
+
**Changed**
|
|
32
|
+
|
|
33
|
+
- Validate ``--generation-codec`` values in CLI.
|
|
34
|
+
- Do not deepcopy responses before passing to checks. They are not supposed to be mutated inside checks.
|
|
35
|
+
- Pin ``anyio`` to ``<4`` due to incompatibility with ``starlette-testclient``.
|
|
36
|
+
|
|
37
|
+
**Fixed**
|
|
38
|
+
|
|
39
|
+
- Internal error when the configured proxy is not available.
|
|
40
|
+
- Not using ``examples` from shared ``parameters``. :issue:`1729`, :issue:`1513`
|
|
41
|
+
|
|
7
42
|
.. _v3.22.1:
|
|
8
43
|
|
|
9
44
|
:version:`3.22.1 <v3.22.0...v3.22.1>` - 2023-12-04
|
|
@@ -33,6 +33,32 @@ Uniqueness is determined by the following parts of the generated data:
|
|
|
33
33
|
- ``query``
|
|
34
34
|
- ``body``
|
|
35
35
|
|
|
36
|
+
Fill missing examples
|
|
37
|
+
~~~~~~~~~~~~~~~~~~~~~
|
|
38
|
+
|
|
39
|
+
The ``--contrib-openapi-fill-missing-examples`` option complements ``--hypothesis-phases=explicit`` by generating a random example for operations that lack explicit examples in the schema.
|
|
40
|
+
|
|
41
|
+
In CLI:
|
|
42
|
+
|
|
43
|
+
.. code:: text
|
|
44
|
+
|
|
45
|
+
$ st run --contrib-openapi-fill-missing-examples --hypothesis-phases=explicit \
|
|
46
|
+
https://example.schemathesis.io/openapi.json
|
|
47
|
+
|
|
48
|
+
In Python tests:
|
|
49
|
+
|
|
50
|
+
.. code:: python
|
|
51
|
+
|
|
52
|
+
from schemathesis.contrib.openapi import fill_missing_examples
|
|
53
|
+
|
|
54
|
+
fill_missing_examples.install()
|
|
55
|
+
|
|
56
|
+
This feature ensures that all operations, even those without specified examples, are tested when running with ``--hypothesis-phases=explicit``.
|
|
57
|
+
|
|
58
|
+
.. note::
|
|
59
|
+
|
|
60
|
+
This option is designed for users transitioning from Dredd to Schemathesis.
|
|
61
|
+
|
|
36
62
|
UUID data for ``format: uuid`` in Open API
|
|
37
63
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
38
64
|
|
|
@@ -332,6 +332,7 @@ Then, with this hook, you can query the database for some existing order and set
|
|
|
332
332
|
database = ... # Init the DB
|
|
333
333
|
|
|
334
334
|
|
|
335
|
+
@schemathesis.hook
|
|
335
336
|
def before_process_path(
|
|
336
337
|
context: schemathesis.hooks.HookContext, path: str, methods: Dict[str, Any]
|
|
337
338
|
) -> None:
|
|
@@ -350,6 +351,7 @@ Called just before schema instance is created. Takes a raw schema representation
|
|
|
350
351
|
from typing import Any, Dict
|
|
351
352
|
|
|
352
353
|
|
|
354
|
+
@schemathesis.hook
|
|
353
355
|
def before_load_schema(
|
|
354
356
|
context: schemathesis.hooks.HookContext,
|
|
355
357
|
raw_schema: Dict[str, Any],
|
|
@@ -370,6 +372,7 @@ Called just after schema instance is created. Takes a loaded schema:
|
|
|
370
372
|
import schemathesis
|
|
371
373
|
|
|
372
374
|
|
|
375
|
+
@schemathesis.hook
|
|
373
376
|
def after_load_schema(
|
|
374
377
|
context: schemathesis.hooks.HookContext,
|
|
375
378
|
schema: schemathesis.schemas.BaseSchema,
|
|
@@ -389,6 +392,7 @@ Allows you to modify just initialized API operation:
|
|
|
389
392
|
from schemathesis.models import APIOperation
|
|
390
393
|
|
|
391
394
|
|
|
395
|
+
@schemathesis.hook
|
|
392
396
|
def before_init_operation(
|
|
393
397
|
context: schemathesis.hooks.HookContext, operation: APIOperation
|
|
394
398
|
) -> None:
|
|
@@ -407,6 +411,7 @@ With this hook, you can add additional test cases that will be executed in Hypot
|
|
|
407
411
|
from typing import List
|
|
408
412
|
|
|
409
413
|
|
|
414
|
+
@schemathesis.hook
|
|
410
415
|
def before_add_examples(
|
|
411
416
|
context: schemathesis.hooks.HookContext,
|
|
412
417
|
examples: List[Case],
|
|
@@ -458,10 +463,12 @@ behavior in the API by changing the duplicate request's specific details.
|
|
|
458
463
|
|
|
459
464
|
.. code:: python
|
|
460
465
|
|
|
466
|
+
import schemathesis
|
|
461
467
|
from schemathesis import Case, GenericResponse, hooks
|
|
462
468
|
from typing import Optional
|
|
463
469
|
|
|
464
470
|
|
|
471
|
+
@schemathesis.hook
|
|
465
472
|
def add_case(
|
|
466
473
|
context: hooks.HookContext, case: Case, response: GenericResponse
|
|
467
474
|
) -> Optional[Case]:
|
|
@@ -475,10 +482,12 @@ an additional test case if the original case received a successful response from
|
|
|
475
482
|
|
|
476
483
|
.. code:: python
|
|
477
484
|
|
|
485
|
+
import schemathesis
|
|
478
486
|
from schemathesis import Case, GenericResponse, hooks
|
|
479
487
|
from typing import Optional
|
|
480
488
|
|
|
481
489
|
|
|
490
|
+
@schemathesis.hook
|
|
482
491
|
def add_case(
|
|
483
492
|
context: hooks.HookContext, case: Case, response: GenericResponse
|
|
484
493
|
) -> Optional[Case]:
|
|
@@ -50,6 +50,14 @@ Dredd works more in a way that requires you to write some sort of example-based
|
|
|
50
50
|
There are a lot of features that Dredd has are Schemathesis has not (e.g., API Blueprint support, that powerful hook system, and many more) and probably vice versa.
|
|
51
51
|
Definitely, Schemathesis can learn a lot from Dredd and if you miss any feature that exists in Dredd but doesn't exist in Schemathesis, let us know.
|
|
52
52
|
|
|
53
|
+
Why are no examples generated in Schemathesis when using ``--hypothesis-phase=explicit``?
|
|
54
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
55
|
+
|
|
56
|
+
The ``--hypothesis-phase=explicit`` option is designed to test only the examples that are explicitly defined in the API schema.
|
|
57
|
+
It avoids generating new examples to maintain predictability and adhere strictly to the documented API behavior.
|
|
58
|
+
|
|
59
|
+
If you need random examples for API operations without explicit examples, consider using the ``--contrib-openapi-fill-missing-examples`` CLI option.
|
|
60
|
+
|
|
53
61
|
How should I run Schemathesis?
|
|
54
62
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
55
63
|
|
|
@@ -10,15 +10,15 @@ click==8.1.7
|
|
|
10
10
|
# via flask
|
|
11
11
|
flask==3.0.0
|
|
12
12
|
# via
|
|
13
|
-
# -r requirements.in
|
|
13
|
+
# -r requirements-app.in
|
|
14
14
|
# flask-sqlalchemy
|
|
15
15
|
flask-sqlalchemy==3.0.5
|
|
16
|
-
# via -r requirements.in
|
|
16
|
+
# via -r requirements-app.in
|
|
17
17
|
greenlet==3.0.1
|
|
18
18
|
# via sqlalchemy
|
|
19
19
|
itsdangerous==2.1.2
|
|
20
20
|
# via flask
|
|
21
|
-
jinja2==3.1.
|
|
21
|
+
jinja2==3.1.3
|
|
22
22
|
# via flask
|
|
23
23
|
markupsafe==2.1.3
|
|
24
24
|
# via
|
|
@@ -26,7 +26,7 @@ markupsafe==2.1.3
|
|
|
26
26
|
# werkzeug
|
|
27
27
|
sqlalchemy==1.4.50
|
|
28
28
|
# via
|
|
29
|
-
# -r requirements.in
|
|
29
|
+
# -r requirements-app.in
|
|
30
30
|
# flask-sqlalchemy
|
|
31
31
|
werkzeug==3.0.1
|
|
32
32
|
# via flask
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.
|
|
7
|
+
version = "3.23.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 = "dadygalo@gmail.com" }]
|
|
@@ -31,6 +31,7 @@ classifiers = [
|
|
|
31
31
|
"Topic :: Software Development :: Testing",
|
|
32
32
|
]
|
|
33
33
|
dependencies = [
|
|
34
|
+
"anyio<4",
|
|
34
35
|
"backoff>=2.1.2,<3.0",
|
|
35
36
|
"click>=7.0,<9.0",
|
|
36
37
|
"colorama>=0.4,<1.0",
|
|
@@ -46,7 +47,7 @@ dependencies = [
|
|
|
46
47
|
"PyYAML>=5.1,<7.0",
|
|
47
48
|
"requests>=2.22,<3",
|
|
48
49
|
"starlette>=0.13,<1",
|
|
49
|
-
"starlette-testclient
|
|
50
|
+
"starlette-testclient<1",
|
|
50
51
|
"tomli-w>=1.0.0,<2.0",
|
|
51
52
|
"tomli>=2.0.1,<3.0",
|
|
52
53
|
"werkzeug>=0.16.0,<4",
|
|
@@ -134,6 +134,12 @@ def add_examples(test: Callable, operation: APIOperation, hook_dispatcher: HookD
|
|
|
134
134
|
|
|
135
135
|
|
|
136
136
|
def get_single_example(strategy: st.SearchStrategy[Case]) -> Case:
|
|
137
|
+
examples: list[Case] = []
|
|
138
|
+
add_single_example(strategy, examples)
|
|
139
|
+
return examples[0]
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def add_single_example(strategy: st.SearchStrategy[Case], examples: list[Case]) -> None:
|
|
137
143
|
@hypothesis.given(strategy) # type: ignore
|
|
138
144
|
@hypothesis.settings( # type: ignore
|
|
139
145
|
database=None,
|
|
@@ -146,6 +152,4 @@ def get_single_example(strategy: st.SearchStrategy[Case]) -> Case:
|
|
|
146
152
|
def example_generating_inner_function(ex: Case) -> None:
|
|
147
153
|
examples.append(ex)
|
|
148
154
|
|
|
149
|
-
examples: list[Case] = []
|
|
150
155
|
example_generating_inner_function()
|
|
151
|
-
return examples[0]
|
|
@@ -165,6 +165,11 @@ class GroupedOption(click.Option):
|
|
|
165
165
|
self.group = group
|
|
166
166
|
|
|
167
167
|
|
|
168
|
+
with_request_proxy = click.option(
|
|
169
|
+
"--request-proxy",
|
|
170
|
+
help="Set the proxy for all network requests.",
|
|
171
|
+
type=str,
|
|
172
|
+
)
|
|
168
173
|
with_request_tls_verify = click.option(
|
|
169
174
|
"--request-tls-verify",
|
|
170
175
|
help="Configures TLS certificate verification for server requests. Can specify path to CA_BUNDLE for custom certs.",
|
|
@@ -398,6 +403,7 @@ REPORT_TO_SERVICE = ReportToService()
|
|
|
398
403
|
type=click.IntRange(1),
|
|
399
404
|
default=DEFAULT_RESPONSE_TIMEOUT,
|
|
400
405
|
)
|
|
406
|
+
@with_request_proxy
|
|
401
407
|
@with_request_tls_verify
|
|
402
408
|
@with_request_cert
|
|
403
409
|
@with_request_cert_key
|
|
@@ -542,6 +548,14 @@ The report data, consisting of a tar gz file with multiple JSON files, is subjec
|
|
|
542
548
|
default=False,
|
|
543
549
|
show_default=True,
|
|
544
550
|
)
|
|
551
|
+
@click.option(
|
|
552
|
+
"--contrib-openapi-fill-missing-examples",
|
|
553
|
+
"contrib_openapi_fill_missing_examples",
|
|
554
|
+
help="Enables generation of random examples for API operations that do not have explicit examples defined.",
|
|
555
|
+
is_flag=True,
|
|
556
|
+
default=False,
|
|
557
|
+
show_default=True,
|
|
558
|
+
)
|
|
545
559
|
@click.option(
|
|
546
560
|
"--hypothesis-database",
|
|
547
561
|
help="Configures storage for examples discovered by Hypothesis. "
|
|
@@ -637,6 +651,7 @@ The report data, consisting of a tar gz file with multiple JSON files, is subjec
|
|
|
637
651
|
help="Specifies the codec used for generating strings.",
|
|
638
652
|
type=str,
|
|
639
653
|
default="utf-8",
|
|
654
|
+
callback=callbacks.validate_generation_codec,
|
|
640
655
|
)
|
|
641
656
|
@click.option(
|
|
642
657
|
"--schemathesis-io-token",
|
|
@@ -690,6 +705,7 @@ def run(
|
|
|
690
705
|
request_tls_verify: bool = True,
|
|
691
706
|
request_cert: str | None = None,
|
|
692
707
|
request_cert_key: str | None = None,
|
|
708
|
+
request_proxy: str | None = None,
|
|
693
709
|
validate_schema: bool = True,
|
|
694
710
|
skip_deprecated_operations: bool = False,
|
|
695
711
|
junit_xml: click.utils.LazyFile | None = None,
|
|
@@ -709,6 +725,7 @@ def run(
|
|
|
709
725
|
sanitize_output: bool = True,
|
|
710
726
|
contrib_unique_data: bool = False,
|
|
711
727
|
contrib_openapi_formats_uuid: bool = False,
|
|
728
|
+
contrib_openapi_fill_missing_examples: bool = False,
|
|
712
729
|
hypothesis_database: str | None = None,
|
|
713
730
|
hypothesis_deadline: int | NotSet | None = None,
|
|
714
731
|
hypothesis_derandomize: bool | None = None,
|
|
@@ -842,6 +859,8 @@ def run(
|
|
|
842
859
|
contrib.unique_data.install()
|
|
843
860
|
if contrib_openapi_formats_uuid:
|
|
844
861
|
contrib.openapi.formats.uuid.install()
|
|
862
|
+
if contrib_openapi_fill_missing_examples:
|
|
863
|
+
contrib.openapi.fill_missing_examples.install()
|
|
845
864
|
|
|
846
865
|
hypothesis_settings = prepare_hypothesis_settings(
|
|
847
866
|
database=hypothesis_database,
|
|
@@ -863,6 +882,7 @@ def run(
|
|
|
863
882
|
data_generation_methods=data_generation_methods,
|
|
864
883
|
force_schema_version=force_schema_version,
|
|
865
884
|
request_tls_verify=request_tls_verify,
|
|
885
|
+
request_proxy=request_proxy,
|
|
866
886
|
request_cert=prepare_request_cert(request_cert, request_cert_key),
|
|
867
887
|
wait_for_schema=wait_for_schema,
|
|
868
888
|
auth=auth,
|
|
@@ -936,6 +956,7 @@ class LoaderConfig:
|
|
|
936
956
|
data_generation_methods: tuple[DataGenerationMethod, ...]
|
|
937
957
|
force_schema_version: str | None
|
|
938
958
|
request_tls_verify: bool | str
|
|
959
|
+
request_proxy: str | None
|
|
939
960
|
request_cert: RequestCert | None
|
|
940
961
|
wait_for_schema: float | None
|
|
941
962
|
rate_limit: str | None
|
|
@@ -961,6 +982,7 @@ def into_event_stream(
|
|
|
961
982
|
data_generation_methods: tuple[DataGenerationMethod, ...],
|
|
962
983
|
force_schema_version: str | None,
|
|
963
984
|
request_tls_verify: bool | str,
|
|
985
|
+
request_proxy: str | None,
|
|
964
986
|
request_cert: RequestCert | None,
|
|
965
987
|
# Network request parameters
|
|
966
988
|
auth: tuple[str, str] | None,
|
|
@@ -1000,6 +1022,7 @@ def into_event_stream(
|
|
|
1000
1022
|
skip_deprecated_operations=skip_deprecated_operations,
|
|
1001
1023
|
data_generation_methods=data_generation_methods,
|
|
1002
1024
|
force_schema_version=force_schema_version,
|
|
1025
|
+
request_proxy=request_proxy,
|
|
1003
1026
|
request_tls_verify=request_tls_verify,
|
|
1004
1027
|
request_cert=request_cert,
|
|
1005
1028
|
wait_for_schema=wait_for_schema,
|
|
@@ -1020,6 +1043,7 @@ def into_event_stream(
|
|
|
1020
1043
|
headers=headers,
|
|
1021
1044
|
request_timeout=request_timeout,
|
|
1022
1045
|
request_tls_verify=request_tls_verify,
|
|
1046
|
+
request_proxy=request_proxy,
|
|
1023
1047
|
request_cert=request_cert,
|
|
1024
1048
|
seed=seed,
|
|
1025
1049
|
exit_first=exit_first,
|
|
@@ -1073,7 +1097,7 @@ def _try_load_schema(config: LoaderConfig, first: Loader, second: Loader) -> Bas
|
|
|
1073
1097
|
try:
|
|
1074
1098
|
return first(config)
|
|
1075
1099
|
except SchemaError as exc:
|
|
1076
|
-
if should_try_more(exc):
|
|
1100
|
+
if config.force_schema_version is None and should_try_more(exc):
|
|
1077
1101
|
try:
|
|
1078
1102
|
return second(config)
|
|
1079
1103
|
except Exception as second_exc:
|
|
@@ -1088,6 +1112,8 @@ def is_specific_exception(loader: Loader, exc: Exception) -> bool:
|
|
|
1088
1112
|
loader is _load_graphql_schema
|
|
1089
1113
|
and isinstance(exc, SchemaError)
|
|
1090
1114
|
and exc.type == SchemaErrorType.GRAPHQL_INVALID_SCHEMA
|
|
1115
|
+
# In some cases it is not clear that the schema is even supposed to be GraphQL, e.g. an empty input
|
|
1116
|
+
and "Syntax Error: Unexpected <EOF>." not in exc.extras
|
|
1091
1117
|
)
|
|
1092
1118
|
|
|
1093
1119
|
|
|
@@ -1417,6 +1443,7 @@ def get_exit_code(event: events.ExecutionEvent) -> int:
|
|
|
1417
1443
|
@click.option("--force-color", help="Explicitly tells to enable ANSI color escape codes.", type=bool, is_flag=True)
|
|
1418
1444
|
@click.option("--verbosity", "-v", help="Increase verbosity of the output.", count=True)
|
|
1419
1445
|
@with_request_tls_verify
|
|
1446
|
+
@with_request_proxy
|
|
1420
1447
|
@with_request_cert
|
|
1421
1448
|
@with_request_cert_key
|
|
1422
1449
|
@click.pass_context
|
|
@@ -1432,6 +1459,7 @@ def replay(
|
|
|
1432
1459
|
request_tls_verify: bool = True,
|
|
1433
1460
|
request_cert: str | None = None,
|
|
1434
1461
|
request_cert_key: str | None = None,
|
|
1462
|
+
request_proxy: str | None = None,
|
|
1435
1463
|
force_color: bool = False,
|
|
1436
1464
|
) -> None:
|
|
1437
1465
|
"""Replay a cassette.
|
|
@@ -1455,6 +1483,7 @@ def replay(
|
|
|
1455
1483
|
method=method,
|
|
1456
1484
|
request_tls_verify=request_tls_verify,
|
|
1457
1485
|
request_cert=prepare_request_cert(request_cert, request_cert_key),
|
|
1486
|
+
request_proxy=request_proxy,
|
|
1458
1487
|
):
|
|
1459
1488
|
click.secho(f" {bold('ID')} : {replayed.interaction['id']}")
|
|
1460
1489
|
click.secho(f" {bold('URI')} : {replayed.interaction['request']['uri']}")
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import codecs
|
|
2
4
|
import enum
|
|
3
5
|
import os
|
|
4
6
|
import re
|
|
@@ -137,6 +139,14 @@ def validate_base_url(ctx: click.core.Context, param: click.core.Parameter, raw_
|
|
|
137
139
|
return raw_value
|
|
138
140
|
|
|
139
141
|
|
|
142
|
+
def validate_generation_codec(ctx: click.core.Context, param: click.core.Parameter, raw_value: str) -> str:
|
|
143
|
+
try:
|
|
144
|
+
codecs.getencoder(raw_value)
|
|
145
|
+
except LookupError as exc:
|
|
146
|
+
raise click.UsageError(f"Codec `{raw_value}` is unknown") from exc
|
|
147
|
+
return raw_value
|
|
148
|
+
|
|
149
|
+
|
|
140
150
|
def validate_rate_limit(ctx: click.core.Context, param: click.core.Parameter, raw_value: str | None) -> str | None:
|
|
141
151
|
if raw_value is None:
|
|
142
152
|
return raw_value
|
|
@@ -290,6 +290,7 @@ def replay(
|
|
|
290
290
|
method: str | None = None,
|
|
291
291
|
request_tls_verify: bool = True,
|
|
292
292
|
request_cert: RequestCert | None = None,
|
|
293
|
+
request_proxy: str | None = None,
|
|
293
294
|
) -> Generator[Replayed, None, None]:
|
|
294
295
|
"""Replay saved interactions."""
|
|
295
296
|
import requests
|
|
@@ -297,9 +298,12 @@ def replay(
|
|
|
297
298
|
session = requests.Session()
|
|
298
299
|
session.verify = request_tls_verify
|
|
299
300
|
session.cert = request_cert
|
|
301
|
+
kwargs = {}
|
|
302
|
+
if request_proxy is not None:
|
|
303
|
+
kwargs["proxies"] = {"all": request_proxy}
|
|
300
304
|
for interaction in filter_cassette(cassette["http_interactions"], id_, status, uri, method):
|
|
301
305
|
request = get_prepared_request(interaction["request"])
|
|
302
|
-
response = session.send(request) # type: ignore
|
|
306
|
+
response = session.send(request, **kwargs) # type: ignore
|
|
303
307
|
yield Replayed(interaction, response)
|
|
304
308
|
|
|
305
309
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import TYPE_CHECKING
|
|
3
|
+
from ...hooks import HookContext, register, unregister
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from ...models import Case
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def install() -> None:
|
|
10
|
+
register(before_add_examples)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def uninstall() -> None:
|
|
14
|
+
unregister(before_add_examples)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def before_add_examples(context: HookContext, examples: list[Case]) -> None:
|
|
18
|
+
if not examples and context.operation is not None:
|
|
19
|
+
from ..._hypothesis import add_single_example
|
|
20
|
+
|
|
21
|
+
strategy = context.operation.as_strategy()
|
|
22
|
+
add_single_example(strategy, examples)
|
|
@@ -51,7 +51,7 @@ def make_unique_by_key(
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
def deduplicate_failed_checks(
|
|
54
|
-
checks: list[CheckFailed | AssertionError]
|
|
54
|
+
checks: list[CheckFailed | AssertionError],
|
|
55
55
|
) -> Generator[CheckFailed | AssertionError, None, None]:
|
|
56
56
|
"""Keep only unique failed checks."""
|
|
57
57
|
seen = set()
|
|
@@ -462,7 +462,10 @@ def extract_requests_exception_details(exc: RequestException) -> tuple[str, list
|
|
|
462
462
|
message = "Connection failed"
|
|
463
463
|
inner = exc.args[0]
|
|
464
464
|
if isinstance(inner, MaxRetryError) and inner.reason is not None:
|
|
465
|
-
|
|
465
|
+
if ":" not in inner.reason.args[0]:
|
|
466
|
+
reason = inner.reason.args[0]
|
|
467
|
+
else:
|
|
468
|
+
_, reason = inner.reason.args[0].split(":", maxsplit=1)
|
|
466
469
|
extra = [reason.strip()]
|
|
467
470
|
else:
|
|
468
471
|
extra = [" ".join(map(str, inner.args))]
|