schemathesis 3.26.0__tar.gz → 3.26.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/build.yml +1 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/codeql-analysis.yml +3 -3
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.pre-commit-config.yaml +3 -3
- {schemathesis-3.26.0 → schemathesis-3.26.2}/PKG-INFO +2 -2
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/changelog.rst +27 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/extending.rst +7 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/pyproject.toml +3 -2
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_dependency_versions.py +3 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_hypothesis.py +10 -1
- schemathesis-3.26.2/src/schemathesis/_rate_limiter.py +6 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/models.py +3 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/serialization.py +2 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/schemas.py +5 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/serialization.py +2 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/schemas.py +4 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/_hypothesis.py +6 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/schemas.py +1 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/throttling.py +2 -2
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/output/test_default.py +22 -6
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_commands.py +2 -2
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/test_curl.py +7 -3
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/conftest.py +1 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/hooks/test_hooks.py +2 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_checks.py +3 -3
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_expressions.py +1 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_links.py +1 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_asgi.py +1 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_direct_access.py +5 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_hypothesis.py +6 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_lazy.py +23 -10
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_models.py +8 -4
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_rate_limit.py +13 -5
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_wsgi.py +1 -1
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.dockerignore +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/FUNDING.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/dependabot.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/codspeed.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/commit.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/example-build.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/example-no-build.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/master_update.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/release.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/test-corpus.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/test-hypothesis.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/update-corpus.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/update-pre-commit.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.gitignore +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.gitmodules +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.readthedocs.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.relint.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.rstcheck.cfg +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/.yamllint +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/CITATION.cff +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/CONTRIBUTING.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/Dockerfile +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/Dockerfile.bookworm +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/LICENSE +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/README.md +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/benches/cli.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/benches/references.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/changelog.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/codecov.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/Makefile +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/additional-content.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/api.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/auth.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/cli.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/compatibility.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/conf.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/contrib.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/data-generation.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/examples.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/experimental.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/faq.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/getting-started.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/graphql.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/index.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/python.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/recipes.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/requirements.txt +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/sanitizing.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/service.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/stateful.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/targeted.rst +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/Dockerfile +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/README.md +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/compose.yml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/openapi.json +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-app.in +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-app.txt +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-pytest.in +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-pytest.txt +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/extensions.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/test_app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/img/demo.gif +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/img/service_github_report.png +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/mypy.ini +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_compat.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_lazy_import.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_override.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_xml.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/auths.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/checks.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/callbacks.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/cassettes.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/context.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/junitxml.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/options.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/output/default.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/code_samples.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/constants.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/unique_data.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/exceptions.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/_aiohttp.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/_flask.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/_server.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/pytest_plugin.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/failures.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/filters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/fixups/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/fixups/fast_api.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/generation/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/hooks.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/jsonschema.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/transformation.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/lazy.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/loaders.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/parameters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/events.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/core.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/solo.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/threadpool.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/probes.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/sanitization.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/serializers.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/ci.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/client.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/constants.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/events.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/extensions.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/hosts.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/metadata.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/models.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/report.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/usage.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/loaders.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/nodes.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/scalars.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/validation.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/checks.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/converter.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/definitions.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/examples.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/filters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/formats.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/links.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/loaders.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/media_types.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/parameters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/references.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/security.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/serialization.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/utils.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/validation.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/stateful/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/stateful/state_machine.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/targets.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/auth.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/content_types.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/headers.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/responses.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/types.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/utils.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_flask/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_aiohttp/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_aiohttp/handlers.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_flask/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/schema.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/test_cli.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/test_provider.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2-The provided definition doesn't match any of the expected formats or types.].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1-.....].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5-......].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1-.....].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5-......].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1-.....].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5-......].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1-.....].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5-......].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/cert.pem +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_asgi.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_callbacks.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_cassettes.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_checks.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_options.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/test_install.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/test_unique_data.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/extra/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/filters/test_matching.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_common.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_openapi.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_events.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_probes.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_runner.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__init__.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_auth.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_ci.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_cli.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_extensions.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_report.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_serialization.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_usage.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/test_basic.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/test_custom_scalars.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/blank.pdf +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_examples.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_hypothesis.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_media_types.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_negative.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_stateful.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_app.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_async.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_common_parameters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_converter.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_dereferencing.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_errors.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_examples.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_filters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_fixups.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_internal.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_package.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_parameters.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_parametrization.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_petstore.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_pytest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_required.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_schemas.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_serialization.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_stateful.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_unittest.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_utils.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test/utils.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test-corpus/test_corpus.py +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/test_server.sh +0 -0
- {schemathesis-3.26.0 → schemathesis-3.26.2}/tox.ini +0 -0
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
|
|
39
39
|
# Initializes the CodeQL tools for scanning.
|
|
40
40
|
- name: Initialize CodeQL
|
|
41
|
-
uses: github/codeql-action/init@v3.24.
|
|
41
|
+
uses: github/codeql-action/init@v3.24.9
|
|
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.24.
|
|
52
|
+
uses: github/codeql-action/autobuild@v3.24.9
|
|
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.24.
|
|
66
|
+
uses: github/codeql-action/analyze@v3.24.9
|
|
@@ -25,7 +25,7 @@ repos:
|
|
|
25
25
|
- id: yamllint
|
|
26
26
|
|
|
27
27
|
- repo: https://github.com/codingjoe/relint
|
|
28
|
-
rev: 3.1.
|
|
28
|
+
rev: 3.1.1
|
|
29
29
|
hooks:
|
|
30
30
|
- id: relint
|
|
31
31
|
|
|
@@ -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.3.
|
|
41
|
+
rev: v0.3.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.3.
|
|
46
|
+
rev: v0.3.4
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff
|
|
49
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.26.
|
|
3
|
+
Version: 3.26.2
|
|
4
4
|
Summary: Property-based testing framework for Open API and GraphQL based apps
|
|
5
5
|
Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
|
|
6
6
|
Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
|
|
@@ -39,7 +39,7 @@ Requires-Dist: hypothesis<7,>=6.84.3; python_version > '3.8'
|
|
|
39
39
|
Requires-Dist: hypothesis[zoneinfo]<7,>=6.84.3; python_version == '3.8'
|
|
40
40
|
Requires-Dist: jsonschema<5.0,>=4.18.0
|
|
41
41
|
Requires-Dist: junit-xml<2.0,>=1.9
|
|
42
|
-
Requires-Dist: pyrate-limiter<
|
|
42
|
+
Requires-Dist: pyrate-limiter<4.0,>=2.10
|
|
43
43
|
Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
|
|
44
44
|
Requires-Dist: pytest<9,>=4.6.4
|
|
45
45
|
Requires-Dist: pyyaml<7.0,>=5.1
|
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.26.
|
|
4
|
+
:version:`Unreleased <v3.26.2...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.26.2:
|
|
8
|
+
|
|
9
|
+
:version:`3.26.2 <v3.26.1...v3.26.2>` - 2024-04-06
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Added**
|
|
13
|
+
|
|
14
|
+
- Support for ``pyrate-limiter>=3.0``.
|
|
15
|
+
|
|
16
|
+
**Fixed**
|
|
17
|
+
|
|
18
|
+
- Excluding ``\x00`` bytes as a result of probes.
|
|
19
|
+
|
|
20
|
+
.. _v3.26.1:
|
|
21
|
+
|
|
22
|
+
:version:`3.26.1 <v3.26.0...v3.26.1>` - 2024-04-04
|
|
23
|
+
--------------------------------------------------
|
|
24
|
+
|
|
25
|
+
**Added**
|
|
26
|
+
|
|
27
|
+
- Store time needed to generate each test case.
|
|
28
|
+
|
|
29
|
+
**Fixed**
|
|
30
|
+
|
|
31
|
+
- ``InvalidArgument`` when using ``from_pytest_fixture`` with parametrized pytest fixtures and Hypothesis settings. :issue:`2115`
|
|
32
|
+
|
|
7
33
|
.. _v3.26.0:
|
|
8
34
|
|
|
9
35
|
:version:`3.26.0 <v3.25.6...v3.26.0>` - 2024-03-21
|
|
@@ -24,7 +24,13 @@ They can be used to limit the test input to certain criteria, modify the generat
|
|
|
24
24
|
return query["key"] != "42"
|
|
25
25
|
|
|
26
26
|
Hooks are identified and applied based on their function name, utilized through a decorator, like ``@schemathesis.hook``.
|
|
27
|
-
The function name, such as ``filter_query``, indicates it's a hook to filter query parameters.
|
|
27
|
+
The function name, such as ``filter_query``, indicates it's a hook to filter query parameters.
|
|
28
|
+
|
|
29
|
+
.. note::
|
|
30
|
+
|
|
31
|
+
The second argument could be ``None`` if there are no parameters of such a kind or if it is optional.
|
|
32
|
+
Keep it in mind when acessing the keys of the dictionary.
|
|
33
|
+
|
|
28
34
|
When dealing with multiple hooks that serve similar purposes, especially across different schemas within the same file, custom names can be assigned as the first argument in the decorator to avoid conflicts and maintain clarity.
|
|
29
35
|
|
|
30
36
|
.. code:: python
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "schemathesis"
|
|
7
|
-
version = "3.26.
|
|
7
|
+
version = "3.26.2"
|
|
8
8
|
description = "Property-based testing framework for Open API and GraphQL based apps"
|
|
9
9
|
keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
|
|
10
10
|
authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
|
|
@@ -42,7 +42,7 @@ dependencies = [
|
|
|
42
42
|
"hypothesis_jsonschema>=0.23.1,<0.24",
|
|
43
43
|
"jsonschema>=4.18.0,<5.0",
|
|
44
44
|
"junit-xml>=1.9,<2.0",
|
|
45
|
-
"pyrate-limiter>=2.10,<
|
|
45
|
+
"pyrate-limiter>=2.10,<4.0",
|
|
46
46
|
"pytest-subtests>=0.2.1,<0.8.0",
|
|
47
47
|
"pytest>=4.6.4,<9",
|
|
48
48
|
"PyYAML>=5.1,<7.0",
|
|
@@ -160,6 +160,7 @@ known-third-party = ["_pytest", "aiohttp", "click", "fastapi", "flask", "graphen
|
|
|
160
160
|
[tool.ruff.lint.per-file-ignores]
|
|
161
161
|
"__init__.py" = ["F401"]
|
|
162
162
|
"_compat.py" = ["F401"]
|
|
163
|
+
"_rate_limiter.py" = ["F401"]
|
|
163
164
|
|
|
164
165
|
[tool.ruff.format]
|
|
165
166
|
skip-magic-trailing-comma = false
|
|
@@ -16,3 +16,6 @@ IS_PYTEST_ABOVE_8 = PYTEST_VERSION >= version.parse("8.0.0")
|
|
|
16
16
|
|
|
17
17
|
HYPOTHESIS_VERSION = version.parse(metadata.version("hypothesis"))
|
|
18
18
|
HYPOTHESIS_HAS_STATEFUL_NAMING_IMPROVEMENTS = HYPOTHESIS_VERSION >= version.parse("6.98.14")
|
|
19
|
+
|
|
20
|
+
PYRATE_LIMITER_VERSION = version.parse(metadata.version("pyrate-limiter"))
|
|
21
|
+
IS_PYRATE_LIMITER_ABOVE_3 = PYRATE_LIMITER_VERSION >= version.parse("3.0")
|
|
@@ -77,7 +77,16 @@ def create_test(
|
|
|
77
77
|
wrapped_test.hypothesis.inner_test = make_async_test(test) # type: ignore
|
|
78
78
|
setup_default_deadline(wrapped_test)
|
|
79
79
|
if settings is not None:
|
|
80
|
-
|
|
80
|
+
existing_settings = _get_hypothesis_settings(wrapped_test)
|
|
81
|
+
if existing_settings is not None:
|
|
82
|
+
# Merge the user-provided settings with the current ones
|
|
83
|
+
default = hypothesis.settings.default
|
|
84
|
+
wrapped_test._hypothesis_internal_use_settings = hypothesis.settings(
|
|
85
|
+
wrapped_test._hypothesis_internal_use_settings,
|
|
86
|
+
**{item: value for item, value in settings.__dict__.items() if value != getattr(default, item)},
|
|
87
|
+
)
|
|
88
|
+
else:
|
|
89
|
+
wrapped_test = settings(wrapped_test)
|
|
81
90
|
existing_settings = _get_hypothesis_settings(wrapped_test)
|
|
82
91
|
if existing_settings is not None:
|
|
83
92
|
existing_settings = remove_explain_phase(existing_settings)
|
|
@@ -125,6 +125,8 @@ class Case:
|
|
|
125
125
|
"""A single test case parameters."""
|
|
126
126
|
|
|
127
127
|
operation: APIOperation
|
|
128
|
+
# Time spent on generation of this test case
|
|
129
|
+
generation_time: float
|
|
128
130
|
# Unique test case identifier
|
|
129
131
|
id: str = field(default_factory=generate_random_case_id, compare=False)
|
|
130
132
|
path_parameters: PathParameters | None = None
|
|
@@ -579,6 +581,7 @@ class Case:
|
|
|
579
581
|
cookies=fast_deepcopy(self.cookies),
|
|
580
582
|
query=fast_deepcopy(self.query),
|
|
581
583
|
body=fast_deepcopy(self.body),
|
|
584
|
+
generation_time=self.generation_time,
|
|
582
585
|
)
|
|
583
586
|
|
|
584
587
|
|
|
@@ -36,6 +36,7 @@ if TYPE_CHECKING:
|
|
|
36
36
|
class SerializedCase:
|
|
37
37
|
# Case data
|
|
38
38
|
id: str
|
|
39
|
+
generation_time: float
|
|
39
40
|
path_parameters: dict[str, Any] | None
|
|
40
41
|
headers: dict[str, Any] | None
|
|
41
42
|
cookies: dict[str, Any] | None
|
|
@@ -60,6 +61,7 @@ class SerializedCase:
|
|
|
60
61
|
serialized_body = _serialize_body(request_data.body)
|
|
61
62
|
return cls(
|
|
62
63
|
id=case.id,
|
|
64
|
+
generation_time=case.generation_time,
|
|
63
65
|
path_parameters=case.path_parameters,
|
|
64
66
|
headers=dict(case.headers) if case.headers is not None else None,
|
|
65
67
|
cookies=case.cookies,
|
|
@@ -40,6 +40,7 @@ from .generation import (
|
|
|
40
40
|
DataGenerationMethodInput,
|
|
41
41
|
GenerationConfig,
|
|
42
42
|
)
|
|
43
|
+
from ._dependency_versions import IS_PYRATE_LIMITER_ABOVE_3
|
|
43
44
|
from .exceptions import OperationSchemaError, UsageError
|
|
44
45
|
from .hooks import HookContext, HookDispatcher, HookScope, dispatch
|
|
45
46
|
from .internal.result import Result, Ok
|
|
@@ -423,7 +424,10 @@ class BaseSchema(Mapping):
|
|
|
423
424
|
"""Limit the rate of sending generated requests."""
|
|
424
425
|
label = urlparse(self.base_url).netloc
|
|
425
426
|
if self.rate_limiter is not None:
|
|
426
|
-
|
|
427
|
+
if IS_PYRATE_LIMITER_ABOVE_3:
|
|
428
|
+
self.rate_limiter.try_acquire(label)
|
|
429
|
+
else:
|
|
430
|
+
return self.rate_limiter.ratelimit(label, delay=True, max_delay=0)
|
|
427
431
|
return nullcontext()
|
|
428
432
|
|
|
429
433
|
def _get_payload_schema(self, definition: dict[str, Any], media_type: str) -> dict[str, Any] | None:
|
|
@@ -60,6 +60,8 @@ def serialize_before_execution(event: events.BeforeExecution) -> dict[str, Any]
|
|
|
60
60
|
|
|
61
61
|
def _serialize_case(case: SerializedCase) -> dict[str, Any]:
|
|
62
62
|
return {
|
|
63
|
+
"id": case.id,
|
|
64
|
+
"generation_time": case.generation_time,
|
|
63
65
|
"verbose_name": case.verbose_name,
|
|
64
66
|
"path_template": case.path_template,
|
|
65
67
|
"path_parameters": stringify_path_parameters(case.path_parameters),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import enum
|
|
4
|
+
import time
|
|
4
5
|
from dataclasses import dataclass, field
|
|
5
6
|
from difflib import get_close_matches
|
|
6
7
|
from enum import unique
|
|
@@ -287,6 +288,7 @@ class GraphQLSchema(BaseSchema):
|
|
|
287
288
|
query=query,
|
|
288
289
|
body=body,
|
|
289
290
|
media_type=media_type,
|
|
291
|
+
generation_time=0.0,
|
|
290
292
|
)
|
|
291
293
|
|
|
292
294
|
def get_tags(self, operation: APIOperation) -> list[str] | None:
|
|
@@ -337,6 +339,7 @@ def get_case_strategy(
|
|
|
337
339
|
generation_config: GenerationConfig | None = None,
|
|
338
340
|
**kwargs: Any,
|
|
339
341
|
) -> Any:
|
|
342
|
+
start = time.monotonic()
|
|
340
343
|
definition = cast(GraphQLOperationDefinition, operation.definition)
|
|
341
344
|
strategy_factory = {
|
|
342
345
|
RootType.QUERY: gql_st.queries,
|
|
@@ -369,6 +372,7 @@ def get_case_strategy(
|
|
|
369
372
|
body=body,
|
|
370
373
|
operation=operation,
|
|
371
374
|
data_generation_method=data_generation_method,
|
|
375
|
+
generation_time=time.monotonic() - start,
|
|
372
376
|
) # type: ignore
|
|
373
377
|
context = auths.AuthContext(
|
|
374
378
|
operation=operation,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
import string
|
|
3
|
+
import time
|
|
3
4
|
from base64 import b64encode
|
|
4
5
|
from contextlib import suppress
|
|
5
6
|
from dataclasses import dataclass
|
|
@@ -42,7 +43,9 @@ StrategyFactory = Callable[[Dict[str, Any], str, str, Optional[str], GenerationC
|
|
|
42
43
|
|
|
43
44
|
|
|
44
45
|
def header_values(blacklist_characters: str = "\n\r") -> st.SearchStrategy[str]:
|
|
45
|
-
return st.text(
|
|
46
|
+
return st.text(
|
|
47
|
+
alphabet=st.characters(min_codepoint=0, max_codepoint=255, blacklist_characters=blacklist_characters)
|
|
48
|
+
)
|
|
46
49
|
|
|
47
50
|
|
|
48
51
|
@lru_cache
|
|
@@ -131,6 +134,7 @@ def get_case_strategy(
|
|
|
131
134
|
The primary purpose of this behavior is to prevent sending incomplete explicit examples by generating missing parts
|
|
132
135
|
as it works with `body`.
|
|
133
136
|
"""
|
|
137
|
+
start = time.monotonic()
|
|
134
138
|
strategy_factory = DATA_GENERATION_METHOD_TO_STRATEGY_FACTORY[generator]
|
|
135
139
|
|
|
136
140
|
context = HookContext(operation)
|
|
@@ -193,6 +197,7 @@ def get_case_strategy(
|
|
|
193
197
|
reject()
|
|
194
198
|
instance = Case(
|
|
195
199
|
operation=operation,
|
|
200
|
+
generation_time=time.monotonic() - start,
|
|
196
201
|
media_type=media_type,
|
|
197
202
|
path_parameters=path_parameters_.value,
|
|
198
203
|
headers=CaseInsensitiveDict(headers_.value) if headers_.value is not None else headers_.value,
|
|
@@ -34,8 +34,8 @@ def invalid_rate(value: str) -> UsageError:
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
def build_limiter(rate: str) -> Limiter:
|
|
37
|
-
from
|
|
37
|
+
from ._rate_limiter import Limiter, Rate
|
|
38
38
|
|
|
39
39
|
limit, interval = parse_units(rate)
|
|
40
|
-
rate =
|
|
40
|
+
rate = Rate(limit, interval)
|
|
41
41
|
return Limiter(rate)
|
|
@@ -125,8 +125,12 @@ def test_handle_initialized(capsys, mocker, execution_context, results_set, swag
|
|
|
125
125
|
|
|
126
126
|
def test_display_statistic(capsys, swagger_20, execution_context, operation, response):
|
|
127
127
|
# Given multiple successful & failed checks in a single test
|
|
128
|
-
success = models.Check(
|
|
129
|
-
|
|
128
|
+
success = models.Check(
|
|
129
|
+
"not_a_server_error", models.Status.success, response, 0, models.Case(operation, generation_time=0.0)
|
|
130
|
+
)
|
|
131
|
+
failure = models.Check(
|
|
132
|
+
"not_a_server_error", models.Status.failure, response, 0, models.Case(operation, generation_time=0.0)
|
|
133
|
+
)
|
|
130
134
|
single_test_statistic = models.TestResult(
|
|
131
135
|
method=operation.method,
|
|
132
136
|
path=operation.full_path,
|
|
@@ -138,7 +142,9 @@ def test_display_statistic(capsys, swagger_20, execution_context, operation, res
|
|
|
138
142
|
success,
|
|
139
143
|
failure,
|
|
140
144
|
failure,
|
|
141
|
-
models.Check(
|
|
145
|
+
models.Check(
|
|
146
|
+
"different_check", models.Status.success, response, 0, models.Case(operation, generation_time=0.0)
|
|
147
|
+
),
|
|
142
148
|
],
|
|
143
149
|
)
|
|
144
150
|
results = models.TestResultSet(seed=42, results=[single_test_statistic])
|
|
@@ -232,8 +238,12 @@ def test_display_hypothesis_output(capsys):
|
|
|
232
238
|
@pytest.mark.parametrize("body", ({}, {"foo": "bar"}, NOT_SET))
|
|
233
239
|
def test_display_single_failure(capsys, swagger_20, execution_context, operation, body, response):
|
|
234
240
|
# Given a single test result with multiple successful & failed checks
|
|
235
|
-
success = models.Check(
|
|
236
|
-
|
|
241
|
+
success = models.Check(
|
|
242
|
+
"not_a_server_error", models.Status.success, response, 0, models.Case(operation, generation_time=0.0, body=body)
|
|
243
|
+
)
|
|
244
|
+
failure = models.Check(
|
|
245
|
+
"not_a_server_error", models.Status.failure, response, 0, models.Case(operation, generation_time=0.0, body=body)
|
|
246
|
+
)
|
|
237
247
|
test_statistic = models.TestResult(
|
|
238
248
|
method=operation.method,
|
|
239
249
|
path=operation.full_path,
|
|
@@ -245,7 +255,13 @@ def test_display_single_failure(capsys, swagger_20, execution_context, operation
|
|
|
245
255
|
success,
|
|
246
256
|
failure,
|
|
247
257
|
failure,
|
|
248
|
-
models.Check(
|
|
258
|
+
models.Check(
|
|
259
|
+
"different_check",
|
|
260
|
+
models.Status.success,
|
|
261
|
+
response,
|
|
262
|
+
0,
|
|
263
|
+
models.Case(operation, generation_time=0.0, body=body),
|
|
264
|
+
),
|
|
249
265
|
],
|
|
250
266
|
)
|
|
251
267
|
# When this failure is displayed
|
|
@@ -1029,9 +1029,9 @@ def test_keyboard_interrupt(cli, cli_args, base_url, mocker, flask_app, swagger_
|
|
|
1029
1029
|
operation = APIOperation("/success", "GET", {}, swagger_20, base_url=base_url)
|
|
1030
1030
|
if len(cli_args) == 2:
|
|
1031
1031
|
operation.app = flask_app
|
|
1032
|
-
original = Case(operation).call_wsgi
|
|
1032
|
+
original = Case(operation, generation_time=0.0).call_wsgi
|
|
1033
1033
|
else:
|
|
1034
|
-
original = Case(operation).call
|
|
1034
|
+
original = Case(operation, generation_time=0.0).call
|
|
1035
1035
|
counter = 0
|
|
1036
1036
|
|
|
1037
1037
|
def mocked(*args, **kwargs):
|
|
@@ -21,7 +21,9 @@ def test_as_curl_command(case: Case, headers, curl):
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def test_non_utf_8_body(curl):
|
|
24
|
-
case = Case(
|
|
24
|
+
case = Case(
|
|
25
|
+
operation=schema["/users"]["GET"], generation_time=0.0, body=b"42\xff", media_type="application/octet-stream"
|
|
26
|
+
)
|
|
25
27
|
command = case.as_curl_command()
|
|
26
28
|
assert command == "curl -X GET -H 'Content-Type: application/octet-stream' -d '42�' http://localhost/users"
|
|
27
29
|
curl.assert_valid(command)
|
|
@@ -30,7 +32,9 @@ def test_non_utf_8_body(curl):
|
|
|
30
32
|
def test_json_payload(curl):
|
|
31
33
|
new_app = create_app(operations=["create_user"])
|
|
32
34
|
schema = schemathesis.from_dict(new_app.openapi(), force_schema_version="30")
|
|
33
|
-
case = Case(
|
|
35
|
+
case = Case(
|
|
36
|
+
operation=schema["/users/"]["POST"], generation_time=0.0, body={"foo": 42}, media_type="application/json"
|
|
37
|
+
)
|
|
34
38
|
command = case.as_curl_command()
|
|
35
39
|
assert command == "curl -X POST -H 'Content-Type: application/json' -d '{\"foo\": 42}' http://localhost/users/"
|
|
36
40
|
curl.assert_valid(command)
|
|
@@ -40,7 +44,7 @@ def test_explicit_headers(curl):
|
|
|
40
44
|
# When the generated case contains a header from the list of headers that are ignored by default
|
|
41
45
|
name = "Accept"
|
|
42
46
|
value = "application/json"
|
|
43
|
-
case = Case(operation=schema["/users"]["GET"], headers={name: value})
|
|
47
|
+
case = Case(operation=schema["/users"]["GET"], generation_time=0.0, headers={name: value})
|
|
44
48
|
command = case.as_curl_command()
|
|
45
49
|
assert command == f"curl -X GET -H '{name}: {value}' http://localhost/users"
|
|
46
50
|
curl.assert_valid(command)
|
|
@@ -1165,7 +1165,7 @@ def response_factory():
|
|
|
1165
1165
|
def case_factory(swagger_20):
|
|
1166
1166
|
def factory(**kwargs):
|
|
1167
1167
|
kwargs.setdefault("operation", swagger_20["/users"]["get"])
|
|
1168
|
-
return Case(**kwargs)
|
|
1168
|
+
return Case(generation_time=0.0, **kwargs)
|
|
1169
1169
|
|
|
1170
1170
|
return factory
|
|
1171
1171
|
|
|
@@ -388,6 +388,7 @@ def test_before_add_examples(testdir, simple_openapi):
|
|
|
388
388
|
def before_add_examples(context, examples):
|
|
389
389
|
new = schemathesis.models.Case(
|
|
390
390
|
operation=context.operation,
|
|
391
|
+
generation_time=0.0,
|
|
391
392
|
query={"foo": "bar"}
|
|
392
393
|
)
|
|
393
394
|
examples.append(new)
|
|
@@ -401,6 +402,7 @@ def test_a(case):
|
|
|
401
402
|
def another_hook(context, examples):
|
|
402
403
|
new = schemathesis.models.Case(
|
|
403
404
|
operation=context.operation,
|
|
405
|
+
generation_time=0.0,
|
|
404
406
|
query={"spam": "baz"}
|
|
405
407
|
)
|
|
406
408
|
examples.append(new)
|
|
@@ -27,7 +27,7 @@ def make_case(schema: BaseSchema, definition: dict[str, Any]) -> models.Case:
|
|
|
27
27
|
operation = models.APIOperation(
|
|
28
28
|
"/path", "GET", definition=OperationDefinition(definition, definition, None, []), schema=schema
|
|
29
29
|
)
|
|
30
|
-
return models.Case(operation)
|
|
30
|
+
return models.Case(operation, generation_time=0.0)
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
@pytest.fixture()
|
|
@@ -187,7 +187,7 @@ def test_content_type_conformance_another_status_code(response_factory):
|
|
|
187
187
|
def assert_content_type_conformance(response_factory, raw_schema, content_type, is_error, match=None):
|
|
188
188
|
schema = schemathesis.from_dict(raw_schema)
|
|
189
189
|
operation = schema["/users"]["get"]
|
|
190
|
-
case = models.Case(operation)
|
|
190
|
+
case = models.Case(operation, generation_time=0.0)
|
|
191
191
|
response = response_factory.requests(content_type=content_type)
|
|
192
192
|
if not is_error:
|
|
193
193
|
assert content_type_conformance(response, case) is None
|
|
@@ -250,7 +250,7 @@ def test_invalid_schema_on_content_type_check(response_factory):
|
|
|
250
250
|
validate_schema=False,
|
|
251
251
|
)
|
|
252
252
|
operation = schema["/users"]["get"]
|
|
253
|
-
case = models.Case(operation)
|
|
253
|
+
case = models.Case(operation, generation_time=0.0)
|
|
254
254
|
response = response_factory.requests(content_type="application/json")
|
|
255
255
|
# Then an error should be risen
|
|
256
256
|
with pytest.raises(OperationSchemaError):
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from unittest.mock import ANY
|
|
2
|
+
|
|
1
3
|
import pytest
|
|
2
4
|
from hypothesis import strategies as st
|
|
3
5
|
|
|
@@ -46,7 +48,9 @@ def test_as_strategy(swagger_20):
|
|
|
46
48
|
operation = swagger_20["/users"]["GET"]
|
|
47
49
|
strategy = operation.as_strategy()
|
|
48
50
|
assert isinstance(strategy, st.SearchStrategy)
|
|
49
|
-
assert strategy.example() == Case(
|
|
51
|
+
assert strategy.example() == Case(
|
|
52
|
+
operation, generation_time=ANY, data_generation_method=DataGenerationMethod.positive
|
|
53
|
+
)
|
|
50
54
|
|
|
51
55
|
|
|
52
56
|
@pytest.mark.filterwarnings("ignore:.*method is good for exploring strategies.*")
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import datetime
|
|
2
2
|
from base64 import b64decode
|
|
3
|
+
from unittest.mock import ANY
|
|
3
4
|
|
|
4
5
|
import pytest
|
|
5
6
|
from hypothesis import HealthCheck, assume, find, given, settings
|
|
@@ -71,7 +72,11 @@ def test_get_examples(location, swagger_20):
|
|
|
71
72
|
strategies = operation.get_strategies_from_examples()
|
|
72
73
|
assert len(strategies) == 1
|
|
73
74
|
assert strategies[0].example() == Case(
|
|
74
|
-
operation,
|
|
75
|
+
operation,
|
|
76
|
+
generation_time=ANY,
|
|
77
|
+
data_generation_method=DataGenerationMethod.positive,
|
|
78
|
+
media_type=media_type,
|
|
79
|
+
**{container: expected},
|
|
75
80
|
)
|
|
76
81
|
|
|
77
82
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
|
+
from schemathesis._dependency_versions import IS_PYRATE_LIMITER_ABOVE_3
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
def test_default(testdir):
|
|
5
7
|
# When LazySchema is used
|
|
@@ -71,16 +73,16 @@ def test_(request, case):
|
|
|
71
73
|
result.assert_outcomes(passed=1, failed=1)
|
|
72
74
|
if is_older_subtests:
|
|
73
75
|
expected = [
|
|
74
|
-
r"test_invalid_operation.py::test_[GET /v1/valid] PASSED
|
|
75
|
-
r"test_invalid_operation.py::test_[GET /v1/invalid] FAILED
|
|
76
|
-
r"test_invalid_operation.py::test_[GET /v1/users] PASSED
|
|
76
|
+
r"test_invalid_operation.py::test_\[GET /v1/valid\] PASSED *\[ 25%\]",
|
|
77
|
+
r"test_invalid_operation.py::test_\[GET /v1/invalid\] FAILED *\[ 50%\]",
|
|
78
|
+
r"test_invalid_operation.py::test_\[GET /v1/users\] PASSED *\[ 75%\]",
|
|
77
79
|
r".*1 passed",
|
|
78
80
|
]
|
|
79
81
|
else:
|
|
80
82
|
expected = [
|
|
81
|
-
r"test_invalid_operation.py::test_[GET /v1/valid] SUBPASS
|
|
82
|
-
r"test_invalid_operation.py::test_[GET /v1/invalid] SUBFAIL
|
|
83
|
-
r"test_invalid_operation.py::test_[GET /v1/users] SUBPASS
|
|
83
|
+
r"test_invalid_operation.py::test_\[GET /v1/valid\] SUBPASS +\[ 25%\]",
|
|
84
|
+
r"test_invalid_operation.py::test_\[GET /v1/invalid\] SUBFAIL +\[ 50%\]",
|
|
85
|
+
r"test_invalid_operation.py::test_\[GET /v1/users\] SUBPASS +\[ 75%\]",
|
|
84
86
|
r".*1 passed",
|
|
85
87
|
]
|
|
86
88
|
result.stdout.re_match_lines(expected)
|
|
@@ -508,7 +510,8 @@ def test_b(case):
|
|
|
508
510
|
result.assert_outcomes(passed=2)
|
|
509
511
|
|
|
510
512
|
|
|
511
|
-
|
|
513
|
+
@pytest.mark.parametrize("settings", ("", "@settings(deadline=None)"))
|
|
514
|
+
def test_parametrized_fixture(testdir, openapi3_base_url, is_older_subtests, settings):
|
|
512
515
|
# When the used pytest fixture is parametrized via `params`
|
|
513
516
|
testdir.make_test(
|
|
514
517
|
f"""
|
|
@@ -521,6 +524,7 @@ def parametrized_lazy_schema(request):
|
|
|
521
524
|
lazy_schema = schemathesis.from_pytest_fixture("parametrized_lazy_schema")
|
|
522
525
|
|
|
523
526
|
@lazy_schema.parametrize()
|
|
527
|
+
{settings}
|
|
524
528
|
def test_(case):
|
|
525
529
|
case.call()
|
|
526
530
|
""",
|
|
@@ -896,6 +900,17 @@ def test_(case):
|
|
|
896
900
|
|
|
897
901
|
@pytest.mark.operations("success")
|
|
898
902
|
def test_rate_limit(testdir, openapi3_schema_url):
|
|
903
|
+
if IS_PYRATE_LIMITER_ABOVE_3:
|
|
904
|
+
assertion = """
|
|
905
|
+
assert limiter.bucket_factory.bucket.rates[0].limit == 1
|
|
906
|
+
assert limiter.bucket_factory.bucket.rates[0].interval == 1000
|
|
907
|
+
"""
|
|
908
|
+
else:
|
|
909
|
+
assertion = """
|
|
910
|
+
rate = limiter._rates[0]
|
|
911
|
+
assert rate.interval == 1
|
|
912
|
+
assert rate.limit == 1
|
|
913
|
+
"""
|
|
899
914
|
testdir.make_test(
|
|
900
915
|
f"""
|
|
901
916
|
@pytest.fixture
|
|
@@ -907,9 +922,7 @@ lazy_schema = schemathesis.from_pytest_fixture("api_schema", rate_limit="1/s")
|
|
|
907
922
|
@lazy_schema.parametrize()
|
|
908
923
|
def test_(case):
|
|
909
924
|
limiter = case.operation.schema.rate_limiter
|
|
910
|
-
|
|
911
|
-
assert rate.interval == 1
|
|
912
|
-
assert rate.limit == 1
|
|
925
|
+
{assertion}
|
|
913
926
|
""",
|
|
914
927
|
)
|
|
915
928
|
result = testdir.runpytest()
|