schemathesis 4.0.0a9__tar.gz → 4.0.0a10__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-4.0.0a9 → schemathesis-4.0.0a10}/CHANGELOG.md +9 -2
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/PKG-INFO +1 -1
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/pyproject.toml +1 -1
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/handlers/junitxml.py +1 -1
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/__init__.py +1 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/coverage.py +23 -13
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/hypothesis/__init__.py +7 -1
- schemathesis-4.0.0a10/test/cli/__snapshots__/test_commands/test_rediscover_the_same_failure_in_different_phases_and_store_junit[Open API 3.0].raw +89 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_commands.py +29 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/coverage/test_combinations.py +50 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/coverage/test_phase.py +36 -25
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_hypothesis.py +1 -1
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.dockerignore +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/FUNDING.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/dependabot.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/build.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/codeql-analysis.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/commit.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/docs.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/example-build.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/master_update.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/release.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.gitignore +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.pre-commit-config.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.readthedocs.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.rstcheck.cfg +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/.yamllint +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/ARCHITECTURE.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/CITATION.cff +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/CONTRIBUTING.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/Dockerfile +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/Dockerfile.bookworm +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/LICENSE +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/README.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/SECURITY.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/benches/cli.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/benches/coverage_phase.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/benches/references.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/benches/schema.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/changelog.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/codecov.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/corpus/tools.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/Makefile +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/advanced/targeted.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/api.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/auth.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/ci/github-actions.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/ci/gitlab-ci.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/ci/overview.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/conf.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/core-concepts.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/data-generation.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/extending/auth.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/extending/checks.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/extending/data-generation.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/extending/hooks.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/extending/metrics.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/extending/overview.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/extending.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/faq.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/faq.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/getting-started.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/graphql.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/index.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/openapi/examples.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/python.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/recipes.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/reference/checks.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/reference/cli.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/reference/configuration.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/reference/python.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/reference/reporting.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/requirements.txt +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/resources.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/sanitizing.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/stateful.rst +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/troubleshooting.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/using/cli.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/using/configuration.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/docs/using/python-integration.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/Dockerfile +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/README.md +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/compose.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/openapi.json +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/requirements-app.in +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/requirements-app.txt +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/requirements-pytest.in +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/requirements-pytest.txt +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/tests/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/tests/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/tests/extensions.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/example/tests/test_app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/img/demo.gif +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/mkdocs.yml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/mypy.ini +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/auths.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/context.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/events.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/executor.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/filters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/handlers/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/handlers/base.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/handlers/cassettes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/handlers/output.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/hypothesis.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/loaders.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/reports.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/commands/run/validation.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/core.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/ext/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/ext/fs.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/ext/groups.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/ext/options.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/cli/hooks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/compat.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/control.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/curl.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/deserialization.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/errors.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/failures.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/fs.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/lazy_import.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/loaders.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/marks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/media_types.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/output/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/output/sanitization.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/rate_limit.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/registries.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/result.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/transforms.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/transport.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/validation.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/core/version.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/config.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/context.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/control.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/core.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/errors.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/events.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/probes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/stateful/_executor.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/stateful/context.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/unit/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/unit/_executor.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/phases/unit/_pool.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/engine/recorder.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/errors.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/filters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/case.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/hypothesis/builder.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/hypothesis/examples.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/hypothesis/given.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/hypothesis/reporting.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/hypothesis/strategies.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/meta.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/modes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/overrides.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/stateful/state_machine.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/targets.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/graphql/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/graphql/checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/graphql/loaders.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/hooks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/openapi/checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/openapi/generation/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/openapi/generation/filters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/openapi/loaders.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/py.typed +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/pytest/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/pytest/control_flow.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/pytest/lazy.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/pytest/loaders.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/pytest/plugin.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/python/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/python/asgi.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/python/wsgi.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/schemas.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/patterns.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/schemas.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/stateful/control.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/transport/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/transport/asgi.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/transport/prepare.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/transport/requests.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/transport/serialization.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/transport/wsgi.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/_pytest/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/_pytest/test_markers.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/cp1252_app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/hooks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/apps/openapi/schema.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/test_cli.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/test_provider.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/auth/test_pytest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args10].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args3].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args4].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args5].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args6].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args7].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args8].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args9].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_cli_run_changed_base_url[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_dont_skip_when_generation_is_possible[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_empty_schema_file.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_exit_first[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_filter_case_sensitivity[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_during_schema_loading.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_long_operation_output.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_reserved_characters_in_operation_name.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 2.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_skip_not_negated_tests[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_skipped_on_no_explicit_examples.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_warning_on_all_not_found.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_warning_on_no_2xx.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_warning_on_no_2xx_options_only.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_commands/test_warning_on_unauthorized.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/__snapshots__/test_hooks/test_after_call[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/cert.pem +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_cassettes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_crashes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_hooks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_junitxml.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_options.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_targeted.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/cli/test_validation.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/code_samples/test_curl.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/core/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/core/test_deserialization.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/core/test_media_types.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/coverage/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/coverage/test_examples.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/engine/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/engine/test_checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/engine/test_engine.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/engine/test_errors.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/engine/test_probes.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/engine/test_simulation.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/experimental/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/experimental/test_experiments.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/filters/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/filters/test_expressions.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/filters/test_matching.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/fixtures/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/fixtures/app_runner.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/fixtures/ctx.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/hooks/test_filters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/hooks/test_hooks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/loaders/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/loaders/test_common.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/loaders/test_graphql.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/loaders/test_openapi.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/openapi/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/openapi/test_filters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-200].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-406].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/__snapshots__/test_patterns/test_response_schema_is_not_mutated.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-1].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-2].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_invalid_parameter_reference.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_body_parameter.raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_link[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[User data as plain text].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_not_enough_links[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/test_cli.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/test_engine.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_patterns.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_randomized.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_app.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_asgi.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_async.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_common_parameters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_converter.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_dereferencing.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_direct_access.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_examples.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_filters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_lazy.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_models.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_output.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_package.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_parameters.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_parametrization.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_petstore.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_pytest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_rate_limit.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_recoverable_errors.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_required.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_sanitizing_output.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_schemas.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_serialization.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_stateful.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_unittest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/test_wsgi.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test/utils.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test-corpus/conftest.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test-corpus/test_corpus.py +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/test_server.sh +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/tox.ini +0 -0
- {schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/typos.toml +0 -0
@@ -1,9 +1,16 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [Unreleased](https://github.com/schemathesis/schemathesis/compare/v4.0.0-alpha.
|
3
|
+
## [Unreleased](https://github.com/schemathesis/schemathesis/compare/v4.0.0-alpha.10...HEAD) - TBD
|
4
4
|
|
5
|
-
## [4.0.0-alpha.
|
5
|
+
## [4.0.0-alpha.10](https://github.com/schemathesis/schemathesis/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) - 2025-05-07
|
6
|
+
|
7
|
+
### :bug: Fixed
|
6
8
|
|
9
|
+
- Generate negative test cases for large nested arrays during the coverage phase.
|
10
|
+
- Generate strings larger than 10000 characters during the coverage phase.
|
11
|
+
- Internal error on building a JUnit report if the same failures appear multiple times across multiple test phases. [#2814](https://github.com/schemathesis/schemathesis/issues/2814)
|
12
|
+
|
13
|
+
## [4.0.0-alpha.9](https://github.com/schemathesis/schemathesis/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) - 2025-05-06
|
7
14
|
|
8
15
|
### :wrench: Changed
|
9
16
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: schemathesis
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.0a10
|
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
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "schemathesis"
|
7
|
-
version = "4.0.0-alpha.
|
7
|
+
version = "4.0.0-alpha.10"
|
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" }]
|
@@ -23,7 +23,7 @@ class JunitXMLHandler(EventHandler):
|
|
23
23
|
label = event.recorder.label
|
24
24
|
test_case = self.get_or_create_test_case(label)
|
25
25
|
test_case.elapsed_sec += event.elapsed_time
|
26
|
-
if event.status == Status.FAILURE:
|
26
|
+
if event.status == Status.FAILURE and label in ctx.statistic.failures:
|
27
27
|
add_failure(test_case, ctx.statistic.failures[label].values(), ctx)
|
28
28
|
elif event.status == Status.SKIP and event.skip_reason is not None:
|
29
29
|
test_case.add_skipped_info(output=event.skip_reason)
|
@@ -16,7 +16,7 @@ from hypothesis_jsonschema import from_schema
|
|
16
16
|
from hypothesis_jsonschema._canonicalise import canonicalish
|
17
17
|
from hypothesis_jsonschema._from_schema import STRING_FORMATS as BUILT_IN_STRING_FORMATS
|
18
18
|
|
19
|
-
from schemathesis.core import NOT_SET
|
19
|
+
from schemathesis.core import INTERNAL_BUFFER_SIZE, NOT_SET
|
20
20
|
from schemathesis.core.compat import RefResolutionError
|
21
21
|
from schemathesis.core.transforms import deepclone
|
22
22
|
from schemathesis.core.validation import has_invalid_characters, is_latin_1_encodable
|
@@ -36,7 +36,6 @@ def json_recursive_strategy(strategy: st.SearchStrategy) -> st.SearchStrategy:
|
|
36
36
|
return st.lists(strategy, max_size=3) | st.dictionaries(st.text(), strategy, max_size=3)
|
37
37
|
|
38
38
|
|
39
|
-
BUFFER_SIZE = 8 * 1024
|
40
39
|
NEGATIVE_MODE_MAX_LENGTH_WITH_PATTERN = 100
|
41
40
|
NEGATIVE_MODE_MAX_ITEMS = 15
|
42
41
|
FLOAT_STRATEGY: st.SearchStrategy = st.floats(allow_nan=False, allow_infinity=False).map(_replace_zero_with_nonzero)
|
@@ -161,7 +160,7 @@ class CoverageContext:
|
|
161
160
|
def generate_from_schema(self, schema: dict | bool) -> Any:
|
162
161
|
if isinstance(schema, bool):
|
163
162
|
return 0
|
164
|
-
keys = sorted([k for k in schema if not k.startswith("x-") and k not in ["description", "example"]])
|
163
|
+
keys = sorted([k for k in schema if not k.startswith("x-") and k not in ["description", "example", "examples"]])
|
165
164
|
if keys == ["type"] and isinstance(schema["type"], str) and schema["type"] in STRATEGIES_FOR_TYPE:
|
166
165
|
return cached_draw(STRATEGIES_FOR_TYPE[schema["type"]])
|
167
166
|
if keys == ["format", "type"]:
|
@@ -393,7 +392,7 @@ def cover_schema_iter(
|
|
393
392
|
if k not in seen:
|
394
393
|
yield value_
|
395
394
|
seen.add(k)
|
396
|
-
elif key == "minLength" and 0 < value <
|
395
|
+
elif key == "minLength" and 0 < value < INTERNAL_BUFFER_SIZE:
|
397
396
|
if value == 1:
|
398
397
|
# In this case, the only possible negative string is an empty one
|
399
398
|
# The `pattern` value may require an non-empty one and the generation will fail
|
@@ -427,7 +426,7 @@ def cover_schema_iter(
|
|
427
426
|
value, description="String smaller than minLength", location=ctx.current_path
|
428
427
|
)
|
429
428
|
seen.add(k)
|
430
|
-
elif key == "maxLength" and value <
|
429
|
+
elif key == "maxLength" and value < INTERNAL_BUFFER_SIZE:
|
431
430
|
try:
|
432
431
|
min_length = max_length = value + 1
|
433
432
|
new_schema = {**schema, "minLength": min_length, "maxLength": max_length}
|
@@ -461,7 +460,7 @@ def cover_schema_iter(
|
|
461
460
|
elif key == "required":
|
462
461
|
template = template or ctx.generate_from_schema(_get_template_schema(schema, "object"))
|
463
462
|
yield from _negative_required(ctx, template, value)
|
464
|
-
elif key == "maxItems" and isinstance(value, int) and value <
|
463
|
+
elif key == "maxItems" and isinstance(value, int) and value < INTERNAL_BUFFER_SIZE:
|
465
464
|
if value > NEGATIVE_MODE_MAX_ITEMS:
|
466
465
|
# It could be extremely slow to generate large arrays
|
467
466
|
# Generate values up to the limit and reuse them to construct the final array
|
@@ -471,7 +470,18 @@ def cover_schema_iter(
|
|
471
470
|
"maxItems": NEGATIVE_MODE_MAX_ITEMS,
|
472
471
|
"type": "array",
|
473
472
|
}
|
474
|
-
|
473
|
+
if "items" in schema and isinstance(schema["items"], dict):
|
474
|
+
# The schema may have another large array nested, therefore generate covering cases
|
475
|
+
# and use them to build an array for the current schema
|
476
|
+
negative = [case.value for case in cover_schema_iter(ctx, schema["items"])]
|
477
|
+
positive = [case.value for case in cover_schema_iter(ctx.with_positive(), schema["items"])]
|
478
|
+
# Interleave positive & negative values
|
479
|
+
array_value = [value for pair in zip(positive, negative) for value in pair][
|
480
|
+
:NEGATIVE_MODE_MAX_ITEMS
|
481
|
+
]
|
482
|
+
else:
|
483
|
+
array_value = ctx.generate_from_schema(new_schema)
|
484
|
+
|
475
485
|
# Extend the array to be of length value + 1 by repeating its own elements
|
476
486
|
diff = value + 1 - len(array_value)
|
477
487
|
if diff > 0:
|
@@ -606,7 +616,7 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
|
|
606
616
|
|
607
617
|
seen = set()
|
608
618
|
|
609
|
-
if min_length is not None and min_length <
|
619
|
+
if min_length is not None and min_length < INTERNAL_BUFFER_SIZE:
|
610
620
|
# Exactly the minimum length
|
611
621
|
yield PositiveValue(
|
612
622
|
ctx.generate_from_schema({**schema, "maxLength": min_length}), description="Minimum length string"
|
@@ -615,7 +625,7 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
|
|
615
625
|
|
616
626
|
# One character more than minimum if possible
|
617
627
|
larger = min_length + 1
|
618
|
-
if larger <
|
628
|
+
if larger < INTERNAL_BUFFER_SIZE and larger not in seen and (not max_length or larger <= max_length):
|
619
629
|
yield PositiveValue(
|
620
630
|
ctx.generate_from_schema({**schema, "minLength": larger, "maxLength": larger}),
|
621
631
|
description="Near-boundary length string",
|
@@ -624,7 +634,7 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
|
|
624
634
|
|
625
635
|
if max_length is not None:
|
626
636
|
# Exactly the maximum length
|
627
|
-
if max_length <
|
637
|
+
if max_length < INTERNAL_BUFFER_SIZE and max_length not in seen:
|
628
638
|
yield PositiveValue(
|
629
639
|
ctx.generate_from_schema({**schema, "minLength": max_length}), description="Maximum length string"
|
630
640
|
)
|
@@ -633,7 +643,7 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
|
|
633
643
|
# One character less than maximum if possible
|
634
644
|
smaller = max_length - 1
|
635
645
|
if (
|
636
|
-
smaller <
|
646
|
+
smaller < INTERNAL_BUFFER_SIZE
|
637
647
|
and smaller not in seen
|
638
648
|
and (smaller > 0 and (min_length is None or smaller >= min_length))
|
639
649
|
):
|
@@ -765,7 +775,7 @@ def _positive_array(ctx: CoverageContext, schema: dict, template: list) -> Gener
|
|
765
775
|
yield PositiveValue(value, description="Near-boundary items array")
|
766
776
|
|
767
777
|
if max_items is not None:
|
768
|
-
if max_items <
|
778
|
+
if max_items < INTERNAL_BUFFER_SIZE and max_items not in seen:
|
769
779
|
value = ctx.generate_from_schema({**schema, "minItems": max_items})
|
770
780
|
key = _to_hashable_key(value)
|
771
781
|
if key not in seen:
|
@@ -775,7 +785,7 @@ def _positive_array(ctx: CoverageContext, schema: dict, template: list) -> Gener
|
|
775
785
|
# One item smaller than maximum if possible
|
776
786
|
smaller = max_items - 1
|
777
787
|
if (
|
778
|
-
smaller <
|
788
|
+
smaller < INTERNAL_BUFFER_SIZE
|
779
789
|
and smaller > 0
|
780
790
|
and smaller not in seen
|
781
791
|
and (min_items is None or smaller >= min_items)
|
{schemathesis-4.0.0a9 → schemathesis-4.0.0a10}/src/schemathesis/generation/hypothesis/__init__.py
RENAMED
@@ -5,11 +5,14 @@ DEFAULT_DEADLINE = 15000
|
|
5
5
|
|
6
6
|
|
7
7
|
def setup() -> None:
|
8
|
+
from hypothesis import core as root_core
|
9
|
+
from hypothesis.internal.conjecture import engine
|
8
10
|
from hypothesis.internal.entropy import deterministic_PRNG
|
9
11
|
from hypothesis.internal.reflection import is_first_param_referenced_in_function
|
10
|
-
from hypothesis.strategies._internal import core
|
12
|
+
from hypothesis.strategies._internal import collections, core
|
11
13
|
from hypothesis_jsonschema import _from_schema, _resolve
|
12
14
|
|
15
|
+
from schemathesis.core import INTERNAL_BUFFER_SIZE
|
13
16
|
from schemathesis.core.transforms import deepclone
|
14
17
|
|
15
18
|
# Forcefully initializes Hypothesis' global PRNG to avoid races that initialize it
|
@@ -28,3 +31,6 @@ def setup() -> None:
|
|
28
31
|
core.is_first_param_referenced_in_function = _is_first_param_referenced_in_function # type: ignore
|
29
32
|
_resolve.deepcopy = deepclone # type: ignore
|
30
33
|
_from_schema.deepcopy = deepclone # type: ignore
|
34
|
+
root_core.BUFFER_SIZE = INTERNAL_BUFFER_SIZE # type: ignore
|
35
|
+
engine.BUFFER_SIZE = INTERNAL_BUFFER_SIZE
|
36
|
+
collections.BUFFER_SIZE = INTERNAL_BUFFER_SIZE # type: ignore
|
@@ -0,0 +1,89 @@
|
|
1
|
+
Exit code: 1
|
2
|
+
---
|
3
|
+
Stdout:
|
4
|
+
Schemathesis dev
|
5
|
+
━━━━━━━━━━━━━━━━
|
6
|
+
|
7
|
+
|
8
|
+
✅ Loaded specification from http://127.0.0.1/schema.yaml (in 0.00s)
|
9
|
+
|
10
|
+
Base URL: http://127.0.0.1/api
|
11
|
+
Specification: Open API 3.0.2
|
12
|
+
Operations: 3 selected / 3 total
|
13
|
+
|
14
|
+
|
15
|
+
✅ API capabilities:
|
16
|
+
|
17
|
+
Supports NULL byte in headers: ✘
|
18
|
+
|
19
|
+
❌ Examples (in 0.00s)
|
20
|
+
|
21
|
+
✅ 1 passed ❌ 1 failed ⏭ 1 skipped
|
22
|
+
|
23
|
+
❌ Coverage (in 0.00s)
|
24
|
+
|
25
|
+
✅ 2 passed ❌ 1 failed
|
26
|
+
|
27
|
+
❌ Fuzzing (in 0.00s)
|
28
|
+
|
29
|
+
✅ 2 passed ❌ 1 failed
|
30
|
+
|
31
|
+
❌ Stateful (in 0.00s)
|
32
|
+
|
33
|
+
Scenarios: N
|
34
|
+
API Links: N covered / 4 selected / 4 total
|
35
|
+
|
36
|
+
✅ N passed ❌ 1 failed
|
37
|
+
|
38
|
+
=================================== FAILURES ===================================
|
39
|
+
_____________________________ GET /users/{user_id} _____________________________
|
40
|
+
1. Test Case ID: <PLACEHOLDER>
|
41
|
+
|
42
|
+
- Custom check failed: `always_fails`
|
43
|
+
|
44
|
+
Failed!
|
45
|
+
|
46
|
+
[404] Not Found:
|
47
|
+
|
48
|
+
`{"message": "Not found"}`
|
49
|
+
|
50
|
+
Reproduce with:
|
51
|
+
|
52
|
+
curl -X GET 'http://127.0.0.1/api/users/0?user_id=test-id&code=0&common=0'
|
53
|
+
|
54
|
+
=================================== WARNINGS ===================================
|
55
|
+
|
56
|
+
Schemathesis configuration: 1 operation returned only 4xx responses during unit tests
|
57
|
+
|
58
|
+
- PATCH /users/{user_id}
|
59
|
+
|
60
|
+
Tip: Check base URL or adjust data generation settings
|
61
|
+
|
62
|
+
=================================== SUMMARY ====================================
|
63
|
+
|
64
|
+
API Operations:
|
65
|
+
Selected: 3/3
|
66
|
+
Tested: 3
|
67
|
+
|
68
|
+
Test Phases:
|
69
|
+
✅ API probing
|
70
|
+
❌ Examples
|
71
|
+
❌ Coverage
|
72
|
+
❌ Fuzzing
|
73
|
+
❌ Stateful
|
74
|
+
|
75
|
+
Failures:
|
76
|
+
❌ Custom check failed: `always_fails`: 1
|
77
|
+
|
78
|
+
Warnings:
|
79
|
+
⚠️ Schemathesis configuration: 1 operation returned only 4xx responses during unit tests
|
80
|
+
|
81
|
+
Test cases:
|
82
|
+
N generated, N found N unique failures
|
83
|
+
|
84
|
+
Reports:
|
85
|
+
- JUNIT: /tmp/test_rediscover_the_same_failu0/reports/junit.xml
|
86
|
+
|
87
|
+
Seed: 42
|
88
|
+
|
89
|
+
============================== 1 failure in 1.00s ==============================
|
@@ -1640,3 +1640,32 @@ class EventCounter(cli.EventHandler):
|
|
1640
1640
|
)
|
1641
1641
|
== snapshot_cli
|
1642
1642
|
)
|
1643
|
+
|
1644
|
+
|
1645
|
+
@pytest.mark.openapi_version("3.0")
|
1646
|
+
@pytest.mark.operations("create_user", "get_user", "update_user")
|
1647
|
+
@pytest.mark.skipif(platform.system() == "Windows", reason="Requires a more complex test setup")
|
1648
|
+
def test_rediscover_the_same_failure_in_different_phases_and_store_junit(ctx, cli, schema_url, tmp_path, snapshot_cli):
|
1649
|
+
# See GH-2814
|
1650
|
+
report_dir = tmp_path / "reports"
|
1651
|
+
with ctx.check(
|
1652
|
+
r"""
|
1653
|
+
@schemathesis.check
|
1654
|
+
def always_fails(ctx, response, case):
|
1655
|
+
if case.operation.label == "GET /users/{user_id}":
|
1656
|
+
raise AssertionError("Failed!")
|
1657
|
+
"""
|
1658
|
+
) as module:
|
1659
|
+
assert (
|
1660
|
+
cli.main(
|
1661
|
+
"run",
|
1662
|
+
schema_url,
|
1663
|
+
"-c",
|
1664
|
+
"always_fails",
|
1665
|
+
"--max-examples=1",
|
1666
|
+
f"--report-dir={report_dir}",
|
1667
|
+
"--report=junit",
|
1668
|
+
hooks=module,
|
1669
|
+
)
|
1670
|
+
== snapshot_cli
|
1671
|
+
)
|
@@ -1215,6 +1215,22 @@ def test_generate_large_string(request, ctx, expected):
|
|
1215
1215
|
assert cover_schema(ctx, schema) == expected
|
1216
1216
|
|
1217
1217
|
|
1218
|
+
def test_generate_very_large_string(nctx):
|
1219
|
+
schema = {
|
1220
|
+
"properties": {
|
1221
|
+
"name": {"maxLength": 10000, "minLength": 1, "pattern": "^[\\w\\W]*$", "type": "string"},
|
1222
|
+
},
|
1223
|
+
"required": ["name"],
|
1224
|
+
"type": "object",
|
1225
|
+
}
|
1226
|
+
|
1227
|
+
assert 10001 in {
|
1228
|
+
len(item["name"])
|
1229
|
+
for item in cover_schema(nctx, schema)
|
1230
|
+
if isinstance(item, dict) and isinstance(item.get("name"), str)
|
1231
|
+
}
|
1232
|
+
|
1233
|
+
|
1218
1234
|
def test_large_string_with_complex_pattern(nctx):
|
1219
1235
|
schema = {
|
1220
1236
|
"maxLength": 4000,
|
@@ -1462,3 +1478,37 @@ def test_large_arrays(nctx):
|
|
1462
1478
|
for item in cover_schema(nctx, schema)
|
1463
1479
|
if isinstance(item, dict) and isinstance(item["questions"], list)
|
1464
1480
|
}
|
1481
|
+
|
1482
|
+
|
1483
|
+
def test_large_arrays_nested(nctx):
|
1484
|
+
schema = {
|
1485
|
+
"properties": {
|
1486
|
+
"questions": {
|
1487
|
+
"items": {
|
1488
|
+
"properties": {
|
1489
|
+
"answers": {
|
1490
|
+
"items": {
|
1491
|
+
"type": "null",
|
1492
|
+
},
|
1493
|
+
"maxItems": 100,
|
1494
|
+
"type": "array",
|
1495
|
+
},
|
1496
|
+
"id": {"minLength": 6, "pattern": "^[0-9]+$", "type": "string"},
|
1497
|
+
},
|
1498
|
+
"required": ["id"],
|
1499
|
+
"type": "object",
|
1500
|
+
},
|
1501
|
+
"maxItems": 500,
|
1502
|
+
"minItems": 1,
|
1503
|
+
"type": "array",
|
1504
|
+
},
|
1505
|
+
},
|
1506
|
+
"required": ["questions"],
|
1507
|
+
"type": "object",
|
1508
|
+
}
|
1509
|
+
|
1510
|
+
assert 501 in {
|
1511
|
+
len(item["questions"])
|
1512
|
+
for item in cover_schema(nctx, schema)
|
1513
|
+
if isinstance(item, dict) and isinstance(item.get("questions"), list)
|
1514
|
+
}
|
@@ -538,64 +538,75 @@ def test_with_examples_openapi_3_request_body(ctx):
|
|
538
538
|
schema,
|
539
539
|
[GenerationMode.POSITIVE],
|
540
540
|
[
|
541
|
-
{"body": {"address": {}, "age": 25, "name": "John Doe", "tags": ["designer", "ui/ux"]}},
|
542
541
|
{
|
543
542
|
"body": {
|
544
|
-
"address": {"street": "456 Elm St"},
|
545
|
-
"age": 25,
|
546
543
|
"name": "John Doe",
|
547
|
-
"
|
544
|
+
"age": 30,
|
545
|
+
"tags": ["developer", "python"],
|
546
|
+
"address": {"street": "123 Main St", "city": "Somewhere"},
|
548
547
|
}
|
549
548
|
},
|
550
|
-
{"body": {"address": {"city": "Anytown"}, "age": 25, "name": "John Doe", "tags": ["designer", "ui/ux"]}},
|
551
549
|
{
|
552
550
|
"body": {
|
553
|
-
"address": {"street": "456 Elm St", "city": "Somewhere"},
|
554
|
-
"age": 25,
|
555
551
|
"name": "John Doe",
|
556
|
-
"
|
552
|
+
"age": 30,
|
553
|
+
"tags": ["developer", "python"],
|
554
|
+
"address": {"street": "456 Elm St", "city": "Anytown"},
|
557
555
|
}
|
558
556
|
},
|
557
|
+
{"body": {"name": "John Doe", "age": 30, "tags": ["developer", "python"], "address": {}}},
|
559
558
|
{
|
560
559
|
"body": {
|
561
|
-
"address": {
|
562
|
-
"city": "Anytown",
|
563
|
-
"street": "123 Main St",
|
564
|
-
},
|
565
|
-
"age": 25,
|
566
560
|
"name": "John Doe",
|
567
|
-
"
|
568
|
-
|
569
|
-
|
570
|
-
}
|
561
|
+
"age": 30,
|
562
|
+
"tags": ["developer", "python"],
|
563
|
+
"address": {"street": "123 Main St"},
|
564
|
+
}
|
571
565
|
},
|
566
|
+
{"body": {"name": "John Doe", "age": 30, "tags": ["developer", "python"], "address": {"city": "Anytown"}}},
|
572
567
|
{
|
573
568
|
"body": {
|
574
|
-
"address": {"city": "Anytown", "street": "123 Main St"},
|
575
|
-
"age": 25,
|
576
569
|
"name": "John Doe",
|
570
|
+
"age": 30,
|
577
571
|
"tags": ["developer", "python"],
|
572
|
+
"address": {"street": "456 Elm St", "city": "Somewhere"},
|
578
573
|
}
|
579
574
|
},
|
580
575
|
{
|
581
576
|
"body": {
|
582
|
-
"
|
577
|
+
"name": "John Doe",
|
583
578
|
"age": 30,
|
579
|
+
"tags": [""],
|
580
|
+
"address": {"street": "123 Main St", "city": "Anytown"},
|
581
|
+
}
|
582
|
+
},
|
583
|
+
{
|
584
|
+
"body": {
|
584
585
|
"name": "John Doe",
|
586
|
+
"age": 30,
|
585
587
|
"tags": ["designer", "ui/ux"],
|
588
|
+
"address": {"street": "123 Main St", "city": "Anytown"},
|
586
589
|
}
|
587
590
|
},
|
588
591
|
{
|
589
592
|
"body": {
|
590
|
-
"
|
593
|
+
"name": "John Doe",
|
591
594
|
"age": 25,
|
595
|
+
"tags": ["developer", "python"],
|
596
|
+
"address": {"street": "123 Main St", "city": "Anytown"},
|
597
|
+
}
|
598
|
+
},
|
599
|
+
{
|
600
|
+
"body": {
|
592
601
|
"name": "Jane Smith",
|
593
|
-
"
|
602
|
+
"age": 30,
|
603
|
+
"tags": ["developer", "python"],
|
604
|
+
"address": {"street": "123 Main St", "city": "Anytown"},
|
594
605
|
}
|
595
606
|
},
|
596
|
-
{"body": {"
|
597
|
-
{"body": {"
|
598
|
-
{"body": {"
|
607
|
+
{"body": {"name": "John Doe", "age": 30}},
|
608
|
+
{"body": {"name": "John Doe", "age": 30, "tags": ["developer", "python"]}},
|
609
|
+
{"body": {"name": "John Doe", "age": 30, "address": {"street": "123 Main St", "city": "Anytown"}}},
|
599
610
|
{
|
600
611
|
"body": {
|
601
612
|
"name": "Jane Smith",
|
@@ -494,7 +494,7 @@ def test_health_check_failed_large_base_example(ctx, cli, snapshot_cli, openapi3
|
|
494
494
|
"required": True,
|
495
495
|
"content": {
|
496
496
|
"application/json": {
|
497
|
-
"schema": {"type": "array", "items": {"type": "integer"}, "minItems":
|
497
|
+
"schema": {"type": "array", "items": {"type": "integer"}, "minItems": 100000}
|
498
498
|
}
|
499
499
|
},
|
500
500
|
},
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|