schemathesis 3.36.0__tar.gz → 3.36.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.36.0 → schemathesis-3.36.1}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.pre-commit-config.yaml +2 -2
- {schemathesis-3.36.0 → schemathesis-3.36.1}/PKG-INFO +2 -1
- {schemathesis-3.36.0 → schemathesis-3.36.1}/README.md +1 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/changelog.rst +17 -1
- {schemathesis-3.36.0 → schemathesis-3.36.1}/pyproject.toml +1 -1
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/_hypothesis.py +5 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/auths.py +1 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/generation/coverage.py +33 -1
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/checks.py +2 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/models.py +4 -2
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/impl/context.py +7 -3
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/impl/core.py +13 -7
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/checks.py +5 -2
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/coverage/test_combinations.py +11 -2
- schemathesis-3.36.1/test/coverage/test_examples.py +133 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/coverage/test_phase.py +42 -86
- schemathesis-3.36.1/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +25 -0
- schemathesis-3.36.1/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_ignored_auth.py +66 -6
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test-corpus/test_corpus.py +2 -2
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.dockerignore +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/FUNDING.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/dependabot.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/build.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/release.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.gitignore +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.readthedocs.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.relint.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.rstcheck.cfg +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/.yamllint +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/CITATION.cff +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/Dockerfile +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/Dockerfile.bookworm +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/LICENSE +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/benches/cli.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/benches/references.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/benches/schema.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/changelog.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/codecov.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/corpus/tools.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/Makefile +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/additional-content.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/api.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/auth.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/cli.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/compatibility.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/conf.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/contrib.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/data-generation.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/examples.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/experimental.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/extending.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/faq.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/getting-started.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/graphql.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/index.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/python.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/recipes.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/requirements.txt +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/sanitizing.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/service.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/stateful.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/docs/targeted.rst +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/Dockerfile +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/README.md +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/compose.yml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/openapi.json +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/requirements-app.in +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/requirements-app.txt +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/requirements-pytest.in +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/tests/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/tests/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/tests/extensions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/example/tests/test_app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/img/demo.gif +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/img/service_github_report.png +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/mypy.ini +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/cassettes.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/reporting.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/exceptions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/generation/_hypothesis.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/generation/_methods.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/extensions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/output.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/runner/serialization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/schemas.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/serialization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/loaders.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/config.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/context.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/events.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/runner.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/sink.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/statistic.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/stateful/validation.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/transports/asgi.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/types.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/cp1252_app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/hooks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/test_cli.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/test_provider.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/checks/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/checks/test_checks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.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.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.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.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/cert.pem +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_cassettes.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_checks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_commands.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_options.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_reporting.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/test_install.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.36.0/test/extra → schemathesis-3.36.1/test/coverage}/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/experimental/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.36.0/test/filters → schemathesis-3.36.1/test/extra}/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.36.0/test/runner → schemathesis-3.36.1/test/filters}/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/filters/test_expressions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/filters/test_matching.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/hooks/test_filters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/loaders/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/loaders/test_app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/loaders/test_common.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.36.0/test/service → schemathesis-3.36.1/test/runner}/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/runner/test_checks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/runner/test_events.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/runner/test_probes.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/runner/test_runner.py +0 -0
- {schemathesis-3.36.0/test/specs/openapi/stateful → schemathesis-3.36.1/test/service}/__init__.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/test_auth.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/test_ci.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/test_cli.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/test_extensions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/test_report.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/test_serialization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/service/test_usage.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/stateful/test_config.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/stateful/test_runner.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_app.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_asgi.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_async.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_common_parameters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_converter.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_dereferencing.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_direct_access.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_examples.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_filters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_fixups.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_hypothesis.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_internal.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_lazy.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_models.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_output.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_package.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_parameters.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_parametrization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_petstore.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_pytest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_rate_limit.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_required.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_schemas.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_serialization.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_stateful.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_unittest.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_utils.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/test_wsgi.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test/utils.py +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.1}/test_server.sh +0 -0
- {schemathesis-3.36.0 → schemathesis-3.36.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.26.
|
|
41
|
+
uses: github/codeql-action/init@v3.26.7
|
|
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.26.
|
|
52
|
+
uses: github/codeql-action/autobuild@v3.26.7
|
|
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.26.
|
|
66
|
+
uses: github/codeql-action/analyze@v3.26.7
|
|
@@ -38,12 +38,12 @@ repos:
|
|
|
38
38
|
additional_dependencies: [types-click, types-requests, types-PyYAML]
|
|
39
39
|
|
|
40
40
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
41
|
-
rev: v0.6.
|
|
41
|
+
rev: v0.6.7
|
|
42
42
|
hooks:
|
|
43
43
|
- id: ruff-format
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.6.
|
|
46
|
+
rev: v0.6.7
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff
|
|
49
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.36.
|
|
3
|
+
Version: 3.36.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
|
|
@@ -237,6 +237,7 @@ Schemathesis is used by a number of projects and companies, including direct usa
|
|
|
237
237
|
- [Pixie](https://github.com/pixie-io/pixie)
|
|
238
238
|
- [Qdrant](https://github.com/qdrant/qdrant)
|
|
239
239
|
- Spotify ([Backstage](https://github.com/backstage/backstage))
|
|
240
|
+
- [Weechat](https://github.com/weechat/weechat)
|
|
240
241
|
- WordPress ([OpenVerse](https://github.com/WordPress/openverse))
|
|
241
242
|
|
|
242
243
|
## Testimonials
|
|
@@ -138,6 +138,7 @@ Schemathesis is used by a number of projects and companies, including direct usa
|
|
|
138
138
|
- [Pixie](https://github.com/pixie-io/pixie)
|
|
139
139
|
- [Qdrant](https://github.com/qdrant/qdrant)
|
|
140
140
|
- Spotify ([Backstage](https://github.com/backstage/backstage))
|
|
141
|
+
- [Weechat](https://github.com/weechat/weechat)
|
|
141
142
|
- WordPress ([OpenVerse](https://github.com/WordPress/openverse))
|
|
142
143
|
|
|
143
144
|
## Testimonials
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.36.
|
|
4
|
+
:version:`Unreleased <v3.36.1...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.36.1:
|
|
8
|
+
|
|
9
|
+
:version:`3.36.1 <v3.36.0...v3.36.1>` - 2024-09-23
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Changed**
|
|
13
|
+
|
|
14
|
+
- Use ``requestBody`` examples as the source of valid inputs during the coverage phase.
|
|
15
|
+
- Reuse top-level schema examples in more places during the coverage phase.
|
|
16
|
+
- Generate more combinations of optional parameters during the coverage phase.
|
|
17
|
+
|
|
18
|
+
**Fixed**
|
|
19
|
+
|
|
20
|
+
- ``ignored_auth`` false positives on custom auth and explicit ``--auth`` CLI option. :issue:`2462`
|
|
21
|
+
- Avoid skipping string generation if they have ``pattern`` during the coverage phase.
|
|
22
|
+
|
|
7
23
|
.. _v3.36.0:
|
|
8
24
|
|
|
9
25
|
:version:`3.36.0 <v3.35.5...v3.36.0>` - 2024-09-15
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.36.
|
|
7
|
+
version = "3.36.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" }]
|
|
@@ -245,6 +245,11 @@ def _iter_coverage_cases(
|
|
|
245
245
|
if operation.body:
|
|
246
246
|
for body in operation.body:
|
|
247
247
|
schema = body.as_json_schema(operation)
|
|
248
|
+
# Definition could be a list for Open API 2.0
|
|
249
|
+
definition = body.definition if isinstance(body.definition, dict) else {}
|
|
250
|
+
examples = [example["value"] for example in definition.get("examples", {}).values() if "value" in example]
|
|
251
|
+
if examples:
|
|
252
|
+
schema.setdefault("examples", []).extend(examples)
|
|
248
253
|
gen = coverage.cover_schema_iter(ctx, schema)
|
|
249
254
|
value = next(gen, NOT_SET)
|
|
250
255
|
if isinstance(value, NotSet):
|
|
@@ -4,7 +4,8 @@ import json
|
|
|
4
4
|
from contextlib import contextmanager, suppress
|
|
5
5
|
from dataclasses import dataclass, field
|
|
6
6
|
from functools import lru_cache
|
|
7
|
-
from
|
|
7
|
+
from itertools import combinations
|
|
8
|
+
from typing import Any, Generator, Iterator, TypeVar, cast
|
|
8
9
|
|
|
9
10
|
import jsonschema
|
|
10
11
|
from hypothesis import strategies as st
|
|
@@ -162,6 +163,7 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
|
|
|
162
163
|
schema = {}
|
|
163
164
|
else:
|
|
164
165
|
types = schema.get("type", [])
|
|
166
|
+
push_examples_to_properties(schema)
|
|
165
167
|
if not isinstance(types, list):
|
|
166
168
|
types = [types] # type: ignore[unreachable]
|
|
167
169
|
if not types:
|
|
@@ -264,6 +266,8 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
|
|
|
264
266
|
"""Generate positive string values."""
|
|
265
267
|
# Boundary and near boundary values
|
|
266
268
|
min_length = schema.get("minLength")
|
|
269
|
+
if min_length == 0:
|
|
270
|
+
min_length = None
|
|
267
271
|
max_length = schema.get("maxLength")
|
|
268
272
|
example = schema.get("example")
|
|
269
273
|
examples = schema.get("examples")
|
|
@@ -283,6 +287,12 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
|
|
|
283
287
|
elif not min_length and not max_length:
|
|
284
288
|
# Default positive value
|
|
285
289
|
yield PositiveValue(ctx.generate_from_schema(schema))
|
|
290
|
+
elif "pattern" in schema:
|
|
291
|
+
# Without merging `maxLength` & `minLength` into a regex it is problematic
|
|
292
|
+
# to generate a valid value as the unredlying machinery will resort to filtering
|
|
293
|
+
# and it is unlikely that it will generate a string of that length
|
|
294
|
+
yield PositiveValue(ctx.generate_from_schema(schema))
|
|
295
|
+
return
|
|
286
296
|
|
|
287
297
|
seen = set()
|
|
288
298
|
|
|
@@ -476,6 +486,10 @@ def _positive_object(ctx: CoverageContext, schema: dict, template: dict) -> Gene
|
|
|
476
486
|
combo = {k: v for k, v in template.items() if k in required or k == name}
|
|
477
487
|
if combo != template:
|
|
478
488
|
yield PositiveValue(combo)
|
|
489
|
+
# Generate one combination for each size from 2 to N-1
|
|
490
|
+
for selection in select_combinations(optional):
|
|
491
|
+
combo = {k: v for k, v in template.items() if k in required or k in selection}
|
|
492
|
+
yield PositiveValue(combo)
|
|
479
493
|
# Generate only required properties
|
|
480
494
|
if set(properties) != required:
|
|
481
495
|
only_required = {k: v for k, v in template.items() if k in required}
|
|
@@ -491,6 +505,11 @@ def _positive_object(ctx: CoverageContext, schema: dict, template: dict) -> Gene
|
|
|
491
505
|
seen.clear()
|
|
492
506
|
|
|
493
507
|
|
|
508
|
+
def select_combinations(optional: list[str]) -> Iterator[tuple[str, ...]]:
|
|
509
|
+
for size in range(2, len(optional)):
|
|
510
|
+
yield next(combinations(optional, size))
|
|
511
|
+
|
|
512
|
+
|
|
494
513
|
def _negative_enum(ctx: CoverageContext, value: list) -> Generator[GeneratedValue, None, None]:
|
|
495
514
|
strategy = JSON_STRATEGY.filter(lambda x: x not in value)
|
|
496
515
|
# The exact negative value is not important here
|
|
@@ -569,3 +588,16 @@ def _negative_type(ctx: CoverageContext, seen: set, ty: str | list[str]) -> Gene
|
|
|
569
588
|
value = ctx.generate_from(negative_strategy, cached=True)
|
|
570
589
|
yield NegativeValue(value)
|
|
571
590
|
seen.add(_to_hashable_key(value))
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
def push_examples_to_properties(schema: dict[str, Any]) -> None:
|
|
594
|
+
"""Push examples from the top-level 'examples' field to the corresponding properties."""
|
|
595
|
+
if "examples" in schema and "properties" in schema:
|
|
596
|
+
properties = schema["properties"]
|
|
597
|
+
for example in schema["examples"]:
|
|
598
|
+
for prop, value in example.items():
|
|
599
|
+
if prop in properties:
|
|
600
|
+
if "examples" not in properties[prop]:
|
|
601
|
+
properties[prop]["examples"] = []
|
|
602
|
+
if value not in schema["properties"][prop]["examples"]:
|
|
603
|
+
properties[prop]["examples"].append(value)
|
|
@@ -6,6 +6,7 @@ from dataclasses import dataclass
|
|
|
6
6
|
from typing import TYPE_CHECKING, Callable, Optional
|
|
7
7
|
|
|
8
8
|
if TYPE_CHECKING:
|
|
9
|
+
from ..types import RawAuth
|
|
9
10
|
from ..models import Case
|
|
10
11
|
from ..transports.responses import GenericResponse
|
|
11
12
|
from requests.structures import CaseInsensitiveDict
|
|
@@ -21,6 +22,7 @@ class CheckContext:
|
|
|
21
22
|
Provides access to broader test execution data beyond individual test cases.
|
|
22
23
|
"""
|
|
23
24
|
|
|
25
|
+
auth: RawAuth | None = None
|
|
24
26
|
headers: CaseInsensitiveDict | None = None
|
|
25
27
|
|
|
26
28
|
|
|
@@ -136,8 +136,7 @@ def prepare_request_data(kwargs: dict[str, Any]) -> PreparedRequestData:
|
|
|
136
136
|
)
|
|
137
137
|
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
class TestPhase(Enum):
|
|
139
|
+
class TestPhase(str, Enum):
|
|
141
140
|
__test__ = False
|
|
142
141
|
|
|
143
142
|
EXPLICIT = "explicit"
|
|
@@ -184,6 +183,7 @@ class Case:
|
|
|
184
183
|
# The way the case was generated (None for manually crafted ones)
|
|
185
184
|
data_generation_method: DataGenerationMethod | None = None
|
|
186
185
|
_auth: requests.auth.AuthBase | None = None
|
|
186
|
+
_has_explicit_auth: bool = False
|
|
187
187
|
|
|
188
188
|
def __repr__(self) -> str:
|
|
189
189
|
parts = [f"{self.__class__.__name__}("]
|
|
@@ -562,6 +562,8 @@ class Case:
|
|
|
562
562
|
body=fast_deepcopy(self.body),
|
|
563
563
|
generation_time=self.generation_time,
|
|
564
564
|
id=self.id,
|
|
565
|
+
_auth=self._auth,
|
|
566
|
+
_has_explicit_auth=self._has_explicit_auth,
|
|
565
567
|
)
|
|
566
568
|
|
|
567
569
|
|
|
@@ -11,7 +11,7 @@ if TYPE_CHECKING:
|
|
|
11
11
|
|
|
12
12
|
from ...exceptions import OperationSchemaError
|
|
13
13
|
from ...models import Case
|
|
14
|
-
from ...types import NotSet
|
|
14
|
+
from ...types import NotSet, RawAuth
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
@dataclass
|
|
@@ -19,15 +19,19 @@ class RunnerContext:
|
|
|
19
19
|
"""Holds context shared for a test run."""
|
|
20
20
|
|
|
21
21
|
data: TestResultSet
|
|
22
|
+
auth: RawAuth | None
|
|
22
23
|
seed: int | None
|
|
23
24
|
stop_event: threading.Event
|
|
24
25
|
unique_data: bool
|
|
25
26
|
outcome_cache: dict[int, BaseException | None]
|
|
26
27
|
|
|
27
|
-
__slots__ = ("data", "seed", "stop_event", "unique_data", "outcome_cache")
|
|
28
|
+
__slots__ = ("data", "auth", "seed", "stop_event", "unique_data", "outcome_cache")
|
|
28
29
|
|
|
29
|
-
def __init__(
|
|
30
|
+
def __init__(
|
|
31
|
+
self, *, seed: int | None, auth: RawAuth | None, stop_event: threading.Event, unique_data: bool
|
|
32
|
+
) -> None:
|
|
30
33
|
self.data = TestResultSet(seed=seed)
|
|
34
|
+
self.auth = auth
|
|
31
35
|
self.seed = seed
|
|
32
36
|
self.stop_event = stop_event
|
|
33
37
|
self.outcome_cache = {}
|
|
@@ -131,7 +131,7 @@ class BaseRunner:
|
|
|
131
131
|
# If auth is explicitly provided, then the global provider is ignored
|
|
132
132
|
if self.auth is not None:
|
|
133
133
|
unregister_auth()
|
|
134
|
-
ctx = RunnerContext(seed=self.seed, stop_event=stop_event, unique_data=self.unique_data)
|
|
134
|
+
ctx = RunnerContext(auth=self.auth, seed=self.seed, stop_event=stop_event, unique_data=self.unique_data)
|
|
135
135
|
start_time = time.monotonic()
|
|
136
136
|
initialized = None
|
|
137
137
|
__probes = None
|
|
@@ -955,6 +955,7 @@ def network_test(
|
|
|
955
955
|
headers["User-Agent"] = USER_AGENT
|
|
956
956
|
if not dry_run:
|
|
957
957
|
args = (
|
|
958
|
+
ctx,
|
|
958
959
|
checks,
|
|
959
960
|
targets,
|
|
960
961
|
result,
|
|
@@ -973,6 +974,7 @@ def network_test(
|
|
|
973
974
|
|
|
974
975
|
def _network_test(
|
|
975
976
|
case: Case,
|
|
977
|
+
ctx: RunnerContext,
|
|
976
978
|
checks: Iterable[CheckFunction],
|
|
977
979
|
targets: Iterable[Target],
|
|
978
980
|
result: TestResult,
|
|
@@ -1015,11 +1017,11 @@ def _network_test(
|
|
|
1015
1017
|
run_targets(targets, context)
|
|
1016
1018
|
status = Status.success
|
|
1017
1019
|
|
|
1018
|
-
|
|
1020
|
+
check_ctx = CheckContext(auth=ctx.auth, headers=CaseInsensitiveDict(headers) if headers else None)
|
|
1019
1021
|
try:
|
|
1020
1022
|
run_checks(
|
|
1021
1023
|
case=case,
|
|
1022
|
-
ctx=
|
|
1024
|
+
ctx=check_ctx,
|
|
1023
1025
|
checks=checks,
|
|
1024
1026
|
check_results=check_results,
|
|
1025
1027
|
result=result,
|
|
@@ -1069,6 +1071,7 @@ def wsgi_test(
|
|
|
1069
1071
|
headers = prepare_wsgi_headers(headers, auth, auth_type)
|
|
1070
1072
|
if not dry_run:
|
|
1071
1073
|
args = (
|
|
1074
|
+
ctx,
|
|
1072
1075
|
checks,
|
|
1073
1076
|
targets,
|
|
1074
1077
|
result,
|
|
@@ -1085,6 +1088,7 @@ def wsgi_test(
|
|
|
1085
1088
|
|
|
1086
1089
|
def _wsgi_test(
|
|
1087
1090
|
case: Case,
|
|
1091
|
+
ctx: RunnerContext,
|
|
1088
1092
|
checks: Iterable[CheckFunction],
|
|
1089
1093
|
targets: Iterable[Target],
|
|
1090
1094
|
result: TestResult,
|
|
@@ -1105,11 +1109,11 @@ def _wsgi_test(
|
|
|
1105
1109
|
result.logs.extend(recorded.records)
|
|
1106
1110
|
status = Status.success
|
|
1107
1111
|
check_results: list[Check] = []
|
|
1108
|
-
|
|
1112
|
+
check_ctx = CheckContext(auth=ctx.auth, headers=CaseInsensitiveDict(headers) if headers else None)
|
|
1109
1113
|
try:
|
|
1110
1114
|
run_checks(
|
|
1111
1115
|
case=case,
|
|
1112
|
-
ctx=
|
|
1116
|
+
ctx=check_ctx,
|
|
1113
1117
|
checks=checks,
|
|
1114
1118
|
check_results=check_results,
|
|
1115
1119
|
result=result,
|
|
@@ -1151,6 +1155,7 @@ def asgi_test(
|
|
|
1151
1155
|
|
|
1152
1156
|
if not dry_run:
|
|
1153
1157
|
args = (
|
|
1158
|
+
ctx,
|
|
1154
1159
|
checks,
|
|
1155
1160
|
targets,
|
|
1156
1161
|
result,
|
|
@@ -1167,6 +1172,7 @@ def asgi_test(
|
|
|
1167
1172
|
|
|
1168
1173
|
def _asgi_test(
|
|
1169
1174
|
case: Case,
|
|
1175
|
+
ctx: RunnerContext,
|
|
1170
1176
|
checks: Iterable[CheckFunction],
|
|
1171
1177
|
targets: Iterable[Target],
|
|
1172
1178
|
result: TestResult,
|
|
@@ -1183,11 +1189,11 @@ def _asgi_test(
|
|
|
1183
1189
|
run_targets(targets, context)
|
|
1184
1190
|
status = Status.success
|
|
1185
1191
|
check_results: list[Check] = []
|
|
1186
|
-
|
|
1192
|
+
check_ctx = CheckContext(auth=ctx.auth, headers=CaseInsensitiveDict(headers) if headers else None)
|
|
1187
1193
|
try:
|
|
1188
1194
|
run_checks(
|
|
1189
1195
|
case=case,
|
|
1190
|
-
ctx=
|
|
1196
|
+
ctx=check_ctx,
|
|
1191
1197
|
checks=checks,
|
|
1192
1198
|
check_results=check_results,
|
|
1193
1199
|
result=result,
|
|
@@ -348,7 +348,7 @@ def ignored_auth(ctx: CheckContext, response: GenericResponse, case: Case) -> bo
|
|
|
348
348
|
security_parameters = _get_security_parameters(case.operation)
|
|
349
349
|
# Authentication is required for this API operation and response is successful
|
|
350
350
|
if security_parameters and 200 <= response.status_code < 300:
|
|
351
|
-
auth = _contains_auth(ctx, response.request, security_parameters)
|
|
351
|
+
auth = _contains_auth(ctx, case, response.request, security_parameters)
|
|
352
352
|
if auth == AuthKind.EXPLICIT:
|
|
353
353
|
# Auth is explicitly set, it is expected to be valid
|
|
354
354
|
# Check if invalid auth will give an error
|
|
@@ -412,11 +412,14 @@ def _get_security_parameters(operation: APIOperation) -> list[SecurityParameter]
|
|
|
412
412
|
|
|
413
413
|
|
|
414
414
|
def _contains_auth(
|
|
415
|
-
ctx: CheckContext, request: PreparedRequest, security_parameters: list[SecurityParameter]
|
|
415
|
+
ctx: CheckContext, case: Case, request: PreparedRequest, security_parameters: list[SecurityParameter]
|
|
416
416
|
) -> AuthKind | None:
|
|
417
417
|
"""Whether a request has authentication declared in the schema."""
|
|
418
418
|
from requests.cookies import RequestsCookieJar
|
|
419
419
|
|
|
420
|
+
# If auth comes from explicit `auth` option or a custom auth, it is always explicit
|
|
421
|
+
if ctx.auth is not None or case._has_explicit_auth:
|
|
422
|
+
return AuthKind.EXPLICIT
|
|
420
423
|
parsed = urlparse(request.url)
|
|
421
424
|
query = parse_qs(parsed.query) # type: ignore
|
|
422
425
|
# Load the `Cookie` header separately, because it is possible that `request._cookies` and the header are out of sync
|
|
@@ -190,11 +190,14 @@ def test_negative_primitive_schemas(nctx, schema, expected):
|
|
|
190
190
|
({"type": "string", "example": "test", "default": "another"}, {4, 7}),
|
|
191
191
|
({"type": "string", "default": "test"}, {4}),
|
|
192
192
|
({"type": "string", "examples": ["A", "BB"]}, {1, 2}),
|
|
193
|
+
({"type": "string", "minLength": 0}, {0}),
|
|
194
|
+
({"type": "string", "pattern": "^[\\w\\W]+$"}, {1}),
|
|
193
195
|
({"type": "string", "minLength": 5}, {5, 6}),
|
|
194
196
|
({"type": "string", "maxLength": 10}, {9, 10}),
|
|
195
197
|
({"type": "string", "minLength": 5, "maxLength": 10}, {5, 6, 9, 10}),
|
|
196
198
|
({"type": "string", "minLength": 5, "maxLength": 6}, {5, 6}),
|
|
197
199
|
({"type": "string", "minLength": 5, "maxLength": 5}, {5}),
|
|
200
|
+
({"type": "string", "minLength": 0, "maxLength": 512, "pattern": "^[\\w\\W]+$"}, {1}),
|
|
198
201
|
),
|
|
199
202
|
)
|
|
200
203
|
def test_positive_string(ctx, schema, lengths):
|
|
@@ -426,7 +429,7 @@ def test_positive_number(ctx, schema, multiple_of, values, with_multiple_of):
|
|
|
426
429
|
{"req1": "", "req2": 0},
|
|
427
430
|
],
|
|
428
431
|
),
|
|
429
|
-
#
|
|
432
|
+
# 6 properties, 2 required
|
|
430
433
|
(
|
|
431
434
|
{
|
|
432
435
|
"type": "object",
|
|
@@ -436,15 +439,20 @@ def test_positive_number(ctx, schema, multiple_of, values, with_multiple_of):
|
|
|
436
439
|
"opt1": {"type": "string"},
|
|
437
440
|
"opt2": {"type": "number"},
|
|
438
441
|
"opt3": {"type": "array"},
|
|
442
|
+
"opt4": {"type": "boolean"},
|
|
439
443
|
},
|
|
440
444
|
"required": ["req1", "req2"],
|
|
441
445
|
},
|
|
442
446
|
[
|
|
443
|
-
{"req1": "", "req2": 0, "opt1": "", "opt2": 0.0, "opt3": []},
|
|
447
|
+
{"req1": "", "req2": 0, "opt1": "", "opt2": 0.0, "opt3": [], "opt4": False},
|
|
444
448
|
{"req1": "", "req2": 0, "opt1": ""},
|
|
445
449
|
{"req1": "", "req2": 0, "opt2": 0.0},
|
|
446
450
|
{"req1": "", "req2": 0, "opt3": []},
|
|
451
|
+
{"req1": "", "req2": 0, "opt4": False},
|
|
452
|
+
{"req1": "", "req2": 0, "opt1": "", "opt2": 0.0},
|
|
453
|
+
{"req1": "", "req2": 0, "opt1": "", "opt2": 0.0, "opt3": []},
|
|
447
454
|
{"req1": "", "req2": 0},
|
|
455
|
+
{"opt1": "", "opt2": 0.0, "opt3": [], "opt4": True, "req1": "", "req2": 0},
|
|
448
456
|
],
|
|
449
457
|
),
|
|
450
458
|
# Nested object with optional properties
|
|
@@ -486,6 +494,7 @@ def test_positive_number(ctx, schema, multiple_of, values, with_multiple_of):
|
|
|
486
494
|
{"opt1": ""},
|
|
487
495
|
{"opt2": 0},
|
|
488
496
|
{"opt3": False},
|
|
497
|
+
{"opt1": "", "opt2": 0},
|
|
489
498
|
{},
|
|
490
499
|
{"opt1": "", "opt2": 0, "opt3": True},
|
|
491
500
|
],
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
from schemathesis.generation.coverage import push_examples_to_properties
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@pytest.mark.parametrize(
|
|
6
|
+
"schema, expected",
|
|
7
|
+
[
|
|
8
|
+
(
|
|
9
|
+
{
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {"name": {"type": "string"}, "age": {"type": "integer"}},
|
|
12
|
+
"examples": [{"name": "John", "age": 30}, {"name": "Jane", "age": 25}],
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"name": {"type": "string", "examples": ["John", "Jane"]},
|
|
18
|
+
"age": {"type": "integer", "examples": [30, 25]},
|
|
19
|
+
},
|
|
20
|
+
"examples": [{"name": "John", "age": 30}, {"name": "Jane", "age": 25}],
|
|
21
|
+
},
|
|
22
|
+
),
|
|
23
|
+
(
|
|
24
|
+
{
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": {
|
|
27
|
+
"name": {"type": "string", "examples": ["Alice"]},
|
|
28
|
+
"age": {"type": "integer", "examples": [20]},
|
|
29
|
+
},
|
|
30
|
+
"examples": [{"name": "John", "age": 30}, {"name": "Jane", "age": 25}],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "object",
|
|
34
|
+
"properties": {
|
|
35
|
+
"name": {"type": "string", "examples": ["Alice", "John", "Jane"]},
|
|
36
|
+
"age": {"type": "integer", "examples": [20, 30, 25]},
|
|
37
|
+
},
|
|
38
|
+
"examples": [{"name": "John", "age": 30}, {"name": "Jane", "age": 25}],
|
|
39
|
+
},
|
|
40
|
+
),
|
|
41
|
+
(
|
|
42
|
+
{
|
|
43
|
+
"type": "object",
|
|
44
|
+
"properties": {"name": {"type": "string"}, "age": {"type": "integer"}, "city": {"type": "string"}},
|
|
45
|
+
"examples": [{"name": "John", "age": 30}, {"name": "Jane", "city": "New York"}],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "object",
|
|
49
|
+
"properties": {
|
|
50
|
+
"name": {"type": "string", "examples": ["John", "Jane"]},
|
|
51
|
+
"age": {"type": "integer", "examples": [30]},
|
|
52
|
+
"city": {"type": "string", "examples": ["New York"]},
|
|
53
|
+
},
|
|
54
|
+
"examples": [{"name": "John", "age": 30}, {"name": "Jane", "city": "New York"}],
|
|
55
|
+
},
|
|
56
|
+
),
|
|
57
|
+
(
|
|
58
|
+
{"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}}},
|
|
59
|
+
{"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}}},
|
|
60
|
+
),
|
|
61
|
+
(
|
|
62
|
+
{"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}}, "examples": []},
|
|
63
|
+
{"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}}, "examples": []},
|
|
64
|
+
),
|
|
65
|
+
({"type": "string", "examples": ["foo", "bar"]}, {"type": "string", "examples": ["foo", "bar"]}),
|
|
66
|
+
(
|
|
67
|
+
{
|
|
68
|
+
"type": "object",
|
|
69
|
+
"properties": {
|
|
70
|
+
"name": {"type": "string"},
|
|
71
|
+
"age": {"type": "integer"},
|
|
72
|
+
"hobbies": {"type": "array"},
|
|
73
|
+
"address": {"type": "object"},
|
|
74
|
+
},
|
|
75
|
+
"examples": [
|
|
76
|
+
{"name": "John", "age": 30, "hobbies": ["reading", "swimming"], "address": {"city": "New York"}},
|
|
77
|
+
{"name": "Jane", "age": 25, "hobbies": ["painting"], "address": {"city": "London"}},
|
|
78
|
+
{"name": "John", "age": 30, "hobbies": ["reading", "swimming"], "address": {"city": "New York"}},
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "object",
|
|
83
|
+
"properties": {
|
|
84
|
+
"name": {"type": "string", "examples": ["John", "Jane"]},
|
|
85
|
+
"age": {"type": "integer", "examples": [30, 25]},
|
|
86
|
+
"hobbies": {"type": "array", "examples": [["reading", "swimming"], ["painting"]]},
|
|
87
|
+
"address": {"type": "object", "examples": [{"city": "New York"}, {"city": "London"}]},
|
|
88
|
+
},
|
|
89
|
+
"examples": [
|
|
90
|
+
{"name": "John", "age": 30, "hobbies": ["reading", "swimming"], "address": {"city": "New York"}},
|
|
91
|
+
{"name": "Jane", "age": 25, "hobbies": ["painting"], "address": {"city": "London"}},
|
|
92
|
+
{"name": "John", "age": 30, "hobbies": ["reading", "swimming"], "address": {"city": "New York"}},
|
|
93
|
+
],
|
|
94
|
+
},
|
|
95
|
+
),
|
|
96
|
+
(
|
|
97
|
+
{
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {
|
|
100
|
+
"name": {"type": "string", "examples": ["Alice"]},
|
|
101
|
+
"age": {"type": "integer", "examples": [20]},
|
|
102
|
+
"hobbies": {"type": "array", "examples": [["reading"]]},
|
|
103
|
+
"address": {"type": "object", "examples": [{"city": "Paris"}]},
|
|
104
|
+
},
|
|
105
|
+
"examples": [
|
|
106
|
+
{"name": "John", "age": 30, "hobbies": ["reading"], "address": {"city": "New York"}},
|
|
107
|
+
{"name": "Jane", "age": 25, "hobbies": ["painting"], "address": {"city": "London"}},
|
|
108
|
+
{"name": "Alice", "age": 20, "hobbies": ["reading"], "address": {"city": "Paris"}},
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "object",
|
|
113
|
+
"properties": {
|
|
114
|
+
"name": {"type": "string", "examples": ["Alice", "John", "Jane"]},
|
|
115
|
+
"age": {"type": "integer", "examples": [20, 30, 25]},
|
|
116
|
+
"hobbies": {"type": "array", "examples": [["reading"], ["painting"]]},
|
|
117
|
+
"address": {
|
|
118
|
+
"type": "object",
|
|
119
|
+
"examples": [{"city": "Paris"}, {"city": "New York"}, {"city": "London"}],
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
"examples": [
|
|
123
|
+
{"name": "John", "age": 30, "hobbies": ["reading"], "address": {"city": "New York"}},
|
|
124
|
+
{"name": "Jane", "age": 25, "hobbies": ["painting"], "address": {"city": "London"}},
|
|
125
|
+
{"name": "Alice", "age": 20, "hobbies": ["reading"], "address": {"city": "Paris"}},
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
),
|
|
129
|
+
],
|
|
130
|
+
)
|
|
131
|
+
def test_push_examples_to_properties(schema, expected):
|
|
132
|
+
push_examples_to_properties(schema)
|
|
133
|
+
assert schema == expected
|