schemathesis 3.36.1__tar.gz → 3.36.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-3.36.1 → schemathesis-3.36.2}/PKG-INFO +1 -1
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/changelog.rst +16 -1
- {schemathesis-3.36.1 → schemathesis-3.36.2}/pyproject.toml +1 -1
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/coverage.py +49 -28
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/checks.py +3 -2
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/_hypothesis.py +6 -1
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/converter.py +10 -0
- schemathesis-3.36.2/src/schemathesis/specs/openapi/patterns.py +120 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/test_combinations.py +85 -28
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/test_examples.py +17 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/test_phase.py +70 -18
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_runner.py +3 -3
- schemathesis-3.36.2/test/specs/openapi/test_patterns.py +133 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_randomized.py +2 -2
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_converter.py +32 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_hypothesis.py +36 -2
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.dockerignore +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/FUNDING.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/dependabot.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/build.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/release.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.gitignore +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.pre-commit-config.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.readthedocs.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.relint.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.rstcheck.cfg +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/.yamllint +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/CITATION.cff +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/Dockerfile +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/Dockerfile.bookworm +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/LICENSE +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/README.md +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/benches/cli.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/benches/references.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/benches/schema.py +1 -1
- {schemathesis-3.36.1 → schemathesis-3.36.2}/changelog.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/codecov.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/tools.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/Makefile +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/additional-content.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/api.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/auth.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/cli.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/compatibility.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/conf.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/contrib.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/data-generation.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/examples.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/experimental.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/extending.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/faq.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/getting-started.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/graphql.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/index.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/python.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/recipes.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/requirements.txt +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/sanitizing.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/service.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/stateful.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/targeted.rst +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/Dockerfile +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/README.md +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/compose.yml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/openapi.json +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-app.in +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-app.txt +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-pytest.in +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/extensions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/test_app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/img/demo.gif +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/img/service_github_report.png +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/mypy.ini +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_hypothesis.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/cassettes.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/reporting.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/exceptions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/_hypothesis.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/_methods.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/extensions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/output.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/models.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/context.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/core.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/serialization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/schemas.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/serialization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/checks.py +1 -1
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/loaders.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/config.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/context.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/events.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/runner.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/sink.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/statistic.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/validation.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/asgi.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/types.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/cp1252_app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/hooks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/test_cli.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/test_provider.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/checks/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/checks/test_checks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/cert.pem +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/output/test_default.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_cassettes.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_checks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_commands.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_options.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_reporting.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/test_install.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/extra/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/filters/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/filters/test_expressions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/filters/test_matching.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/hooks/test_filters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_common.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_checks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_events.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_probes.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_auth.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_ci.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_cli.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_extensions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_report.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_serialization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_usage.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_config.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_runner.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_app.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_asgi.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_async.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_common_parameters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_dereferencing.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_direct_access.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_examples.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_filters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_fixups.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_internal.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_lazy.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_models.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_output.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_package.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_parameters.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_parametrization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_petstore.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_pytest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_rate_limit.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_required.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_schemas.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_serialization.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_stateful.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_unittest.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_utils.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_wsgi.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test/utils.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/test_server.sh +0 -0
- {schemathesis-3.36.1 → schemathesis-3.36.2}/tox.ini +0 -0
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
|
|
39
39
|
# Initializes the CodeQL tools for scanning.
|
|
40
40
|
- name: Initialize CodeQL
|
|
41
|
-
uses: github/codeql-action/init@v3.26.
|
|
41
|
+
uses: github/codeql-action/init@v3.26.8
|
|
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.8
|
|
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.8
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.36.
|
|
3
|
+
Version: 3.36.2
|
|
4
4
|
Summary: Property-based testing framework for Open API and GraphQL based apps
|
|
5
5
|
Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
|
|
6
6
|
Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
|
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.36.
|
|
4
|
+
:version:`Unreleased <v3.36.2...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.36.2:
|
|
8
|
+
|
|
9
|
+
:version:`3.36.2 <v3.36.1...v3.36.2>` - 2024-09-26
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Changed**
|
|
13
|
+
|
|
14
|
+
- Merge ``minLength`` & ``maxLength`` into ``pattern`` to avoid extremely slow generation in most popular cases.
|
|
15
|
+
- Avoid generating ``{`` and ``}`` for path parameters.
|
|
16
|
+
- Generate all negative types in the coverage phase.
|
|
17
|
+
|
|
18
|
+
**Fixed**
|
|
19
|
+
|
|
20
|
+
- Internal error on incorrect examples during the coverage phase.
|
|
21
|
+
|
|
7
22
|
.. _v3.36.1:
|
|
8
23
|
|
|
9
24
|
:version:`3.36.1 <v3.36.0...v3.36.1>` - 2024-09-23
|
|
@@ -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.2"
|
|
8
8
|
description = "Property-based testing framework for Open API and GraphQL based apps"
|
|
9
9
|
keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
|
|
10
10
|
authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
|
|
@@ -15,7 +15,7 @@ from hypothesis_jsonschema._canonicalise import canonicalish
|
|
|
15
15
|
|
|
16
16
|
from schemathesis.constants import NOT_SET
|
|
17
17
|
|
|
18
|
-
from ._hypothesis import
|
|
18
|
+
from ._hypothesis import get_single_example
|
|
19
19
|
from ._methods import DataGenerationMethod
|
|
20
20
|
|
|
21
21
|
BUFFER_SIZE = 8 * 1024
|
|
@@ -157,7 +157,11 @@ def _ignore_unfixable(
|
|
|
157
157
|
raise
|
|
158
158
|
|
|
159
159
|
|
|
160
|
-
def cover_schema_iter(
|
|
160
|
+
def cover_schema_iter(
|
|
161
|
+
ctx: CoverageContext, schema: dict | bool, seen: set[Any | tuple[type, str]] | None = None
|
|
162
|
+
) -> Generator[GeneratedValue, None, None]:
|
|
163
|
+
if seen is None:
|
|
164
|
+
seen = set()
|
|
161
165
|
if isinstance(schema, bool):
|
|
162
166
|
types = ["null", "boolean", "string", "number", "array", "object"]
|
|
163
167
|
schema = {}
|
|
@@ -174,13 +178,16 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
|
|
|
174
178
|
yield from _cover_positive_for_type(ctx, schema, ty)
|
|
175
179
|
if DataGenerationMethod.negative in ctx.data_generation_methods:
|
|
176
180
|
template = None
|
|
177
|
-
seen: set[Any | tuple[type, str]] = set()
|
|
178
181
|
for key, value in schema.items():
|
|
179
182
|
with _ignore_unfixable():
|
|
180
183
|
if key == "enum":
|
|
181
184
|
yield from _negative_enum(ctx, value)
|
|
182
185
|
elif key == "const":
|
|
183
|
-
|
|
186
|
+
for value_ in _negative_enum(ctx, [value]):
|
|
187
|
+
k = _to_hashable_key(value_.value)
|
|
188
|
+
if k not in seen:
|
|
189
|
+
yield value_
|
|
190
|
+
seen.add(k)
|
|
184
191
|
elif key == "type":
|
|
185
192
|
yield from _negative_type(ctx, seen, value)
|
|
186
193
|
elif key == "properties":
|
|
@@ -192,27 +199,37 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
|
|
|
192
199
|
yield from _negative_format(ctx, schema, value)
|
|
193
200
|
elif key == "maximum":
|
|
194
201
|
next = value + 1
|
|
195
|
-
|
|
196
|
-
|
|
202
|
+
if next not in seen:
|
|
203
|
+
yield NegativeValue(next)
|
|
204
|
+
seen.add(next)
|
|
197
205
|
elif key == "minimum":
|
|
198
206
|
next = value - 1
|
|
199
|
-
|
|
200
|
-
|
|
207
|
+
if next not in seen:
|
|
208
|
+
yield NegativeValue(next)
|
|
209
|
+
seen.add(next)
|
|
201
210
|
elif key == "exclusiveMaximum" or key == "exclusiveMinimum" and value not in seen:
|
|
202
211
|
yield NegativeValue(value)
|
|
203
212
|
seen.add(value)
|
|
204
213
|
elif key == "multipleOf":
|
|
205
|
-
|
|
214
|
+
for value_ in _negative_multiple_of(ctx, schema, value):
|
|
215
|
+
k = _to_hashable_key(value_.value)
|
|
216
|
+
if k not in seen:
|
|
217
|
+
yield value_
|
|
218
|
+
seen.add(k)
|
|
206
219
|
elif key == "minLength" and 0 < value < BUFFER_SIZE:
|
|
207
220
|
with suppress(InvalidArgument):
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
221
|
+
value = ctx.generate_from_schema({**schema, "minLength": value - 1, "maxLength": value - 1})
|
|
222
|
+
k = _to_hashable_key(value)
|
|
223
|
+
if k not in seen:
|
|
224
|
+
yield NegativeValue(value)
|
|
225
|
+
seen.add(k)
|
|
211
226
|
elif key == "maxLength" and value < BUFFER_SIZE:
|
|
212
227
|
with suppress(InvalidArgument):
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
228
|
+
value = ctx.generate_from_schema({**schema, "minLength": value + 1, "maxLength": value + 1})
|
|
229
|
+
k = _to_hashable_key(value)
|
|
230
|
+
if k not in seen:
|
|
231
|
+
yield NegativeValue(value)
|
|
232
|
+
seen.add(k)
|
|
216
233
|
elif key == "uniqueItems" and value:
|
|
217
234
|
yield from _negative_unique_items(ctx, schema)
|
|
218
235
|
elif key == "required":
|
|
@@ -224,16 +241,16 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
|
|
|
224
241
|
elif key == "allOf":
|
|
225
242
|
nctx = ctx.with_negative()
|
|
226
243
|
if len(value) == 1:
|
|
227
|
-
yield from cover_schema_iter(nctx, value[0])
|
|
244
|
+
yield from cover_schema_iter(nctx, value[0], seen)
|
|
228
245
|
else:
|
|
229
246
|
with _ignore_unfixable():
|
|
230
247
|
canonical = canonicalish(schema)
|
|
231
|
-
yield from cover_schema_iter(nctx, canonical)
|
|
248
|
+
yield from cover_schema_iter(nctx, canonical, seen)
|
|
232
249
|
elif key == "anyOf" or key == "oneOf":
|
|
233
250
|
nctx = ctx.with_negative()
|
|
234
251
|
# NOTE: Other sub-schemas are not filtered out
|
|
235
252
|
for sub_schema in value:
|
|
236
|
-
yield from cover_schema_iter(nctx, sub_schema)
|
|
253
|
+
yield from cover_schema_iter(nctx, sub_schema, seen)
|
|
237
254
|
|
|
238
255
|
|
|
239
256
|
def _get_properties(schema: dict | bool) -> dict | bool:
|
|
@@ -584,10 +601,13 @@ def _negative_type(ctx: CoverageContext, seen: set, ty: str | list[str]) -> Gene
|
|
|
584
601
|
del strategies["integer"]
|
|
585
602
|
if "integer" in types:
|
|
586
603
|
strategies["number"] = FLOAT_STRATEGY.filter(lambda x: x != int(x))
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
604
|
+
for strat in strategies.values():
|
|
605
|
+
value = ctx.generate_from(strat, cached=True)
|
|
606
|
+
hashed = _to_hashable_key(value)
|
|
607
|
+
if hashed in seen:
|
|
608
|
+
continue
|
|
609
|
+
yield NegativeValue(value)
|
|
610
|
+
seen.add(hashed)
|
|
591
611
|
|
|
592
612
|
|
|
593
613
|
def push_examples_to_properties(schema: dict[str, Any]) -> None:
|
|
@@ -595,9 +615,10 @@ def push_examples_to_properties(schema: dict[str, Any]) -> None:
|
|
|
595
615
|
if "examples" in schema and "properties" in schema:
|
|
596
616
|
properties = schema["properties"]
|
|
597
617
|
for example in schema["examples"]:
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
if
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
properties[prop]["examples"]
|
|
618
|
+
if isinstance(example, dict):
|
|
619
|
+
for prop, value in example.items():
|
|
620
|
+
if prop in properties:
|
|
621
|
+
if "examples" not in properties[prop]:
|
|
622
|
+
properties[prop]["examples"] = []
|
|
623
|
+
if value not in schema["properties"][prop]["examples"]:
|
|
624
|
+
properties[prop]["examples"].append(value)
|
|
@@ -6,10 +6,11 @@ from dataclasses import dataclass
|
|
|
6
6
|
from typing import TYPE_CHECKING, Callable, Optional
|
|
7
7
|
|
|
8
8
|
if TYPE_CHECKING:
|
|
9
|
-
from
|
|
9
|
+
from requests.structures import CaseInsensitiveDict
|
|
10
|
+
|
|
10
11
|
from ..models import Case
|
|
11
12
|
from ..transports.responses import GenericResponse
|
|
12
|
-
from
|
|
13
|
+
from ..types import RawAuth
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
CheckFunction = Callable[["CheckContext", "GenericResponse", "Case"], Optional[bool]]
|
|
@@ -527,7 +527,12 @@ def is_valid_path(parameters: dict[str, Any]) -> bool:
|
|
|
527
527
|
disallowed_values = (SLASH, "")
|
|
528
528
|
|
|
529
529
|
return not any(
|
|
530
|
-
(
|
|
530
|
+
(
|
|
531
|
+
value in disallowed_values
|
|
532
|
+
or is_illegal_surrogate(value)
|
|
533
|
+
or isinstance(value, str)
|
|
534
|
+
and (SLASH in value or "}" in value or "{" in value)
|
|
535
|
+
)
|
|
531
536
|
for value in parameters.values()
|
|
532
537
|
)
|
|
533
538
|
|
|
@@ -5,6 +5,7 @@ from typing import Any, Callable
|
|
|
5
5
|
|
|
6
6
|
from ...internal.copy import fast_deepcopy
|
|
7
7
|
from ...internal.jsonschema import traverse_schema
|
|
8
|
+
from .patterns import update_quantifier
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
def to_json_schema(
|
|
@@ -24,6 +25,15 @@ def to_json_schema(
|
|
|
24
25
|
if schema_type == "file":
|
|
25
26
|
schema["type"] = "string"
|
|
26
27
|
schema["format"] = "binary"
|
|
28
|
+
pattern = schema.get("pattern")
|
|
29
|
+
min_length = schema.get("minLength")
|
|
30
|
+
max_length = schema.get("maxLength")
|
|
31
|
+
if pattern and (min_length or max_length):
|
|
32
|
+
new_pattern = update_quantifier(pattern, min_length, max_length)
|
|
33
|
+
if new_pattern != pattern:
|
|
34
|
+
schema.pop("minLength", None)
|
|
35
|
+
schema.pop("maxLength", None)
|
|
36
|
+
schema["pattern"] = new_pattern
|
|
27
37
|
if schema_type == "object":
|
|
28
38
|
if is_response_schema:
|
|
29
39
|
# Write-only properties should not occur in responses
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
from functools import lru_cache
|
|
5
|
+
|
|
6
|
+
try: # pragma: no cover
|
|
7
|
+
import re._constants as sre
|
|
8
|
+
import re._parser as sre_parse
|
|
9
|
+
except ImportError:
|
|
10
|
+
import sre_constants as sre
|
|
11
|
+
import sre_parse
|
|
12
|
+
|
|
13
|
+
ANCHOR = sre.AT
|
|
14
|
+
REPEATS: tuple
|
|
15
|
+
if hasattr(sre, "POSSESSIVE_REPEAT"):
|
|
16
|
+
REPEATS = (sre.MIN_REPEAT, sre.MAX_REPEAT, sre.POSSESSIVE_REPEAT)
|
|
17
|
+
else:
|
|
18
|
+
REPEATS = (sre.MIN_REPEAT, sre.MAX_REPEAT)
|
|
19
|
+
LITERAL = sre.LITERAL
|
|
20
|
+
IN = sre.IN
|
|
21
|
+
MAXREPEAT = sre_parse.MAXREPEAT
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@lru_cache()
|
|
25
|
+
def update_quantifier(pattern: str, min_length: int | None, max_length: int | None) -> str:
|
|
26
|
+
"""Update the quantifier of a regular expression based on given min and max lengths."""
|
|
27
|
+
if not pattern or (min_length in (None, 0) and max_length is None):
|
|
28
|
+
return pattern
|
|
29
|
+
|
|
30
|
+
try:
|
|
31
|
+
parsed = sre_parse.parse(pattern)
|
|
32
|
+
return _handle_parsed_pattern(parsed, pattern, min_length, max_length)
|
|
33
|
+
except re.error:
|
|
34
|
+
# Invalid pattern
|
|
35
|
+
return pattern
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def _handle_parsed_pattern(parsed: list, pattern: str, min_length: int | None, max_length: int | None) -> str:
|
|
39
|
+
"""Handle the parsed pattern and update quantifiers based on different cases."""
|
|
40
|
+
if len(parsed) == 1:
|
|
41
|
+
op, value = parsed[0]
|
|
42
|
+
return _update_quantifier(op, value, pattern, min_length, max_length)
|
|
43
|
+
elif len(parsed) == 2:
|
|
44
|
+
if parsed[0][0] == ANCHOR:
|
|
45
|
+
# Starts with an anchor
|
|
46
|
+
op, value = parsed[1]
|
|
47
|
+
leading_anchor = pattern[0]
|
|
48
|
+
return leading_anchor + _update_quantifier(op, value, pattern[1:], min_length, max_length)
|
|
49
|
+
if parsed[1][0] == ANCHOR:
|
|
50
|
+
# Ends with an anchor
|
|
51
|
+
op, value = parsed[0]
|
|
52
|
+
trailing_anchor = pattern[-1]
|
|
53
|
+
return _update_quantifier(op, value, pattern[:-1], min_length, max_length) + trailing_anchor
|
|
54
|
+
elif len(parsed) == 3 and parsed[0][0] == ANCHOR and parsed[2][0] == ANCHOR:
|
|
55
|
+
op, value = parsed[1]
|
|
56
|
+
leading_anchor = pattern[0]
|
|
57
|
+
trailing_anchor = pattern[-1]
|
|
58
|
+
return leading_anchor + _update_quantifier(op, value, pattern[1:-1], min_length, max_length) + trailing_anchor
|
|
59
|
+
return pattern
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _update_quantifier(op: int, value: tuple, pattern: str, min_length: int | None, max_length: int | None) -> str:
|
|
63
|
+
"""Update the quantifier based on the operation type and given constraints."""
|
|
64
|
+
if op in REPEATS:
|
|
65
|
+
return _handle_repeat_quantifier(value, pattern, min_length, max_length)
|
|
66
|
+
if op in (LITERAL, IN) and max_length != 0:
|
|
67
|
+
return _handle_literal_or_in_quantifier(pattern, min_length, max_length)
|
|
68
|
+
return pattern
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def _handle_repeat_quantifier(
|
|
72
|
+
value: tuple[int, int, tuple], pattern: str, min_length: int | None, max_length: int | None
|
|
73
|
+
) -> str:
|
|
74
|
+
"""Handle repeat quantifiers (e.g., '+', '*', '?')."""
|
|
75
|
+
min_repeat, max_repeat, _ = value
|
|
76
|
+
min_length, max_length = _build_size(min_repeat, max_repeat, min_length, max_length)
|
|
77
|
+
if min_length > max_length:
|
|
78
|
+
return pattern
|
|
79
|
+
return f"({_strip_quantifier(pattern)})" + _build_quantifier(min_length, max_length)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _handle_literal_or_in_quantifier(pattern: str, min_length: int | None, max_length: int | None) -> str:
|
|
83
|
+
"""Handle literal or character class quantifiers."""
|
|
84
|
+
min_length = 1 if min_length is None else max(min_length, 1)
|
|
85
|
+
return f"({pattern})" + _build_quantifier(min_length, max_length)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def _build_quantifier(minimum: int | None, maximum: int | None) -> str:
|
|
89
|
+
"""Construct a quantifier string based on min and max values."""
|
|
90
|
+
if maximum == MAXREPEAT or maximum is None:
|
|
91
|
+
return f"{{{minimum or 0},}}"
|
|
92
|
+
if minimum == maximum:
|
|
93
|
+
return f"{{{minimum}}}"
|
|
94
|
+
return f"{{{minimum or 0},{maximum}}}"
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def _build_size(min_repeat: int, max_repeat: int, min_length: int | None, max_length: int | None) -> tuple[int, int]:
|
|
98
|
+
"""Merge the current repetition constraints with the provided min and max lengths."""
|
|
99
|
+
if min_length is not None:
|
|
100
|
+
min_repeat = max(min_repeat, min_length)
|
|
101
|
+
if max_length is not None:
|
|
102
|
+
if max_repeat == MAXREPEAT:
|
|
103
|
+
max_repeat = max_length
|
|
104
|
+
else:
|
|
105
|
+
max_repeat = min(max_repeat, max_length)
|
|
106
|
+
return min_repeat, max_repeat
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def _strip_quantifier(pattern: str) -> str:
|
|
110
|
+
"""Remove quantifier from the pattern."""
|
|
111
|
+
# Lazy & posessive quantifiers
|
|
112
|
+
if pattern.endswith(("*?", "+?", "??", "*+", "?+", "++")):
|
|
113
|
+
return pattern[:-2]
|
|
114
|
+
if pattern.endswith(("?", "*", "+")):
|
|
115
|
+
pattern = pattern[:-1]
|
|
116
|
+
if pattern.endswith("}"):
|
|
117
|
+
# Find the start of the exact quantifier and drop everything since that index
|
|
118
|
+
idx = pattern.rfind("{")
|
|
119
|
+
pattern = pattern[:idx]
|
|
120
|
+
return pattern
|
|
@@ -152,22 +152,22 @@ class NotNumber:
|
|
|
152
152
|
@pytest.mark.parametrize(
|
|
153
153
|
"schema, expected",
|
|
154
154
|
(
|
|
155
|
-
({"type": "null"}, 0),
|
|
156
|
-
({"type": "boolean"}, 0),
|
|
157
|
-
({"type": ["boolean", "null"]}, 0),
|
|
158
|
-
({"enum": [1, 2]}, None),
|
|
159
|
-
({"enum": [1, 2, {}]}, None),
|
|
160
|
-
({"const": 42}, None),
|
|
155
|
+
({"type": "null"}, [0, "", [], {}]),
|
|
156
|
+
({"type": "boolean"}, [0, None, "", [], {}]),
|
|
157
|
+
({"type": ["boolean", "null"]}, [0, "", [], {}]),
|
|
158
|
+
({"enum": [1, 2]}, [None]),
|
|
159
|
+
({"enum": [1, 2, {}]}, [None]),
|
|
160
|
+
({"const": 42}, [None]),
|
|
161
161
|
({"multipleOf": 2}, lambda x: x % 2 != 0),
|
|
162
|
-
({"format": "date-time"}, AnyString()),
|
|
163
|
-
({"format": "hostname"}, AnyString()),
|
|
164
|
-
({"format": "unknown"}, AnyString()),
|
|
165
|
-
({"uniqueItems": True}, [None, None]),
|
|
166
|
-
({"maximum": 5}, 6),
|
|
167
|
-
({"minimum": 5}, 4),
|
|
168
|
-
({"exclusiveMinimum": 5}, 5),
|
|
169
|
-
({"exclusiveMaximum": 5}, 5),
|
|
170
|
-
({"required": ["a"]}, {}),
|
|
162
|
+
({"format": "date-time"}, [AnyString()]),
|
|
163
|
+
({"format": "hostname"}, [AnyString()]),
|
|
164
|
+
({"format": "unknown"}, [AnyString()]),
|
|
165
|
+
({"uniqueItems": True}, [[None, None]]),
|
|
166
|
+
({"maximum": 5}, [6]),
|
|
167
|
+
({"minimum": 5}, [4]),
|
|
168
|
+
({"exclusiveMinimum": 5}, [5]),
|
|
169
|
+
({"exclusiveMaximum": 5}, [5]),
|
|
170
|
+
({"required": ["a"]}, [{}]),
|
|
171
171
|
),
|
|
172
172
|
)
|
|
173
173
|
def test_negative_primitive_schemas(nctx, schema, expected):
|
|
@@ -176,7 +176,7 @@ def test_negative_primitive_schemas(nctx, schema, expected):
|
|
|
176
176
|
assert len(covered) == 1
|
|
177
177
|
assert expected(covered[0])
|
|
178
178
|
else:
|
|
179
|
-
assert covered ==
|
|
179
|
+
assert covered == expected
|
|
180
180
|
assert_unique(covered)
|
|
181
181
|
assert_not_conform(covered, schema)
|
|
182
182
|
|
|
@@ -211,13 +211,13 @@ def test_positive_string(ctx, schema, lengths):
|
|
|
211
211
|
@pytest.mark.parametrize(
|
|
212
212
|
"schema, expected",
|
|
213
213
|
(
|
|
214
|
-
({"type": "string"}, [0]),
|
|
215
|
-
({"type": "string", "minLength": 5}, [0, "0000"]),
|
|
216
|
-
({"type": "string", "maxLength": 10}, [0, "00000000000"]),
|
|
217
|
-
({"type": "string", "minLength": 5, "maxLength": 10}, [0, "0000", "00000000000"]),
|
|
218
|
-
({"type": "string", "pattern": "^[0-9]", "minLength": 1}, [0, ""]),
|
|
219
|
-
({"type": "string", "pattern": "^[0-9]"}, [0, ""]),
|
|
220
|
-
({"type": "string", "format": "date-time"}, [0, ""]),
|
|
214
|
+
({"type": "string"}, [0, None, [], {}]),
|
|
215
|
+
({"type": "string", "minLength": 5}, [0, None, [], {}, "0000"]),
|
|
216
|
+
({"type": "string", "maxLength": 10}, [0, None, [], {}, "00000000000"]),
|
|
217
|
+
({"type": "string", "minLength": 5, "maxLength": 10}, [0, None, [], {}, "0000", "00000000000"]),
|
|
218
|
+
({"type": "string", "pattern": "^[0-9]", "minLength": 1}, [0, None, [], {}, ""]),
|
|
219
|
+
({"type": "string", "pattern": "^[0-9]"}, [0, None, [], {}, ""]),
|
|
220
|
+
({"type": "string", "format": "date-time"}, [0, None, [], {}, ""]),
|
|
221
221
|
),
|
|
222
222
|
)
|
|
223
223
|
def test_negative_string(nctx, schema, expected):
|
|
@@ -745,8 +745,32 @@ def test_positive_other(pctx, schema, expected):
|
|
|
745
745
|
"bar": "",
|
|
746
746
|
},
|
|
747
747
|
{
|
|
748
|
-
"
|
|
748
|
+
"bar": "",
|
|
749
|
+
"foo": None,
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
"bar": "",
|
|
753
|
+
"foo": [],
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"bar": "",
|
|
757
|
+
"foo": {},
|
|
758
|
+
},
|
|
759
|
+
{
|
|
749
760
|
"bar": 0,
|
|
761
|
+
"foo": "",
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"bar": None,
|
|
765
|
+
"foo": "",
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
"bar": [],
|
|
769
|
+
"foo": "",
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"foo": "",
|
|
773
|
+
"bar": {},
|
|
750
774
|
},
|
|
751
775
|
{
|
|
752
776
|
"bar": "",
|
|
@@ -765,12 +789,36 @@ def test_positive_other(pctx, schema, expected):
|
|
|
765
789
|
},
|
|
766
790
|
[
|
|
767
791
|
{
|
|
792
|
+
"bar": "",
|
|
768
793
|
"foo": 0,
|
|
794
|
+
},
|
|
795
|
+
{
|
|
769
796
|
"bar": "",
|
|
797
|
+
"foo": None,
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"bar": "",
|
|
801
|
+
"foo": [],
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"bar": "",
|
|
805
|
+
"foo": {},
|
|
770
806
|
},
|
|
771
807
|
{
|
|
772
|
-
"foo": "",
|
|
773
808
|
"bar": 0,
|
|
809
|
+
"foo": "",
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"bar": None,
|
|
813
|
+
"foo": "",
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"bar": [],
|
|
817
|
+
"foo": "",
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"bar": {},
|
|
821
|
+
"foo": "",
|
|
774
822
|
},
|
|
775
823
|
],
|
|
776
824
|
),
|
|
@@ -785,6 +833,15 @@ def test_positive_other(pctx, schema, expected):
|
|
|
785
833
|
{
|
|
786
834
|
"foo": 0,
|
|
787
835
|
},
|
|
836
|
+
{
|
|
837
|
+
"foo": None,
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"foo": [],
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
"foo": {},
|
|
844
|
+
},
|
|
788
845
|
{
|
|
789
846
|
"foo": "",
|
|
790
847
|
"x-schemathesis-unknown-property": 42,
|
|
@@ -818,7 +875,7 @@ def test_negative_objects(nctx, schema, expected):
|
|
|
818
875
|
{"minimum": 5},
|
|
819
876
|
],
|
|
820
877
|
},
|
|
821
|
-
[4,
|
|
878
|
+
[4, AnyNumber(), False, None, "", [], {}],
|
|
822
879
|
),
|
|
823
880
|
(
|
|
824
881
|
{
|
|
@@ -827,7 +884,7 @@ def test_negative_objects(nctx, schema, expected):
|
|
|
827
884
|
{"type": "string"},
|
|
828
885
|
],
|
|
829
886
|
},
|
|
830
|
-
[4, 0],
|
|
887
|
+
[4, 0, None, [], {}],
|
|
831
888
|
),
|
|
832
889
|
(
|
|
833
890
|
{
|
|
@@ -846,7 +903,7 @@ def test_negative_objects(nctx, schema, expected):
|
|
|
846
903
|
},
|
|
847
904
|
]
|
|
848
905
|
},
|
|
849
|
-
[ANY, None, 0],
|
|
906
|
+
[ANY, None, 0, ANY],
|
|
850
907
|
),
|
|
851
908
|
(
|
|
852
909
|
{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import pytest
|
|
2
|
+
|
|
2
3
|
from schemathesis.generation.coverage import push_examples_to_properties
|
|
3
4
|
|
|
4
5
|
|
|
@@ -126,6 +127,22 @@ from schemathesis.generation.coverage import push_examples_to_properties
|
|
|
126
127
|
],
|
|
127
128
|
},
|
|
128
129
|
),
|
|
130
|
+
(
|
|
131
|
+
{
|
|
132
|
+
"type": "object",
|
|
133
|
+
"properties": {
|
|
134
|
+
"name": {"type": "string", "examples": ["Alice"]},
|
|
135
|
+
},
|
|
136
|
+
"examples": [2],
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"type": "object",
|
|
140
|
+
"properties": {
|
|
141
|
+
"name": {"type": "string", "examples": ["Alice"]},
|
|
142
|
+
},
|
|
143
|
+
"examples": [2],
|
|
144
|
+
},
|
|
145
|
+
),
|
|
129
146
|
],
|
|
130
147
|
)
|
|
131
148
|
def test_push_examples_to_properties(schema, expected):
|