schemathesis 3.39.1__tar.gz → 3.39.3__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.39.1 → schemathesis-3.39.3}/.github/workflows/build.yml +1 -1
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.pre-commit-config.yaml +3 -3
- {schemathesis-3.39.1 → schemathesis-3.39.3}/PKG-INFO +2 -2
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/additional-content.rst +6 -1
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/changelog.rst +30 -1
- {schemathesis-3.39.1 → schemathesis-3.39.3}/pyproject.toml +2 -2
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_hypothesis.py +14 -9
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/junitxml.py +15 -7
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/models.py +1 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/checks.py +1 -1
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/schemas.py +5 -6
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/output/test_default.py +1 -118
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_cassettes.py +4 -3
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_junitxml.py +3 -3
- schemathesis-3.39.3/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +123 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/coverage/test_phase.py +86 -12
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_randomized.py +13 -2
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.dockerignore +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/FUNDING.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/dependabot.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/release.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.gitignore +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.readthedocs.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.relint.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.rstcheck.cfg +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/.yamllint +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/CITATION.cff +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/Dockerfile +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/Dockerfile.bookworm +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/LICENSE +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/README.md +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/SECURITY.md +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/benches/cli.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/benches/coverage_phase.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/benches/references.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/benches/schema.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/changelog.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/codecov.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/corpus/data/graphql.tar.gz +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/corpus/data/openapi-3.0.tar.gz +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/corpus/data/openapi-3.1.tar.gz +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/corpus/data/swagger-2.0.tar.gz +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/corpus/tools.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/Makefile +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/api.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/auth.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/cli.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/compatibility.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/conf.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/contrib.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/data-generation.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/examples.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/experimental.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/extending.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/faq.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/getting-started.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/graphql.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/index.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/python.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/recipes.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/requirements.txt +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/sanitizing.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/service.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/stateful.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/docs/targeted.rst +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/Dockerfile +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/README.md +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/compose.yml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/openapi.json +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/requirements-app.in +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/requirements-app.txt +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/requirements-pytest.in +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/tests/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/tests/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/tests/extensions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/example/tests/test_app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/img/demo.gif +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/img/service_github_report.png +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/mypy.ini +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_dependency_versions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_patches.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_rate_limiter.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/__main__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/cassettes.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/reporting.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/exceptions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/generation/_hypothesis.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/generation/_methods.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/generation/coverage.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/checks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/diff.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/extensions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/output.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/impl/context.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/impl/core.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/runner/serialization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/schemas.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/serialization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/graphql/_cache.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/graphql/schemas.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/_cache.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/loaders.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/patterns.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/config.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/context.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/events.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/runner.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/sink.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/statistic.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/stateful/validation.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/throttling.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/transports/asgi.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/types.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/cp1252_app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/hooks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/test_cli.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/test_provider.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/checks/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/checks/test_checks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args10].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args3].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args4].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args5].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args6].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args7].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args8].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args9].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/cert.pem +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_checks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_commands.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_options.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_reporting.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/test_install.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/coverage/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/coverage/test_combinations.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/coverage/test_examples.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/relative_files/components/parameters.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/relative_files/components/responses.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/relative_files/components/schemas.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/relative_files/main.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/relative_files/paths/user-account.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/experimental/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/extra/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/filters/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/filters/test_expressions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/filters/test_matching.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/fixtures/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/fixtures/ctx.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/hooks/test_filters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/loaders/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/loaders/test_app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/loaders/test_common.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/runner/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/runner/test_checks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/runner/test_events.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/runner/test_probes.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/runner/test_runner.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_client_error_on_project_details.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_unauthorized.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/test_auth.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/test_ci.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/test_cli.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/test_extensions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/test_report.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/test_serialization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/service/test_usage.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[200].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[406].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[cookie].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[query].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/stateful/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/stateful/test_config.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/stateful/test_runner.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/stateful/test_stateful.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_checks.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_ignored_auth.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_patterns.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_app.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_asgi.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_async.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_common_parameters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_converter.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_dereferencing.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_direct_access.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_examples.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_filters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_fixups.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_hypothesis.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_internal.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_lazy.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_models.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_output.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_package.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_parameters.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_parametrization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_petstore.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_pytest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_rate_limit.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_required.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_schemas.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_serialization.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_stateful.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_unittest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_utils.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/test_wsgi.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test/utils.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test-corpus/conftest.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/test_server.sh +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/tox.ini +0 -0
- {schemathesis-3.39.1 → schemathesis-3.39.3}/typos.toml +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.
|
|
41
|
+
uses: github/codeql-action/init@v3.28.0
|
|
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.
|
|
52
|
+
uses: github/codeql-action/autobuild@v3.28.0
|
|
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.
|
|
66
|
+
uses: github/codeql-action/analyze@v3.28.0
|
|
@@ -30,7 +30,7 @@ repos:
|
|
|
30
30
|
- id: relint
|
|
31
31
|
|
|
32
32
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
33
|
-
rev: v1.
|
|
33
|
+
rev: v1.14.0
|
|
34
34
|
hooks:
|
|
35
35
|
- id: mypy
|
|
36
36
|
exclude: ^(docs/|test/|test-corpus/|example/|benches/).*$
|
|
@@ -38,12 +38,12 @@ repos:
|
|
|
38
38
|
additional_dependencies: [types-click, types-requests, types-PyYAML]
|
|
39
39
|
|
|
40
40
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
41
|
-
rev: v0.8.
|
|
41
|
+
rev: v0.8.4
|
|
42
42
|
hooks:
|
|
43
43
|
- id: ruff-format
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.8.
|
|
46
|
+
rev: v0.8.4
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff
|
|
49
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.39.
|
|
3
|
+
Version: 3.39.3
|
|
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
|
|
@@ -41,7 +41,7 @@ Requires-Dist: hypothesis[zoneinfo]<7,>=6.103.4; python_version == '3.8'
|
|
|
41
41
|
Requires-Dist: jsonschema[format]<5.0,>=4.18.0
|
|
42
42
|
Requires-Dist: junit-xml<2.0,>=1.9
|
|
43
43
|
Requires-Dist: pyrate-limiter<4.0,>=2.10
|
|
44
|
-
Requires-Dist: pytest-subtests<0.
|
|
44
|
+
Requires-Dist: pytest-subtests<0.15.0,>=0.2.1
|
|
45
45
|
Requires-Dist: pytest<9,>=4.6.4
|
|
46
46
|
Requires-Dist: pyyaml<7.0,>=5.1
|
|
47
47
|
Requires-Dist: requests<3,>=2.22
|
|
@@ -28,6 +28,11 @@ Tutorials
|
|
|
28
28
|
Articles
|
|
29
29
|
--------
|
|
30
30
|
|
|
31
|
+
- `Create a Cracker of an Open API Contract with VS Code, Spectral, Prism and Schemathesis <https://blog.hungovercoders.com/datagriff/2024/12/22/create-a-cracker-of-an-open-api-contract-with-vs-code-spectral-prism-and-schemathesis.html>`_ by **dataGriff**
|
|
32
|
+
|
|
33
|
+
- **Description**: Contract-first API design and testing walkthrough.
|
|
34
|
+
|
|
35
|
+
- **Date**: 22 Dec 2024
|
|
31
36
|
|
|
32
37
|
- `Boost Your FastAPI Reliability with Schemathesis Automated Testing <https://medium.com/@jeremy3/boost-your-fastapi-reliability-with-schemathesis-automated-testing-e8b70ff704f6>`_ by **Jeremy**
|
|
33
38
|
|
|
@@ -37,7 +42,7 @@ Articles
|
|
|
37
42
|
|
|
38
43
|
- `Implementing Schemathesis at PayLead <https://medium.com/paylead/implementing-schemathesis-at-paylead-a469a5d43626>`_ by **Jérémy Pelletier** at **PayLead**
|
|
39
44
|
|
|
40
|
-
- **Description**: In-depth walkthrough including custom hooks, stateful testing and CI/CD integration.
|
|
45
|
+
- **Description**: In-depth walkthrough including custom hooks, stateful testing, and CI/CD integration.
|
|
41
46
|
|
|
42
47
|
- **Date**: 29 May 2024
|
|
43
48
|
|
|
@@ -1,9 +1,38 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.39.
|
|
4
|
+
:version:`Unreleased <v3.39.3...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.39.3:
|
|
8
|
+
|
|
9
|
+
:version:`3.39.3 <v3.39.2...v3.39.3>` - 2024-12-24
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Fixed**
|
|
13
|
+
|
|
14
|
+
- Code sample containing incorrect HTTP method for the ``Unspecified HTTP method`` case in the coverage phase.
|
|
15
|
+
- ``TypeError`` on some ``x-www-form-urlencoded`` payloads during the coverage phase.
|
|
16
|
+
|
|
17
|
+
.. _v3.39.2:
|
|
18
|
+
|
|
19
|
+
:version:`3.39.2 <v3.39.1...v3.39.2>` - 2024-12-23
|
|
20
|
+
--------------------------------------------------
|
|
21
|
+
|
|
22
|
+
**Changed**
|
|
23
|
+
|
|
24
|
+
- Update upper bound on ``pytest-subtests`` to ``<0.15.0``.
|
|
25
|
+
- Adjust JUnit XML output so it is properly displayed by Jenkins.
|
|
26
|
+
|
|
27
|
+
**Fixed**
|
|
28
|
+
|
|
29
|
+
- Do not report 5XX responses in ``use_after_free`` as they don't indicate the presence of the previously deleted resource.
|
|
30
|
+
- Deduplicate test cases in JUnit XML report.
|
|
31
|
+
|
|
32
|
+
**Performance**
|
|
33
|
+
|
|
34
|
+
- Faster iteration over API operations.
|
|
35
|
+
|
|
7
36
|
.. _v3.39.1:
|
|
8
37
|
|
|
9
38
|
:version:`3.39.1 <v3.39.0...v3.39.1>` - 2024-12-17
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.39.
|
|
7
|
+
version = "3.39.3"
|
|
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" }]
|
|
@@ -44,7 +44,7 @@ dependencies = [
|
|
|
44
44
|
"jsonschema[format]>=4.18.0,<5.0",
|
|
45
45
|
"junit-xml>=1.9,<2.0",
|
|
46
46
|
"pyrate-limiter>=2.10,<4.0",
|
|
47
|
-
"pytest-subtests>=0.2.1,<0.
|
|
47
|
+
"pytest-subtests>=0.2.1,<0.15.0",
|
|
48
48
|
"pytest>=4.6.4,<9",
|
|
49
49
|
"PyYAML>=5.1,<7.0",
|
|
50
50
|
"requests>=2.22,<3",
|
|
@@ -199,21 +199,26 @@ def add_examples(
|
|
|
199
199
|
if invalid_headers:
|
|
200
200
|
add_invalid_example_header_mark(original_test, invalid_headers)
|
|
201
201
|
continue
|
|
202
|
-
|
|
203
|
-
try:
|
|
204
|
-
media_type = parse_content_type(example.media_type)
|
|
205
|
-
if media_type == ("application", "x-www-form-urlencoded"):
|
|
206
|
-
example.body = prepare_urlencoded(example.body)
|
|
207
|
-
except ValueError:
|
|
208
|
-
pass
|
|
202
|
+
adjust_urlencoded_payload(example)
|
|
209
203
|
test = hypothesis.example(case=example)(test)
|
|
210
204
|
return test
|
|
211
205
|
|
|
212
206
|
|
|
207
|
+
def adjust_urlencoded_payload(case: Case) -> None:
|
|
208
|
+
if case.media_type is not None:
|
|
209
|
+
try:
|
|
210
|
+
media_type = parse_content_type(case.media_type)
|
|
211
|
+
if media_type == ("application", "x-www-form-urlencoded"):
|
|
212
|
+
case.body = prepare_urlencoded(case.body)
|
|
213
|
+
except ValueError:
|
|
214
|
+
pass
|
|
215
|
+
|
|
216
|
+
|
|
213
217
|
def add_coverage(
|
|
214
218
|
test: Callable, operation: APIOperation, data_generation_methods: list[DataGenerationMethod]
|
|
215
219
|
) -> Callable:
|
|
216
220
|
for example in _iter_coverage_cases(operation, data_generation_methods):
|
|
221
|
+
adjust_urlencoded_payload(example)
|
|
217
222
|
test = hypothesis.example(case=example)(test)
|
|
218
223
|
return test
|
|
219
224
|
|
|
@@ -322,7 +327,7 @@ def _iter_coverage_cases(
|
|
|
322
327
|
case = operation.make_case(**template)
|
|
323
328
|
case._explicit_method = method
|
|
324
329
|
case.data_generation_method = DataGenerationMethod.negative
|
|
325
|
-
case.meta = _make_meta(description=f"Unspecified HTTP method: {method}")
|
|
330
|
+
case.meta = _make_meta(description=f"Unspecified HTTP method: {method.upper()}")
|
|
326
331
|
yield case
|
|
327
332
|
# Generate duplicate query parameters
|
|
328
333
|
if operation.query:
|
|
@@ -518,7 +523,7 @@ def prepare_urlencoded(data: Any) -> Any:
|
|
|
518
523
|
for key, value in item.items():
|
|
519
524
|
output.append((key, value))
|
|
520
525
|
else:
|
|
521
|
-
output.append(item)
|
|
526
|
+
output.append((item, "arbitrary-value"))
|
|
522
527
|
return output
|
|
523
528
|
return data
|
|
524
529
|
|
|
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
|
|
|
24
24
|
@dataclass
|
|
25
25
|
class JunitXMLHandler(EventHandler):
|
|
26
26
|
file_handle: LazyFile
|
|
27
|
-
test_cases:
|
|
27
|
+
test_cases: dict = field(default_factory=dict)
|
|
28
28
|
|
|
29
29
|
def handle_event(self, context: ExecutionContext, event: events.ExecutionEvent) -> None:
|
|
30
30
|
if isinstance(event, (events.AfterExecution, events.AfterStatefulExecution)):
|
|
@@ -33,23 +33,31 @@ class JunitXMLHandler(EventHandler):
|
|
|
33
33
|
name = f"{event_.result.method} {event_.result.path}"
|
|
34
34
|
else:
|
|
35
35
|
name = event_.result.verbose_name
|
|
36
|
-
|
|
36
|
+
if name in self.test_cases:
|
|
37
|
+
test_case = self.test_cases[name]
|
|
38
|
+
test_case.elapsed_sec += event_.elapsed_time
|
|
39
|
+
else:
|
|
40
|
+
test_case = TestCase(name, elapsed_sec=event_.elapsed_time, allow_multiple_subelements=True)
|
|
37
41
|
if event_.status == Status.failure:
|
|
38
42
|
_add_failure(test_case, event_.result.checks, context)
|
|
39
43
|
elif event_.status == Status.error:
|
|
40
|
-
test_case.add_error_info(
|
|
44
|
+
test_case.add_error_info(output=build_error_message(context, event_.result.errors[-1]))
|
|
41
45
|
elif event_.status == Status.skip:
|
|
42
|
-
test_case.add_skipped_info(
|
|
43
|
-
self.test_cases
|
|
46
|
+
test_case.add_skipped_info(output=event_.result.skip_reason)
|
|
47
|
+
self.test_cases[name] = test_case
|
|
44
48
|
elif isinstance(event, events.Finished):
|
|
45
|
-
test_suites = [
|
|
49
|
+
test_suites = [
|
|
50
|
+
TestSuite("schemathesis", test_cases=list(self.test_cases.values()), hostname=platform.node())
|
|
51
|
+
]
|
|
46
52
|
to_xml_report_file(file_descriptor=self.file_handle, test_suites=test_suites, prettyprint=True)
|
|
47
53
|
|
|
48
54
|
|
|
49
55
|
def _add_failure(test_case: TestCase, checks: list[SerializedCheck], context: ExecutionContext) -> None:
|
|
56
|
+
messages = []
|
|
50
57
|
for idx, (code_sample, group) in enumerate(group_by_case(checks, context.code_sample_style), 1):
|
|
51
58
|
checks = sorted(group, key=lambda c: c.name != "not_a_server_error")
|
|
52
|
-
|
|
59
|
+
messages.append(build_failure_message(context, idx, code_sample, checks))
|
|
60
|
+
test_case.add_failure_info(message="\n\n".join(messages))
|
|
53
61
|
|
|
54
62
|
|
|
55
63
|
def build_failure_message(context: ExecutionContext, idx: int, code_sample: str, checks: list[SerializedCheck]) -> str:
|
|
@@ -317,7 +317,7 @@ def use_after_free(ctx: CheckContext, response: GenericResponse, original: Case)
|
|
|
317
317
|
|
|
318
318
|
if not isinstance(original.operation.schema, BaseOpenAPISchema):
|
|
319
319
|
return True
|
|
320
|
-
if response.status_code == 404 or not original.source:
|
|
320
|
+
if response.status_code == 404 or not original.source or response.status_code >= 500:
|
|
321
321
|
return None
|
|
322
322
|
response = original.source.response
|
|
323
323
|
case = original.source.case
|
|
@@ -160,6 +160,9 @@ class BaseOpenAPISchema(BaseSchema):
|
|
|
160
160
|
) -> bool:
|
|
161
161
|
if method not in HTTP_METHODS:
|
|
162
162
|
return True
|
|
163
|
+
if self.filter_set.is_empty():
|
|
164
|
+
return False
|
|
165
|
+
path = self.get_full_path(path)
|
|
163
166
|
# Attribute assignment is way faster than creating a new namespace every time
|
|
164
167
|
operation = _ctx_cache.operation
|
|
165
168
|
operation.method = method
|
|
@@ -175,17 +178,15 @@ class BaseOpenAPISchema(BaseSchema):
|
|
|
175
178
|
paths = self.raw_schema["paths"]
|
|
176
179
|
except KeyError:
|
|
177
180
|
return
|
|
178
|
-
get_full_path = self.get_full_path
|
|
179
181
|
resolve = self.resolver.resolve
|
|
180
182
|
should_skip = self._should_skip
|
|
181
183
|
for path, path_item in paths.items():
|
|
182
|
-
full_path = get_full_path(path)
|
|
183
184
|
try:
|
|
184
185
|
if "$ref" in path_item:
|
|
185
186
|
_, path_item = resolve(path_item["$ref"])
|
|
186
187
|
# Straightforward iteration is faster than converting to a set & calculating length.
|
|
187
188
|
for method, definition in path_item.items():
|
|
188
|
-
if should_skip(
|
|
189
|
+
if should_skip(path, method, definition):
|
|
189
190
|
continue
|
|
190
191
|
yield definition
|
|
191
192
|
except SCHEMA_PARSING_ERRORS:
|
|
@@ -282,7 +283,6 @@ class BaseOpenAPISchema(BaseSchema):
|
|
|
282
283
|
|
|
283
284
|
context = HookContext()
|
|
284
285
|
# Optimization: local variables are faster than attribute access
|
|
285
|
-
get_full_path = self.get_full_path
|
|
286
286
|
dispatch_hook = self.dispatch_hook
|
|
287
287
|
resolve_path_item = self._resolve_path_item
|
|
288
288
|
resolve_shared_parameters = self._resolve_shared_parameters
|
|
@@ -294,7 +294,6 @@ class BaseOpenAPISchema(BaseSchema):
|
|
|
294
294
|
for path, path_item in paths.items():
|
|
295
295
|
method = None
|
|
296
296
|
try:
|
|
297
|
-
full_path = get_full_path(path) # Should be available for later use
|
|
298
297
|
dispatch_hook("before_process_path", context, path, path_item)
|
|
299
298
|
scope, path_item = resolve_path_item(path_item)
|
|
300
299
|
with in_scope(self.resolver, scope):
|
|
@@ -304,7 +303,7 @@ class BaseOpenAPISchema(BaseSchema):
|
|
|
304
303
|
continue
|
|
305
304
|
try:
|
|
306
305
|
resolved = resolve_operation(entry)
|
|
307
|
-
if should_skip(
|
|
306
|
+
if should_skip(path, method, resolved):
|
|
308
307
|
continue
|
|
309
308
|
parameters = resolved.get("parameters", ())
|
|
310
309
|
parameters = collect_parameters(itertools.chain(parameters, shared_parameters), resolved)
|
|
@@ -19,8 +19,6 @@ from schemathesis.models import OperationDefinition
|
|
|
19
19
|
from schemathesis.runner.events import Finished, InternalError
|
|
20
20
|
from schemathesis.runner.serialization import SerializedTestResult
|
|
21
21
|
|
|
22
|
-
from ...utils import strip_style_win32
|
|
23
|
-
|
|
24
22
|
|
|
25
23
|
@pytest.fixture(autouse=True)
|
|
26
24
|
def click_context():
|
|
@@ -102,7 +100,6 @@ def test_display_section_name(capsys, title, separator, expected):
|
|
|
102
100
|
# It should fit into the terminal width
|
|
103
101
|
assert len(click.unstyle(out)) == terminal_width
|
|
104
102
|
# And the section name should be bold
|
|
105
|
-
assert strip_style_win32(click.style(click.unstyle(out), bold=True)) == out
|
|
106
103
|
assert expected in out
|
|
107
104
|
|
|
108
105
|
|
|
@@ -125,50 +122,11 @@ def test_handle_initialized(capsys, mocker, execution_context, swagger_20, verbo
|
|
|
125
122
|
# And current directory
|
|
126
123
|
assert f"rootdir: {os.getcwd()}" in lines
|
|
127
124
|
# And number of collected operations
|
|
128
|
-
assert
|
|
125
|
+
assert "Collected API operations: 1" in out
|
|
129
126
|
# And the output has an empty line in the end
|
|
130
127
|
assert out.endswith("\n")
|
|
131
128
|
|
|
132
129
|
|
|
133
|
-
def test_display_statistic(capsys, execution_context, operation, response):
|
|
134
|
-
# Given multiple successful & failed checks in a single test
|
|
135
|
-
success = models.Check(
|
|
136
|
-
"not_a_server_error", models.Status.success, response, 0, models.Case(operation, generation_time=0.0)
|
|
137
|
-
)
|
|
138
|
-
failure = models.Check(
|
|
139
|
-
"not_a_server_error", models.Status.failure, response, 0, models.Case(operation, generation_time=0.0)
|
|
140
|
-
)
|
|
141
|
-
single_test_statistic = models.TestResult(
|
|
142
|
-
method=operation.method,
|
|
143
|
-
path=operation.full_path,
|
|
144
|
-
verbose_name=f"{operation.method} {operation.full_path}",
|
|
145
|
-
data_generation_method=[DataGenerationMethod.default()],
|
|
146
|
-
checks=[
|
|
147
|
-
success,
|
|
148
|
-
success,
|
|
149
|
-
success,
|
|
150
|
-
failure,
|
|
151
|
-
failure,
|
|
152
|
-
models.Check(
|
|
153
|
-
"different_check", models.Status.success, response, 0, models.Case(operation, generation_time=0.0)
|
|
154
|
-
),
|
|
155
|
-
],
|
|
156
|
-
)
|
|
157
|
-
results = models.TestResultSet(seed=42, results=[single_test_statistic])
|
|
158
|
-
event = Finished.from_results(results, running_time=1.0)
|
|
159
|
-
# When test results are displayed
|
|
160
|
-
default.display_statistic(execution_context, event)
|
|
161
|
-
|
|
162
|
-
lines = [line for line in capsys.readouterr().out.split("\n") if line]
|
|
163
|
-
failed = strip_style_win32(click.style("FAILED", bold=True, fg="red"))
|
|
164
|
-
passed = strip_style_win32(click.style("PASSED", bold=True, fg="green"))
|
|
165
|
-
# Then all check results should be properly displayed with relevant colors
|
|
166
|
-
assert lines[2:4] == [
|
|
167
|
-
f" not_a_server_error 3 / 5 passed {failed} ",
|
|
168
|
-
f" different_check 1 / 1 passed {passed} ",
|
|
169
|
-
]
|
|
170
|
-
|
|
171
|
-
|
|
172
130
|
def test_display_multiple_warnings(capsys, execution_context):
|
|
173
131
|
results = models.TestResultSet(seed=42, results=[])
|
|
174
132
|
results.add_warning("Foo")
|
|
@@ -184,22 +142,6 @@ def test_display_multiple_warnings(capsys, execution_context):
|
|
|
184
142
|
]
|
|
185
143
|
|
|
186
144
|
|
|
187
|
-
def test_display_statistic_empty(capsys, execution_context, results_set):
|
|
188
|
-
default.display_statistic(execution_context, Finished.from_results(results_set, running_time=1.23))
|
|
189
|
-
assert capsys.readouterr().out.split("\n")[2] == strip_style_win32(
|
|
190
|
-
click.style("No checks were performed.", bold=True)
|
|
191
|
-
)
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
def test_display_statistic_junitxml(capsys, execution_context, results_set):
|
|
195
|
-
xml_path = "/tmp/junit.xml"
|
|
196
|
-
execution_context.junit_xml_file = xml_path
|
|
197
|
-
default.display_statistic(execution_context, Finished.from_results(results_set, running_time=1.23))
|
|
198
|
-
assert capsys.readouterr().out.split("\n")[4] == strip_style_win32(
|
|
199
|
-
click.style("JUnit XML file", bold=True) + click.style(f": {xml_path}")
|
|
200
|
-
)
|
|
201
|
-
|
|
202
|
-
|
|
203
145
|
def test_capture_hypothesis_output():
|
|
204
146
|
# When Hypothesis output us captured
|
|
205
147
|
with utils.capture_hypothesis_output() as hypothesis_output:
|
|
@@ -217,33 +159,6 @@ def test_get_percentage(position, length, expected):
|
|
|
217
159
|
assert default.get_percentage(position, length) == expected
|
|
218
160
|
|
|
219
161
|
|
|
220
|
-
@pytest.mark.parametrize("current_line_length", [0, 20])
|
|
221
|
-
@pytest.mark.parametrize(("operations_processed", "percentage"), [(0, "[ 0%]"), (1, "[100%]")])
|
|
222
|
-
def test_display_percentage(
|
|
223
|
-
capsys, execution_context, after_execution, current_line_length, operations_processed, percentage
|
|
224
|
-
):
|
|
225
|
-
execution_context.current_line_length = current_line_length
|
|
226
|
-
execution_context.operations_processed = operations_processed
|
|
227
|
-
# When percentage is displayed
|
|
228
|
-
default.display_percentage(execution_context, after_execution)
|
|
229
|
-
out = capsys.readouterr().out
|
|
230
|
-
# Then the whole line fits precisely to the terminal width. Note `-1` is padding, that is calculated in a
|
|
231
|
-
# different place when the line is printed
|
|
232
|
-
assert len(click.unstyle(out)) + current_line_length - 1 == default.get_terminal_width()
|
|
233
|
-
# And the percentage displayed as expected in cyan color
|
|
234
|
-
assert out.strip() == strip_style_win32(click.style(percentage, fg="cyan"))
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
def test_display_hypothesis_output(capsys):
|
|
238
|
-
# When Hypothesis output is displayed
|
|
239
|
-
default.display_hypothesis_output(["foo", "bar"])
|
|
240
|
-
lines = capsys.readouterr().out.split("\n")
|
|
241
|
-
# Then the relevant section title is displayed
|
|
242
|
-
assert " HYPOTHESIS OUTPUT" in lines[0]
|
|
243
|
-
# And the output is displayed as separate lines in red color
|
|
244
|
-
assert " ".join(lines[1:3]) == strip_style_win32(click.style("foo bar", fg="red"))
|
|
245
|
-
|
|
246
|
-
|
|
247
162
|
@pytest.mark.parametrize("body", [{}, {"foo": "bar"}, NOT_SET])
|
|
248
163
|
def test_display_single_failure(capsys, execution_context, operation, body, response):
|
|
249
164
|
# Given a single test result with multiple successful & failed checks
|
|
@@ -295,26 +210,6 @@ def test_display_single_failure(capsys, execution_context, operation, body, resp
|
|
|
295
210
|
assert " GET /v1/success " in lines[0]
|
|
296
211
|
|
|
297
212
|
|
|
298
|
-
@pytest.mark.parametrize(
|
|
299
|
-
("status", "expected_symbol", "color"),
|
|
300
|
-
[(models.Status.success, ".", "green"), (models.Status.failure, "F", "red"), (models.Status.error, "E", "red")],
|
|
301
|
-
)
|
|
302
|
-
def test_handle_after_execution(capsys, execution_context, after_execution, status, expected_symbol, color):
|
|
303
|
-
# Given AfterExecution even with certain status
|
|
304
|
-
after_execution.status = status
|
|
305
|
-
# When this event is handled
|
|
306
|
-
default.handle_after_execution(execution_context, after_execution)
|
|
307
|
-
|
|
308
|
-
assert after_execution.current_operation == "GET /v1/success"
|
|
309
|
-
|
|
310
|
-
lines = capsys.readouterr().out.strip().split("\n")
|
|
311
|
-
symbol, percentage = lines[0].split()
|
|
312
|
-
# Then the symbol corresponding to the status is displayed with a proper color
|
|
313
|
-
assert strip_style_win32(click.style(expected_symbol, fg=color)) == symbol
|
|
314
|
-
# And percentage is displayed in cyan color
|
|
315
|
-
assert strip_style_win32(click.style("[100%]", fg="cyan")) == percentage
|
|
316
|
-
|
|
317
|
-
|
|
318
213
|
def test_after_execution_attributes(execution_context, after_execution):
|
|
319
214
|
# When `handle_after_execution` is executed
|
|
320
215
|
default.handle_after_execution(execution_context, after_execution)
|
|
@@ -339,15 +234,3 @@ def test_display_internal_error(capsys, execution_context, show_errors_traceback
|
|
|
339
234
|
out = capsys.readouterr().out.strip()
|
|
340
235
|
assert ("Traceback (most recent call last):" in out) is show_errors_tracebacks
|
|
341
236
|
assert "ZeroDivisionError: division by zero" in out
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
def test_display_summary(capsys, results_set):
|
|
345
|
-
# Given the Finished event
|
|
346
|
-
event = runner.events.Finished.from_results(results=results_set, running_time=1.257)
|
|
347
|
-
# When `display_summary` is called
|
|
348
|
-
default.display_summary(event)
|
|
349
|
-
out = capsys.readouterr().out.strip()
|
|
350
|
-
# Then number of total tests & total running time should be displayed
|
|
351
|
-
assert "=== 1 passed in 1.26s ===" in out
|
|
352
|
-
# And it should be in green & bold style
|
|
353
|
-
assert strip_style_win32(click.style(click.unstyle(out), fg="green", bold=True)) == out
|
|
@@ -187,15 +187,16 @@ def test_interaction_status(cli, openapi3_schema_url, hypothesis_max_examples, c
|
|
|
187
187
|
assert result.exit_code == ExitCode.TESTS_FAILED, result.stdout
|
|
188
188
|
cassette = load_cassette(cassette_path)
|
|
189
189
|
# Note. There could be more than 3 calls, depends on Hypothesis internals
|
|
190
|
-
assert len(cassette["http_interactions"]) >=
|
|
190
|
+
assert len(cassette["http_interactions"]) >= 2
|
|
191
191
|
# Then their statuses should be reflected in the "status" field
|
|
192
192
|
# And it should not be overridden by the overall test status
|
|
193
193
|
assert cassette["http_interactions"][0]["status"] == "FAILURE"
|
|
194
194
|
assert load_response_body(cassette, 0) == "500: Internal Server Error"
|
|
195
195
|
assert cassette["http_interactions"][1]["status"] == "SUCCESS"
|
|
196
196
|
assert load_response_body(cassette, 1) == '{"result": "flaky!"}'
|
|
197
|
-
|
|
198
|
-
|
|
197
|
+
if len(cassette["http_interactions"]) > 2:
|
|
198
|
+
assert cassette["http_interactions"][2]["status"] == "SUCCESS"
|
|
199
|
+
assert load_response_body(cassette, 2) == '{"result": "flaky!"}'
|
|
199
200
|
|
|
200
201
|
|
|
201
202
|
def test_bad_yaml_headers(ctx, cli, cassette_path, hypothesis_max_examples, openapi3_base_url):
|
|
@@ -69,7 +69,7 @@ def test_junitxml_file(cli, schema_url, hypothesis_max_examples, tmp_path, path,
|
|
|
69
69
|
assert testcases[3][0].tag == "error"
|
|
70
70
|
assert testcases[3][0].attrib["type"] == "error"
|
|
71
71
|
assert (
|
|
72
|
-
testcases[3][0].
|
|
72
|
+
testcases[3][0].text.replace("\n", " ")
|
|
73
73
|
== "Schema Error Failed to generate test cases for this API operation. Possible reasons: - Contradictory schema constraints, such as a minimum value exceeding the maximum. - Invalid schema definitions for headers or cookies, for example allowing for non-ASCII characters. - Excessive schema complexity, which hinders parameter generation. Tip: Examine the schema for inconsistencies and consider simplifying it."
|
|
74
74
|
)
|
|
75
75
|
|
|
@@ -100,12 +100,12 @@ def with_error(ctx, response, case):
|
|
|
100
100
|
tree = ElementTree.parse(xml_path)
|
|
101
101
|
root = tree.getroot()
|
|
102
102
|
testcases = list(root[0])
|
|
103
|
-
assert testcases[0][0].
|
|
103
|
+
assert testcases[0][0].text.replace("\n", " ").startswith(expected)
|
|
104
104
|
|
|
105
105
|
|
|
106
106
|
def extract_message(testcase, server_host):
|
|
107
107
|
return (
|
|
108
|
-
re.sub(r"Test Case ID: (\w+)", "Test Case ID: <PLACEHOLDER>", testcase.attrib["message"])
|
|
108
|
+
re.sub(r"Test Case ID: (\w+)", "Test Case ID: <PLACEHOLDER>", testcase.text or testcase.attrib["message"])
|
|
109
109
|
.replace(server_host, "localhost")
|
|
110
110
|
.replace("\n", " ")
|
|
111
111
|
)
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
Exit code: 1
|
|
2
|
+
---
|
|
3
|
+
Stdout:
|
|
4
|
+
======================= Schemathesis test session starts =======================
|
|
5
|
+
Schema location: file:///tmp/schema.json
|
|
6
|
+
Base URL: http://127.0.0.1/api
|
|
7
|
+
Specification version: Open API 3.0.2
|
|
8
|
+
Random seed: 42
|
|
9
|
+
Workers: 1
|
|
10
|
+
Collected API operations: 1
|
|
11
|
+
Collected API links: 0
|
|
12
|
+
API probing: SUCCESS
|
|
13
|
+
Schema analysis: SKIP
|
|
14
|
+
|
|
15
|
+
POST /api/foo F [100%]
|
|
16
|
+
|
|
17
|
+
=================================== FAILURES ===================================
|
|
18
|
+
________________________________ POST /api/foo _________________________________
|
|
19
|
+
1. Test Case ID: <PLACEHOLDER>
|
|
20
|
+
|
|
21
|
+
- Custom check failed: `failed`
|
|
22
|
+
|
|
23
|
+
Should be Unspecified HTTP method: DELETE
|
|
24
|
+
|
|
25
|
+
[404] Not Found:
|
|
26
|
+
|
|
27
|
+
`404: Not Found`
|
|
28
|
+
|
|
29
|
+
Reproduce with:
|
|
30
|
+
|
|
31
|
+
curl -X DELETE 'http://127.0.0.1/api/foo?key=%5BFiltered%5D'
|
|
32
|
+
|
|
33
|
+
2. Test Case ID: <PLACEHOLDER>
|
|
34
|
+
|
|
35
|
+
- Custom check failed: `failed`
|
|
36
|
+
|
|
37
|
+
Should be Unspecified HTTP method: HEAD
|
|
38
|
+
|
|
39
|
+
[404] Not Found:
|
|
40
|
+
|
|
41
|
+
<EMPTY>
|
|
42
|
+
|
|
43
|
+
Reproduce with:
|
|
44
|
+
|
|
45
|
+
curl -X HEAD 'http://127.0.0.1/api/foo?key=%5BFiltered%5D'
|
|
46
|
+
|
|
47
|
+
3. Test Case ID: <PLACEHOLDER>
|
|
48
|
+
|
|
49
|
+
- Custom check failed: `failed`
|
|
50
|
+
|
|
51
|
+
Should be Unspecified HTTP method: OPTIONS
|
|
52
|
+
|
|
53
|
+
[404] Not Found:
|
|
54
|
+
|
|
55
|
+
`404: Not Found`
|
|
56
|
+
|
|
57
|
+
Reproduce with:
|
|
58
|
+
|
|
59
|
+
curl -X OPTIONS 'http://127.0.0.1/api/foo?key=%5BFiltered%5D'
|
|
60
|
+
|
|
61
|
+
4. Test Case ID: <PLACEHOLDER>
|
|
62
|
+
|
|
63
|
+
- Custom check failed: `failed`
|
|
64
|
+
|
|
65
|
+
Should be Unspecified HTTP method: PATCH
|
|
66
|
+
|
|
67
|
+
[404] Not Found:
|
|
68
|
+
|
|
69
|
+
`404: Not Found`
|
|
70
|
+
|
|
71
|
+
Reproduce with:
|
|
72
|
+
|
|
73
|
+
curl -X PATCH 'http://127.0.0.1/api/foo?key=%5BFiltered%5D'
|
|
74
|
+
|
|
75
|
+
5. Test Case ID: <PLACEHOLDER>
|
|
76
|
+
|
|
77
|
+
- Custom check failed: `failed`
|
|
78
|
+
|
|
79
|
+
Should be Unspecified HTTP method: PUT
|
|
80
|
+
|
|
81
|
+
[404] Not Found:
|
|
82
|
+
|
|
83
|
+
`404: Not Found`
|
|
84
|
+
|
|
85
|
+
Reproduce with:
|
|
86
|
+
|
|
87
|
+
curl -X PUT 'http://127.0.0.1/api/foo?key=%5BFiltered%5D'
|
|
88
|
+
|
|
89
|
+
6. Test Case ID: <PLACEHOLDER>
|
|
90
|
+
|
|
91
|
+
- Custom check failed: `failed`
|
|
92
|
+
|
|
93
|
+
Should be Unspecified HTTP method: TRACE
|
|
94
|
+
|
|
95
|
+
[404] Not Found:
|
|
96
|
+
|
|
97
|
+
`404: Not Found`
|
|
98
|
+
|
|
99
|
+
Reproduce with:
|
|
100
|
+
|
|
101
|
+
curl -X TRACE 'http://127.0.0.1/api/foo?key=%5BFiltered%5D'
|
|
102
|
+
|
|
103
|
+
=================================== SUMMARY ====================================
|
|
104
|
+
|
|
105
|
+
Performed checks:
|
|
106
|
+
failed 6 / 12 passed FAILED
|
|
107
|
+
|
|
108
|
+
WARNING: All API responses have a 404 status code. Did you specify the proper API location?
|
|
109
|
+
|
|
110
|
+
Experimental Features:
|
|
111
|
+
- Coverage phase: Generate covering test cases
|
|
112
|
+
Feedback: https://github.com/schemathesis/schemathesis/discussions/2418
|
|
113
|
+
|
|
114
|
+
Your feedback is crucial for experimental features. Please visit the provided URL(s) to share your thoughts.
|
|
115
|
+
|
|
116
|
+
Note: Use the 'X-Schemathesis-TestCaseId' header to correlate test case ids from failure messages with server logs for debugging.
|
|
117
|
+
|
|
118
|
+
Note: To replicate these test failures, rerun with `--hypothesis-seed=42`
|
|
119
|
+
|
|
120
|
+
Tip: Use the `--report` CLI option to visualize test results via Schemathesis.io.
|
|
121
|
+
We run additional conformance checks on reports from public repos.
|
|
122
|
+
|
|
123
|
+
============================== 1 failed in 1.00s ===============================
|