schemathesis 3.34.2__tar.gz → 3.35.0__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.
Files changed (647) hide show
  1. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/build.yml +10 -7
  2. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/codspeed.yml +2 -3
  3. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/release.yml +2 -2
  4. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/test-corpus.yml +3 -2
  5. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/test-hypothesis.yml +3 -2
  6. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/update-pre-commit.yml +3 -2
  7. {schemathesis-3.34.2 → schemathesis-3.35.0}/.pre-commit-config.yaml +2 -2
  8. {schemathesis-3.34.2 → schemathesis-3.35.0}/PKG-INFO +30 -19
  9. {schemathesis-3.34.2 → schemathesis-3.35.0}/README.md +7 -15
  10. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/changelog.rst +20 -1
  11. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/experimental.rst +25 -0
  12. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/extending.rst +28 -0
  13. {schemathesis-3.34.2 → schemathesis-3.35.0}/pyproject.toml +1 -1
  14. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/_hypothesis.py +55 -26
  15. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/__init__.py +25 -4
  16. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/context.py +4 -0
  17. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/handlers.py +4 -1
  18. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/output/default.py +4 -0
  19. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/contrib/openapi/fill_missing_examples.py +1 -1
  20. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/experimental/__init__.py +7 -0
  21. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/generation/__init__.py +4 -37
  22. schemathesis-3.35.0/src/schemathesis/generation/_hypothesis.py +51 -0
  23. schemathesis-3.35.0/src/schemathesis/generation/_methods.py +40 -0
  24. schemathesis-3.35.0/src/schemathesis/generation/coverage.py +433 -0
  25. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/schemas.py +2 -1
  26. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/extensions.py +1 -1
  27. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/examples.py +1 -1
  28. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/schemas.py +2 -1
  29. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/stateful/__init__.py +23 -7
  30. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/utils.py +0 -10
  31. schemathesis-3.35.0/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +26 -0
  32. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +1 -1
  33. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_commands.py +38 -0
  34. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/conftest.py +3 -1
  35. schemathesis-3.35.0/test/coverage/test_combinations.py +590 -0
  36. schemathesis-3.35.0/test/coverage/test_phase.py +185 -0
  37. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/stateful/conftest.py +4 -2
  38. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/stateful/test_runner.py +13 -0
  39. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_examples.py +1 -2
  40. {schemathesis-3.34.2 → schemathesis-3.35.0}/test-corpus/test_corpus.py +8 -1
  41. {schemathesis-3.34.2 → schemathesis-3.35.0}/tox.ini +1 -1
  42. schemathesis-3.34.2/.github/workflows/update-corpus.yml +0 -30
  43. schemathesis-3.34.2/.gitmodules +0 -3
  44. {schemathesis-3.34.2 → schemathesis-3.35.0}/.dockerignore +0 -0
  45. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/FUNDING.yml +0 -0
  46. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  47. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  48. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  49. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/dependabot.yml +0 -0
  50. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/codeql-analysis.yml +0 -0
  51. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/commit.yml +0 -0
  52. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/example-build.yml +0 -0
  53. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/example-no-build.yml +0 -0
  54. {schemathesis-3.34.2 → schemathesis-3.35.0}/.github/workflows/master_update.yml +0 -0
  55. {schemathesis-3.34.2 → schemathesis-3.35.0}/.gitignore +0 -0
  56. {schemathesis-3.34.2 → schemathesis-3.35.0}/.readthedocs.yml +0 -0
  57. {schemathesis-3.34.2 → schemathesis-3.35.0}/.relint.yml +0 -0
  58. {schemathesis-3.34.2 → schemathesis-3.35.0}/.rstcheck.cfg +0 -0
  59. {schemathesis-3.34.2 → schemathesis-3.35.0}/.yamllint +0 -0
  60. {schemathesis-3.34.2 → schemathesis-3.35.0}/CITATION.cff +0 -0
  61. {schemathesis-3.34.2 → schemathesis-3.35.0}/CODE_OF_CONDUCT.md +0 -0
  62. {schemathesis-3.34.2 → schemathesis-3.35.0}/CONTRIBUTING.rst +0 -0
  63. {schemathesis-3.34.2 → schemathesis-3.35.0}/Dockerfile +0 -0
  64. {schemathesis-3.34.2 → schemathesis-3.35.0}/Dockerfile.bookworm +0 -0
  65. {schemathesis-3.34.2 → schemathesis-3.35.0}/LICENSE +0 -0
  66. {schemathesis-3.34.2 → schemathesis-3.35.0}/benches/cli.py +0 -0
  67. {schemathesis-3.34.2 → schemathesis-3.35.0}/benches/references.py +0 -0
  68. {schemathesis-3.34.2 → schemathesis-3.35.0}/benches/schema.py +0 -0
  69. {schemathesis-3.34.2 → schemathesis-3.35.0}/changelog.py +0 -0
  70. {schemathesis-3.34.2 → schemathesis-3.35.0}/codecov.yml +0 -0
  71. {schemathesis-3.34.2 → schemathesis-3.35.0}/corpus/data/graphql.tar.gz +0 -0
  72. {schemathesis-3.34.2 → schemathesis-3.35.0}/corpus/data/openapi-3.0.tar.gz +0 -0
  73. {schemathesis-3.34.2 → schemathesis-3.35.0}/corpus/data/openapi-3.1.tar.gz +0 -0
  74. {schemathesis-3.34.2 → schemathesis-3.35.0}/corpus/data/swagger-2.0.tar.gz +0 -0
  75. {schemathesis-3.34.2 → schemathesis-3.35.0}/corpus/tools.py +0 -0
  76. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/Makefile +0 -0
  77. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/additional-content.rst +0 -0
  78. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/api.rst +0 -0
  79. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/auth.rst +0 -0
  80. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/cli.rst +0 -0
  81. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/compatibility.rst +0 -0
  82. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/conf.py +0 -0
  83. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/continuous_integration.rst +0 -0
  84. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/contrib.rst +0 -0
  85. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/data-generation.rst +0 -0
  86. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/examples.rst +0 -0
  87. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/faq.rst +0 -0
  88. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/getting-started.rst +0 -0
  89. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/graphql.rst +0 -0
  90. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/index.rst +0 -0
  91. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/python.rst +0 -0
  92. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/recipes.rst +0 -0
  93. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/requirements.txt +0 -0
  94. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/sanitizing.rst +0 -0
  95. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/service.rst +0 -0
  96. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/stateful.rst +0 -0
  97. {schemathesis-3.34.2 → schemathesis-3.35.0}/docs/targeted.rst +0 -0
  98. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/Dockerfile +0 -0
  99. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/README.md +0 -0
  100. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/app.py +0 -0
  101. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/compose.yml +0 -0
  102. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/openapi.json +0 -0
  103. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/requirements-app.in +0 -0
  104. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/requirements-app.txt +0 -0
  105. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/requirements-pytest.in +0 -0
  106. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/requirements-pytest.txt +0 -0
  107. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/tests/__init__.py +0 -0
  108. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/tests/conftest.py +0 -0
  109. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/tests/extensions.py +0 -0
  110. {schemathesis-3.34.2 → schemathesis-3.35.0}/example/tests/test_app.py +0 -0
  111. {schemathesis-3.34.2 → schemathesis-3.35.0}/img/demo.gif +0 -0
  112. {schemathesis-3.34.2 → schemathesis-3.35.0}/img/service_github_report.png +0 -0
  113. {schemathesis-3.34.2 → schemathesis-3.35.0}/mypy.ini +0 -0
  114. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/__init__.py +0 -0
  115. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/_compat.py +0 -0
  116. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/_dependency_versions.py +0 -0
  117. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/_lazy_import.py +0 -0
  118. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/_override.py +0 -0
  119. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/_rate_limiter.py +0 -0
  120. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/_xml.py +0 -0
  121. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/auths.py +0 -0
  122. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/checks.py +0 -0
  123. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/__main__.py +0 -0
  124. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/callbacks.py +0 -0
  125. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/cassettes.py +0 -0
  126. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/constants.py +0 -0
  127. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/debug.py +0 -0
  128. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/junitxml.py +0 -0
  129. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/options.py +0 -0
  130. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/output/__init__.py +0 -0
  131. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/output/short.py +0 -0
  132. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/reporting.py +0 -0
  133. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/cli/sanitization.py +0 -0
  134. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/code_samples.py +0 -0
  135. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/constants.py +0 -0
  136. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/contrib/__init__.py +0 -0
  137. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  138. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  139. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  140. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/contrib/unique_data.py +0 -0
  141. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/exceptions.py +0 -0
  142. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/extra/__init__.py +0 -0
  143. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/extra/_aiohttp.py +0 -0
  144. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/extra/_flask.py +0 -0
  145. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/extra/_server.py +0 -0
  146. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/extra/pytest_plugin.py +0 -0
  147. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/failures.py +0 -0
  148. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/filters.py +0 -0
  149. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/fixups/__init__.py +0 -0
  150. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/fixups/fast_api.py +0 -0
  151. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/fixups/utf8_bom.py +0 -0
  152. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/graphql.py +0 -0
  153. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/hooks.py +0 -0
  154. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/__init__.py +0 -0
  155. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/copy.py +0 -0
  156. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/datetime.py +0 -0
  157. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/deprecation.py +0 -0
  158. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/extensions.py +0 -0
  159. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/jsonschema.py +0 -0
  160. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/output.py +0 -0
  161. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/result.py +0 -0
  162. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/transformation.py +0 -0
  163. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/internal/validation.py +0 -0
  164. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/lazy.py +0 -0
  165. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/loaders.py +0 -0
  166. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/models.py +0 -0
  167. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/parameters.py +0 -0
  168. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/py.typed +0 -0
  169. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/__init__.py +0 -0
  170. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/events.py +0 -0
  171. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/impl/__init__.py +0 -0
  172. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/impl/core.py +0 -0
  173. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/impl/solo.py +0 -0
  174. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/impl/threadpool.py +0 -0
  175. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/probes.py +0 -0
  176. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/runner/serialization.py +0 -0
  177. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/sanitization.py +0 -0
  178. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/serializers.py +0 -0
  179. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/__init__.py +0 -0
  180. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/auth.py +0 -0
  181. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/ci.py +0 -0
  182. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/client.py +0 -0
  183. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/constants.py +0 -0
  184. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/events.py +0 -0
  185. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/hosts.py +0 -0
  186. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/metadata.py +0 -0
  187. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/models.py +0 -0
  188. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/report.py +0 -0
  189. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/serialization.py +0 -0
  190. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/service/usage.py +0 -0
  191. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/__init__.py +0 -0
  192. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/graphql/__init__.py +0 -0
  193. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/graphql/_cache.py +0 -0
  194. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/graphql/loaders.py +0 -0
  195. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/graphql/nodes.py +0 -0
  196. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/graphql/scalars.py +0 -0
  197. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/graphql/schemas.py +0 -0
  198. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/graphql/validation.py +0 -0
  199. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/__init__.py +0 -0
  200. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/_cache.py +0 -0
  201. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
  202. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/checks.py +0 -0
  203. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/constants.py +0 -0
  204. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/converter.py +0 -0
  205. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/definitions.py +0 -0
  206. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  207. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  208. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  209. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  210. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  211. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  212. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  213. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/formats.py +0 -0
  214. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/links.py +0 -0
  215. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/loaders.py +0 -0
  216. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/media_types.py +0 -0
  217. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  218. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  219. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  220. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  221. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/parameters.py +0 -0
  222. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/references.py +0 -0
  223. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/security.py +0 -0
  224. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/serialization.py +0 -0
  225. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  226. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  227. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/utils.py +0 -0
  228. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/specs/openapi/validation.py +0 -0
  229. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/__init__.py +0 -0
  230. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/config.py +0 -0
  231. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/context.py +0 -0
  232. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/events.py +0 -0
  233. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/runner.py +0 -0
  234. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/sink.py +0 -0
  235. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/state_machine.py +0 -0
  236. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/statistic.py +0 -0
  237. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/stateful/validation.py +0 -0
  238. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/targets.py +0 -0
  239. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/throttling.py +0 -0
  240. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/transports/__init__.py +0 -0
  241. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/transports/auth.py +0 -0
  242. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/transports/content_types.py +0 -0
  243. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/transports/headers.py +0 -0
  244. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/transports/responses.py +0 -0
  245. {schemathesis-3.34.2 → schemathesis-3.35.0}/src/schemathesis/types.py +0 -0
  246. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/__init__.py +0 -0
  247. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  248. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  249. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  250. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  251. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  252. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  253. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/__init__.py +0 -0
  254. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/_graphql/__init__.py +0 -0
  255. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  256. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/_graphql/_fastapi/app.py +0 -0
  257. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/_graphql/_flask/__init__.py +0 -0
  258. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/_graphql/_flask/app.py +0 -0
  259. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/_graphql/schema.py +0 -0
  260. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/cp1252_app.py +0 -0
  261. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/hooks.py +0 -0
  262. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/__init__.py +0 -0
  263. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  264. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/_aiohttp/app.py +0 -0
  265. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  266. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/_fastapi/__init__.py +0 -0
  267. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/_fastapi/app.py +0 -0
  268. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/_flask/__init__.py +0 -0
  269. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/_flask/app.py +0 -0
  270. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/apps/openapi/schema.py +0 -0
  271. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__init__.py +0 -0
  272. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  273. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  274. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  275. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  276. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  277. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  278. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  279. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/conftest.py +0 -0
  280. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/test_cli.py +0 -0
  281. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/test_provider.py +0 -0
  282. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/auth/test_pytest.py +0 -0
  283. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__init__.py +0 -0
  284. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  285. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  286. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  287. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  288. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  289. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  290. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  291. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  292. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  293. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  294. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  295. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  296. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  297. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  298. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  299. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  300. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  301. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  302. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  303. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  304. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  305. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  306. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  307. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  308. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  309. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  310. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  311. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  312. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  313. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  314. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  315. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  316. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
  317. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  318. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  319. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  320. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  321. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  322. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
  323. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
  324. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
  325. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  326. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  327. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  328. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  329. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  330. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  331. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  332. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  333. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  334. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  335. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  336. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  337. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  338. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  339. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  340. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  341. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  342. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  343. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  344. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  345. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  346. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  347. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  348. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  349. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  350. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  351. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  352. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  353. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  354. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  355. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  356. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  357. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  358. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  359. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  360. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  361. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  362. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  363. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  364. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  365. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  366. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  367. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  368. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  369. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  370. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  371. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  372. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  373. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  374. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  375. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  376. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  377. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  378. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  379. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  380. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  381. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  382. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  383. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  384. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  385. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  386. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  387. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  388. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  389. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  390. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  391. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  392. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  393. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  394. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  395. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  396. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  397. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  398. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  399. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  400. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  401. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  402. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  403. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  404. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  405. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  406. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  407. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  408. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  409. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  410. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  411. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  412. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  413. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  414. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  415. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  416. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  417. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  418. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  419. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  420. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  421. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  422. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  423. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  424. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  425. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  426. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  427. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  428. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  429. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  430. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  431. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  432. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  433. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  434. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  435. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  436. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  437. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  438. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  439. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  440. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  441. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  442. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  443. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  444. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  445. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  446. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  447. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  448. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  449. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  450. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  451. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  452. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  453. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  454. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  455. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  456. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  457. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
  458. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  459. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  460. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  461. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  462. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  463. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  464. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  465. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  466. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  467. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  468. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  469. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  470. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  471. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  472. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  473. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  474. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  475. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  476. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  477. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  478. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  479. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  480. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  481. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  482. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  483. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/cert.pem +0 -0
  484. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/conftest.py +0 -0
  485. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/output/__init__.py +0 -0
  486. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/output/test_default.py +0 -0
  487. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_asgi.py +0 -0
  488. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_callbacks.py +0 -0
  489. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_cassettes.py +0 -0
  490. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_checks.py +0 -0
  491. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_crashes.py +0 -0
  492. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_hooks.py +0 -0
  493. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_junitxml.py +0 -0
  494. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_options.py +0 -0
  495. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_reporting.py +0 -0
  496. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/cli/test_targeted.py +0 -0
  497. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  498. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  499. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/code_samples/conftest.py +0 -0
  500. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/code_samples/test_curl.py +0 -0
  501. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/code_samples/test_python.py +0 -0
  502. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  503. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  504. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  505. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  506. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  507. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  508. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  509. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/openapi/formats/test_uuid.py +0 -0
  510. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  511. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/test_install.py +0 -0
  512. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/contrib/test_unique_data.py +0 -0
  513. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/petstore_v2.yaml +0 -0
  514. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/petstore_v3.yaml +0 -0
  515. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/relative_files/components/parameters.yaml +0 -0
  516. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/relative_files/components/responses.yaml +0 -0
  517. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/relative_files/components/schemas.yaml +0 -0
  518. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/relative_files/main.yaml +0 -0
  519. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/relative_files/paths/user-account.yaml +0 -0
  520. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/simple_openapi.yaml +0 -0
  521. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/data/simple_swagger.yaml +0 -0
  522. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  523. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/experimental/conftest.py +0 -0
  524. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/experimental/test_experiments.py +0 -0
  525. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/experimental/test_openapi_3_1.py +0 -0
  526. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/extra/__init__.py +0 -0
  527. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/extra/test_aiohttp.py +0 -0
  528. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/filters/__init__.py +0 -0
  529. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/filters/test_expressions.py +0 -0
  530. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/filters/test_matching.py +0 -0
  531. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/hooks/test_filter_operations.py +0 -0
  532. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/hooks/test_filters.py +0 -0
  533. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/hooks/test_hooks.py +0 -0
  534. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/loaders/conftest.py +0 -0
  535. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/loaders/test_app.py +0 -0
  536. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/loaders/test_common.py +0 -0
  537. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/loaders/test_graphql.py +0 -0
  538. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/loaders/test_openapi.py +0 -0
  539. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/loaders/test_yaml.py +0 -0
  540. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/runner/__init__.py +0 -0
  541. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/runner/test_checks.py +0 -0
  542. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/runner/test_events.py +0 -0
  543. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/runner/test_probes.py +0 -0
  544. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/runner/test_runner.py +0 -0
  545. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__init__.py +0 -0
  546. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  547. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  548. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  549. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  550. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  551. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  552. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  553. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  554. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  555. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  556. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  557. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  558. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  559. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  560. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  561. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  562. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  563. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  564. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  565. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  566. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  567. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  568. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  569. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  570. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  571. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  572. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/conftest.py +0 -0
  573. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/test_auth.py +0 -0
  574. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/test_ci.py +0 -0
  575. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/test_cli.py +0 -0
  576. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/test_extensions.py +0 -0
  577. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/test_report.py +0 -0
  578. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/test_serialization.py +0 -0
  579. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/service/test_usage.py +0 -0
  580. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
  581. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
  582. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
  583. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  584. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  585. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  586. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  587. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/test_basic.py +0 -0
  588. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/test_custom_scalars.py +0 -0
  589. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/graphql/test_pytest.py +0 -0
  590. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  591. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  592. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  593. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/blank.pdf +0 -0
  594. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/conftest.py +0 -0
  595. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/parameters/test_forms.py +0 -0
  596. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  597. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  598. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/stateful/__init__.py +0 -0
  599. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/stateful/test_config.py +0 -0
  600. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/stateful/test_stateful.py +0 -0
  601. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_checks.py +0 -0
  602. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_expressions.py +0 -0
  603. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_hypothesis.py +0 -0
  604. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_ignored_auth.py +0 -0
  605. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_links.py +0 -0
  606. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_media_types.py +0 -0
  607. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_negative.py +0 -0
  608. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_parameters.py +0 -0
  609. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_randomized.py +0 -0
  610. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_schemas.py +0 -0
  611. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_security.py +0 -0
  612. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_serializing.py +0 -0
  613. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_utils.py +0 -0
  614. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/specs/openapi/test_validation.py +0 -0
  615. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_app.py +0 -0
  616. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_asgi.py +0 -0
  617. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_async.py +0 -0
  618. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_common_parameters.py +0 -0
  619. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_converter.py +0 -0
  620. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_dereferencing.py +0 -0
  621. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_direct_access.py +0 -0
  622. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_examples.py +0 -0
  623. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_filters.py +0 -0
  624. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_fixups.py +0 -0
  625. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_hypothesis.py +0 -0
  626. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_internal.py +0 -0
  627. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_lazy.py +0 -0
  628. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_models.py +0 -0
  629. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_output.py +0 -0
  630. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_package.py +0 -0
  631. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_parameters.py +0 -0
  632. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_parametrization.py +0 -0
  633. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_petstore.py +0 -0
  634. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_pytest.py +0 -0
  635. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_rate_limit.py +0 -0
  636. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_recoverable_errors.py +0 -0
  637. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_required.py +0 -0
  638. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_sanitizing_output.py +0 -0
  639. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_schemas.py +0 -0
  640. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_serialization.py +0 -0
  641. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_stateful.py +0 -0
  642. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_unittest.py +0 -0
  643. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_utils.py +0 -0
  644. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/test_wsgi.py +0 -0
  645. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/transports/test_content_types.py +0 -0
  646. {schemathesis-3.34.2 → schemathesis-3.35.0}/test/utils.py +0 -0
  647. {schemathesis-3.34.2 → schemathesis-3.35.0}/test_server.sh +0 -0
@@ -34,8 +34,9 @@ jobs:
34
34
  with:
35
35
  python-version: 3.11
36
36
 
37
- - run: pip install pre-commit
38
- - run: pre-commit run --all-files
37
+ - uses: hynek/setup-cached-uv@v2
38
+
39
+ - run: uvx pre-commit run --all-files
39
40
 
40
41
  docs:
41
42
  name: Documentation
@@ -71,13 +72,13 @@ jobs:
71
72
  with:
72
73
  python-version: ${{ matrix.python }}
73
74
 
74
- - run: pip install tox tox-gh-actions
75
+ - uses: hynek/setup-cached-uv@v2
75
76
 
76
77
  - if: ${{ matrix.tox_env }}
77
- run: python -m tox -e ${{ matrix.tox_env }}
78
+ run: uvx --with="tox" --with="tox-gh-actions" --with="tox-uv" tox -e ${{ matrix.tox_env }}
78
79
 
79
80
  - if: ${{ !matrix.tox_env }}
80
- run: python -m tox
81
+ run: uvx --with="tox" --with="tox-gh-actions" --with="tox-uv" tox
81
82
 
82
83
  - name: Upload coverage to Codecov
83
84
  uses: codecov/codecov-action@v4.5.0
@@ -101,9 +102,11 @@ jobs:
101
102
  with:
102
103
  python-version: "3.12"
103
104
 
104
- - run: pip install ".[dev]"
105
+ - uses: hynek/setup-cached-uv@v2
106
+
107
+ - run: uv tool install ".[dev]"
105
108
 
106
- - run: st run /openapi.json --app=cp1252_app:app -c custom_check > out.txt || true
109
+ - run: uv tool run schemathesis run /openapi.json --app=cp1252_app:app -c custom_check > out.txt || true
107
110
  working-directory: ./test/apps
108
111
  env:
109
112
  SCHEMATHESIS_HOOKS: hooks
@@ -17,11 +17,10 @@ jobs:
17
17
  # Python 3.12 for flamegraph support
18
18
  python-version: "3.12"
19
19
 
20
- - name: Install dependencies
21
- run: pip install ".[bench]"
20
+ - uses: hynek/setup-cached-uv@v2
22
21
 
23
22
  - name: Run benchmarks
24
23
  uses: CodSpeedHQ/action@v3
25
24
  with:
26
25
  token: ${{ secrets.CODSPEED_TOKEN }}
27
- run: pytest benches/* --codspeed -p no:schemathesis -p no:hypothesispytest -p no:subtests -p no:anyio
26
+ run: uvx --from=".[bench]" pytest benches/* --codspeed -p no:schemathesis -p no:hypothesispytest -p no:subtests -p no:anyio
@@ -76,10 +76,10 @@ jobs:
76
76
  with:
77
77
  python-version: "3.10"
78
78
 
79
- - run: pip install "hatchling==1.12.*"
79
+ - uses: hynek/setup-cached-uv@v2
80
80
 
81
81
  - name: Build package
82
- run: hatchling build
82
+ run: uvx hatchling build
83
83
 
84
84
  - name: Publish distribution package to PyPI
85
85
  uses: pypa/gh-action-pypi-publish@release/v1
@@ -24,5 +24,6 @@ jobs:
24
24
  with:
25
25
  python-version: "3.11"
26
26
 
27
- - run: pip install ".[tests]"
28
- - run: pytest test-corpus -n auto
27
+ - uses: hynek/setup-cached-uv@v2
28
+
29
+ - run: uvx --from=".[tests]" pytest test-corpus -n auto
@@ -19,5 +19,6 @@ jobs:
19
19
  with:
20
20
  python-version: "3.11"
21
21
 
22
- - run: pip install ".[tests]"
23
- - run: pytest -m hypothesis -m hypothesis_nested --hypothesis-profile CI test
22
+ - uses: hynek/setup-cached-uv@v2
23
+
24
+ - run: uvx --from=".[tests]" pytest -m hypothesis -m hypothesis_nested --hypothesis-profile CI test
@@ -15,8 +15,9 @@ jobs:
15
15
  fetch-depth: 1
16
16
  submodules: true
17
17
 
18
- - run: pip install pre-commit
19
- - run: pre-commit autoupdate
18
+ - uses: hynek/setup-cached-uv@v2
19
+
20
+ - run: uvx pre-commit autoupdate
20
21
 
21
22
  - name: Open pull request
22
23
  uses: peter-evans/create-pull-request@v6
@@ -38,12 +38,12 @@ repos:
38
38
  additional_dependencies: [types-click, types-requests, types-PyYAML]
39
39
 
40
40
  - repo: https://github.com/astral-sh/ruff-pre-commit
41
- rev: v0.6.1
41
+ rev: v0.6.2
42
42
  hooks:
43
43
  - id: ruff-format
44
44
 
45
45
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
- rev: v0.6.1
46
+ rev: v0.6.2
47
47
  hooks:
48
48
  - id: ruff
49
49
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: schemathesis
3
- Version: 3.34.2
3
+ Version: 3.35.0
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
@@ -56,7 +56,26 @@ Provides-Extra: cov
56
56
  Requires-Dist: coverage-enable-subprocess; extra == 'cov'
57
57
  Requires-Dist: coverage[toml]>=5.3; extra == 'cov'
58
58
  Provides-Extra: dev
59
- Requires-Dist: schemathesis[bench,cov,docs,tests]; extra == 'dev'
59
+ Requires-Dist: aiohttp<4.0,>=3.9.1; extra == 'dev'
60
+ Requires-Dist: coverage-enable-subprocess; extra == 'dev'
61
+ Requires-Dist: coverage>=6; extra == 'dev'
62
+ Requires-Dist: coverage[toml]>=5.3; extra == 'dev'
63
+ Requires-Dist: fastapi>=0.86.0; extra == 'dev'
64
+ Requires-Dist: flask<3.0,>=2.1.1; extra == 'dev'
65
+ Requires-Dist: hypothesis-openapi<1,>=0.2; (python_version >= '3.10') and extra == 'dev'
66
+ Requires-Dist: pydantic>=1.10.2; extra == 'dev'
67
+ Requires-Dist: pytest-asyncio<1.0,>=0.18.0; extra == 'dev'
68
+ Requires-Dist: pytest-codspeed==2.2.1; extra == 'dev'
69
+ Requires-Dist: pytest-httpserver<2.0,>=1.0; extra == 'dev'
70
+ Requires-Dist: pytest-mock<4.0,>=3.7.0; extra == 'dev'
71
+ Requires-Dist: pytest-trio<1.0,>=0.8; extra == 'dev'
72
+ Requires-Dist: pytest-xdist<4.0,>=3; extra == 'dev'
73
+ Requires-Dist: sphinx; extra == 'dev'
74
+ Requires-Dist: sphinx-click; extra == 'dev'
75
+ Requires-Dist: sphinx-rtd-theme; extra == 'dev'
76
+ Requires-Dist: strawberry-graphql[fastapi]>=0.109.0; extra == 'dev'
77
+ Requires-Dist: syrupy<5.0,>=2; extra == 'dev'
78
+ Requires-Dist: trustme<1.0,>=0.9.0; extra == 'dev'
60
79
  Provides-Extra: docs
61
80
  Requires-Dist: sphinx; extra == 'docs'
62
81
  Requires-Dist: sphinx-click; extra == 'docs'
@@ -66,7 +85,7 @@ Requires-Dist: aiohttp<4.0,>=3.9.1; extra == 'tests'
66
85
  Requires-Dist: coverage>=6; extra == 'tests'
67
86
  Requires-Dist: fastapi>=0.86.0; extra == 'tests'
68
87
  Requires-Dist: flask<3.0,>=2.1.1; extra == 'tests'
69
- Requires-Dist: hypothesis-openapi<1,>=0.2; python_version >= '3.10' and extra == 'tests'
88
+ Requires-Dist: hypothesis-openapi<1,>=0.2; (python_version >= '3.10') and extra == 'tests'
70
89
  Requires-Dist: pydantic>=1.10.2; extra == 'tests'
71
90
  Requires-Dist: pytest-asyncio<1.0,>=0.18.0; extra == 'tests'
72
91
  Requires-Dist: pytest-httpserver<2.0,>=1.0; extra == 'tests'
@@ -78,10 +97,6 @@ Requires-Dist: syrupy<5.0,>=2; extra == 'tests'
78
97
  Requires-Dist: trustme<1.0,>=0.9.0; extra == 'tests'
79
98
  Description-Content-Type: text/markdown
80
99
 
81
- <p align="center">
82
- <em>Schemathesis: Supercharge your API testing, catch bugs, and ensure compliance</em>
83
- </p>
84
-
85
100
  <p align="center">
86
101
  <a href="https://github.com/schemathesis/schemathesis/actions" target="_blank">
87
102
  <img src="https://github.com/schemathesis/schemathesis/actions/workflows/build.yml/badge.svg" alt="Build">
@@ -98,22 +113,17 @@ Description-Content-Type: text/markdown
98
113
  <a href="https://discord.gg/R9ASRAmHnA" target="_blank">
99
114
  <img src="https://img.shields.io/discord/938139740912369755" alt="Discord">
100
115
  </a>
116
+ <a href="[https://discord.gg/R9ASRAmHnA](https://schemathesis.readthedocs.io/en/stable/)" target="_blank">
117
+ <img src="https://readthedocs.org/projects/schemathesis/badge/?version=stable" alt="Documentation">
118
+ </a>
101
119
  <a href="https://opensource.org/licenses/MIT" target="_blank">
102
120
  <img src="https://img.shields.io/pypi/l/schemathesis.svg" alt="License">
103
121
  </a>
104
122
  </p>
105
123
 
106
- ---
107
-
108
- **Documentation**: <a href="https://schemathesis.readthedocs.io/en/stable/" target="_blank">https://schemathesis.readthedocs.io/en/stable/ </a>
109
-
110
- **Chat**: <a href="https://discord.gg/R9ASRAmHnA" target="_blank">https://discord.gg/R9ASRAmHnA </a>
111
-
112
- ---
113
-
114
- ## What is Schemathesis?
124
+ ## Schemathesis
115
125
 
116
- Schemathesis is a tool that levels-up your API testing by automating the process of finding crashes, uncovering bugs, and validating spec compliance. With Schemathesis, you can:
126
+ Schemathesis is a tool that levels up your API testing by automating the process of finding crashes, uncovering bugs, and validating spec compliance. With Schemathesis, you can:
117
127
 
118
128
  🎯 **Catch Hard-to-Find Bugs**
119
129
 
@@ -322,11 +332,12 @@ Schemathesis is built on top of <a href="https://hypothesis.works/" target="_bla
322
332
 
323
333
  ## Who's Using Schemathesis?
324
334
 
325
- Schemathesis is used by a number of project and companies, including direct usage or integration into other tools:
335
+ Schemathesis is used by a number of projects and companies, including direct usage or integration into other tools:
326
336
 
327
337
  - Abstract Machines ([Magistrala](https://github.com/absmach/magistrala))
328
338
  - Bundesstelle für Open Data ([smard-api](https://github.com/bundesAPI/smard-api))
329
339
  - [CheckMK](https://github.com/Checkmk/checkmk)
340
+ - [Chronosphere.io](https://github.com/chronosphereio/calyptia-api)
330
341
  - HXSecurity ([DongTai](https://github.com/HXSecurity/DongTai))
331
342
  - Netflix ([Dispatch](https://github.com/Netflix/dispatch))
332
343
  - [Pixie](https://github.com/pixie-io/pixie)
@@ -1,7 +1,3 @@
1
- <p align="center">
2
- <em>Schemathesis: Supercharge your API testing, catch bugs, and ensure compliance</em>
3
- </p>
4
-
5
1
  <p align="center">
6
2
  <a href="https://github.com/schemathesis/schemathesis/actions" target="_blank">
7
3
  <img src="https://github.com/schemathesis/schemathesis/actions/workflows/build.yml/badge.svg" alt="Build">
@@ -18,22 +14,17 @@
18
14
  <a href="https://discord.gg/R9ASRAmHnA" target="_blank">
19
15
  <img src="https://img.shields.io/discord/938139740912369755" alt="Discord">
20
16
  </a>
17
+ <a href="[https://discord.gg/R9ASRAmHnA](https://schemathesis.readthedocs.io/en/stable/)" target="_blank">
18
+ <img src="https://readthedocs.org/projects/schemathesis/badge/?version=stable" alt="Documentation">
19
+ </a>
21
20
  <a href="https://opensource.org/licenses/MIT" target="_blank">
22
21
  <img src="https://img.shields.io/pypi/l/schemathesis.svg" alt="License">
23
22
  </a>
24
23
  </p>
25
24
 
26
- ---
27
-
28
- **Documentation**: <a href="https://schemathesis.readthedocs.io/en/stable/" target="_blank">https://schemathesis.readthedocs.io/en/stable/ </a>
29
-
30
- **Chat**: <a href="https://discord.gg/R9ASRAmHnA" target="_blank">https://discord.gg/R9ASRAmHnA </a>
31
-
32
- ---
33
-
34
- ## What is Schemathesis?
25
+ ## Schemathesis
35
26
 
36
- Schemathesis is a tool that levels-up your API testing by automating the process of finding crashes, uncovering bugs, and validating spec compliance. With Schemathesis, you can:
27
+ Schemathesis is a tool that levels up your API testing by automating the process of finding crashes, uncovering bugs, and validating spec compliance. With Schemathesis, you can:
37
28
 
38
29
  🎯 **Catch Hard-to-Find Bugs**
39
30
 
@@ -242,11 +233,12 @@ Schemathesis is built on top of <a href="https://hypothesis.works/" target="_bla
242
233
 
243
234
  ## Who's Using Schemathesis?
244
235
 
245
- Schemathesis is used by a number of project and companies, including direct usage or integration into other tools:
236
+ Schemathesis is used by a number of projects and companies, including direct usage or integration into other tools:
246
237
 
247
238
  - Abstract Machines ([Magistrala](https://github.com/absmach/magistrala))
248
239
  - Bundesstelle für Open Data ([smard-api](https://github.com/bundesAPI/smard-api))
249
240
  - [CheckMK](https://github.com/Checkmk/checkmk)
241
+ - [Chronosphere.io](https://github.com/chronosphereio/calyptia-api)
250
242
  - HXSecurity ([DongTai](https://github.com/HXSecurity/DongTai))
251
243
  - Netflix ([Dispatch](https://github.com/Netflix/dispatch))
252
244
  - [Pixie](https://github.com/pixie-io/pixie)
@@ -1,9 +1,28 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.34.2...HEAD>` - TBD
4
+ :version:`Unreleased <v3.35.0...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.35.0:
8
+
9
+ :version:`3.35.0 <v3.34.3...v3.35.0>` - 2024-08-25
10
+ --------------------------------------------------
11
+
12
+ **Added**
13
+
14
+ - **EXPERIMENTAL**: New "coverage" phase in the test runner. It aims to explicitly cover common test scenarios like missing required properties, incorrect types, etc. Enable it with ``--experimental=coverage-phase``
15
+ - Extending CLI with custom options and CLI handlers via hooks.
16
+
17
+ .. _v3.34.3:
18
+
19
+ :version:`3.34.3 <v3.34.2...v3.34.3>` - 2024-08-24
20
+ --------------------------------------------------
21
+
22
+ **Changed**
23
+
24
+ - Adjust the distribution of negative test cases in stateful tests so they are less likely to occur for starting transitions.
25
+
7
26
  .. _v3.34.2:
8
27
 
9
28
  :version:`3.34.2 <v3.34.1...v3.34.2>` - 2024-08-20
@@ -112,6 +112,31 @@ To enable OpenAPI 3.1 support via environment variables, you can set:
112
112
 
113
113
  For more details, join the `GitHub Discussion #1822 <https://github.com/schemathesis/schemathesis/discussions/1822>`_.
114
114
 
115
+ .. _coverage-phase:
116
+
117
+ Coverage phase
118
+ ~~~~~~~~~~~~~~
119
+
120
+ Schemathesis primarily generates randomized tests; therefore, the outcomes can vary between test runs.
121
+ This feature enables a new test phase that aims to generate a set of examples that cover common testing patterns for each parameter or property.
122
+ Such tests include checking boundary values, omitting required properties, etc.
123
+
124
+ In CLI
125
+ ~~~~~~
126
+
127
+ .. code-block:: bash
128
+
129
+ st run https://example.schemathesis.io/openapi.json --experimental=coverage-phase
130
+
131
+ Using Environment Variables
132
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
133
+
134
+ .. code-block:: bash
135
+
136
+ export SCHEMATHESIS_EXPERIMENTAL_COVERAGE_PHASE=true
137
+
138
+ For more details, join the `GitHub Discussion #2418 <https://github.com/schemathesis/schemathesis/discussions/2418>`_.
139
+
115
140
  .. _stateful-test-runner:
116
141
 
117
142
  New Stateful Test Runner
@@ -374,6 +374,34 @@ Here's a GraphQL example that includes all queries:
374
374
  In these examples, the ``filter_operations`` hook skips all ``POST`` methods in Open API and all mutations in GraphQL.
375
375
  You can implement any custom logic within the ``filter_operations`` function to include or exclude specific API operations.
376
376
 
377
+ Extending CLI
378
+ ~~~~~~~~~~~~~
379
+
380
+ This example demonstrates how to add a custom CLI option and an event handler that uses it:
381
+
382
+ .. code:: python
383
+
384
+ from schemathesis import cli, runner
385
+
386
+
387
+ cli.add_option("--custom-counter", type=int)
388
+
389
+
390
+ @cli.handler()
391
+ class EventCounter(cli.EventHandler):
392
+ def __init__(self, *args, **params):
393
+ self.counter = params["custom_counter"] or 0
394
+
395
+ def handle_event(self, context, event) -> None:
396
+ self.counter += 1
397
+ if isinstance(event, runner.events.Finished):
398
+ context.add_summary_line(
399
+ f"Counter: {self.counter}",
400
+ )
401
+
402
+ The ``--custom-counter`` CLI option sets the initial value for the ``EventCounter`` handler.
403
+ The handler increments the counter for each event and adds a summary line with the final count when the test run finishes.
404
+
377
405
  ``before_process_path``
378
406
  ~~~~~~~~~~~~~~~~~~~~~~~
379
407
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.34.2"
7
+ version = "3.35.0"
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" }]
@@ -8,21 +8,21 @@ from typing import Any, Callable, Generator, Mapping, Optional, Tuple
8
8
 
9
9
  import hypothesis
10
10
  from hypothesis import Phase
11
- from hypothesis import strategies as st
12
11
  from hypothesis.errors import HypothesisWarning, Unsatisfiable
13
12
  from hypothesis.internal.entropy import deterministic_PRNG
14
13
  from hypothesis.internal.reflection import proxies
15
14
  from jsonschema.exceptions import SchemaError
16
15
 
17
16
  from .auths import get_auth_storage_from_test
18
- from .constants import DEFAULT_DEADLINE
17
+ from .constants import DEFAULT_DEADLINE, NOT_SET
19
18
  from .exceptions import OperationSchemaError, SerializationNotPossible
20
- from .generation import DataGenerationMethod, GenerationConfig
19
+ from .experimental import COVERAGE_PHASE
20
+ from .generation import DataGenerationMethod, GenerationConfig, combine_strategies, coverage, get_single_example
21
21
  from .hooks import GLOBAL_HOOK_DISPATCHER, HookContext, HookDispatcher
22
22
  from .models import APIOperation, Case
23
23
  from .transports.content_types import parse_content_type
24
24
  from .transports.headers import has_invalid_characters, is_latin_1_encodable
25
- from .utils import GivenInput, combine_strategies
25
+ from .utils import GivenInput
26
26
 
27
27
  # Forcefully initializes Hypothesis' global PRNG to avoid races that initilize it
28
28
  # if e.g. Schemathesis CLI is used with multiple workers
@@ -101,6 +101,8 @@ def create_test(
101
101
  wrapped_test = add_examples(
102
102
  wrapped_test, operation, hook_dispatcher=hook_dispatcher, as_strategy_kwargs=as_strategy_kwargs
103
103
  )
104
+ if COVERAGE_PHASE.is_enabled:
105
+ wrapped_test = add_coverage(wrapped_test, operation, data_generation_methods)
104
106
  return wrapped_test
105
107
 
106
108
 
@@ -199,6 +201,55 @@ def add_examples(
199
201
  return test
200
202
 
201
203
 
204
+ def add_coverage(
205
+ test: Callable, operation: APIOperation, data_generation_methods: list[DataGenerationMethod]
206
+ ) -> Callable:
207
+ for example in _iter_coverage_cases(operation, data_generation_methods):
208
+ test = hypothesis.example(case=example)(test)
209
+ return test
210
+
211
+
212
+ def _iter_coverage_cases(
213
+ operation: APIOperation, data_generation_methods: list[DataGenerationMethod]
214
+ ) -> Generator[Case, None, None]:
215
+ from .specs.openapi.constants import LOCATION_TO_CONTAINER
216
+
217
+ ctx = coverage.CoverageContext(data_generation_methods=data_generation_methods)
218
+ generators: dict[tuple[str, str], Generator] = {}
219
+ template: dict[str, Any] = {}
220
+ for parameter in operation.iter_parameters():
221
+ schema = parameter.as_json_schema(operation)
222
+ gen = coverage.cover_schema_iter(ctx, schema)
223
+ value = next(gen, NOT_SET)
224
+ if value is NOT_SET:
225
+ continue
226
+ location = parameter.location
227
+ name = parameter.name
228
+ container = template.setdefault(LOCATION_TO_CONTAINER[location], {})
229
+ container[name] = value
230
+ generators[(location, name)] = gen
231
+ if operation.body:
232
+ for body in operation.body:
233
+ schema = body.as_json_schema(operation)
234
+ gen = coverage.cover_schema_iter(ctx, schema)
235
+ value = next(gen, NOT_SET)
236
+ if value is NOT_SET:
237
+ continue
238
+ if "body" not in template:
239
+ template["body"] = value
240
+ template["media_type"] = body.media_type
241
+ yield operation.make_case(**{**template, "body": value, "media_type": body.media_type})
242
+ for next_value in gen:
243
+ yield operation.make_case(**{**template, "body": next_value, "media_type": body.media_type})
244
+ else:
245
+ yield operation.make_case(**template)
246
+ for (location, name), gen in generators.items():
247
+ container_name = LOCATION_TO_CONTAINER[location]
248
+ container = template[container_name]
249
+ for value in gen:
250
+ yield operation.make_case(**{**template, container_name: {**container, name: value}})
251
+
252
+
202
253
  def find_invalid_headers(headers: Mapping) -> Generator[Tuple[str, str], None, None]:
203
254
  for name, value in headers.items():
204
255
  if not is_latin_1_encodable(value) or has_invalid_characters(name, value):
@@ -248,25 +299,3 @@ def get_invalid_example_headers_mark(test: Callable) -> Optional[dict[str, str]]
248
299
 
249
300
  def add_invalid_example_header_mark(test: Callable, headers: dict[str, str]) -> None:
250
301
  test._schemathesis_invalid_example_headers = headers # type: ignore
251
-
252
-
253
- def get_single_example(strategy: st.SearchStrategy[Case]) -> Case:
254
- examples: list[Case] = []
255
- add_single_example(strategy, examples)
256
- return examples[0]
257
-
258
-
259
- def add_single_example(strategy: st.SearchStrategy[Case], examples: list[Case]) -> None:
260
- @hypothesis.given(strategy) # type: ignore
261
- @hypothesis.settings( # type: ignore
262
- database=None,
263
- max_examples=1,
264
- deadline=None,
265
- verbosity=hypothesis.Verbosity.quiet,
266
- phases=(hypothesis.Phase.generate,),
267
- suppress_health_check=list(hypothesis.HealthCheck),
268
- )
269
- def example_generating_inner_function(ex: Case) -> None:
270
- examples.append(ex)
271
-
272
- example_generating_inner_function()
@@ -11,7 +11,7 @@ from collections import defaultdict
11
11
  from dataclasses import dataclass
12
12
  from enum import Enum
13
13
  from queue import Queue
14
- from typing import TYPE_CHECKING, Any, Callable, Generator, Iterable, Literal, NoReturn, Sequence, cast
14
+ from typing import TYPE_CHECKING, Any, Callable, Generator, Iterable, Literal, NoReturn, Sequence, Type, cast
15
15
  from urllib.parse import urlparse
16
16
 
17
17
  import click
@@ -42,7 +42,7 @@ from ..internal.datetime import current_datetime
42
42
  from ..internal.output import OutputConfig
43
43
  from ..internal.validation import file_exists
44
44
  from ..loaders import load_app, load_yaml
45
- from ..models import APIOperation, Case, CheckFunction
45
+ from ..models import Case, CheckFunction
46
46
  from ..runner import events, prepare_hypothesis_settings, probes
47
47
  from ..specs.graphql import loaders as gql_loaders
48
48
  from ..specs.openapi import loaders as oas_loaders
@@ -50,11 +50,12 @@ from ..stateful import Stateful
50
50
  from ..targets import Target
51
51
  from ..transports import RequestConfig
52
52
  from ..transports.auth import get_requests_auth
53
- from ..types import Filter, PathLike, RequestCert
53
+ from ..types import PathLike, RequestCert
54
54
  from . import callbacks, cassettes, output
55
55
  from .constants import DEFAULT_WORKERS, MAX_WORKERS, MIN_WORKERS, HealthCheck, Phase, Verbosity
56
56
  from .context import ExecutionContext, FileReportContext, ServiceReportContext
57
57
  from .debug import DebugOutputHandler
58
+ from .handlers import EventHandler
58
59
  from .junitxml import JunitXMLHandler
59
60
  from .options import CsvChoice, CsvEnumChoice, CustomHelpMessageChoice, NotSet, OptionalInt
60
61
  from .sanitization import SanitizationHandler
@@ -66,13 +67,13 @@ if TYPE_CHECKING:
66
67
  from ..schemas import BaseSchema
67
68
  from ..service.client import ServiceClient
68
69
  from ..specs.graphql.schemas import GraphQLSchema
69
- from .handlers import EventHandler
70
70
 
71
71
 
72
72
  def _get_callable_names(items: tuple[Callable, ...]) -> tuple[str, ...]:
73
73
  return tuple(item.__name__ for item in items)
74
74
 
75
75
 
76
+ CUSTOM_HANDLERS: list[Type[EventHandler]] = []
76
77
  CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]}
77
78
 
78
79
  DEFAULT_CHECKS_NAMES = _get_callable_names(checks_module.DEFAULT_CHECKS)
@@ -759,6 +760,7 @@ The report data, consisting of a tar gz file with multiple JSON files, is subjec
759
760
  experimental.SCHEMA_ANALYSIS.name,
760
761
  experimental.STATEFUL_TEST_RUNNER.name,
761
762
  experimental.STATEFUL_ONLY.name,
763
+ experimental.COVERAGE_PHASE.name,
762
764
  ]
763
765
  ),
764
766
  callback=callbacks.convert_experimental,
@@ -927,6 +929,7 @@ def run(
927
929
  schemathesis_io_telemetry: bool = True,
928
930
  hosts_file: PathLike = service.DEFAULT_HOSTS_PATH,
929
931
  force_color: bool = False,
932
+ **__kwargs,
930
933
  ) -> None:
931
934
  """Run tests against an API using a specified SCHEMA.
932
935
 
@@ -1212,6 +1215,7 @@ def run(
1212
1215
  )
1213
1216
  execute(
1214
1217
  event_stream,
1218
+ ctx=ctx,
1215
1219
  hypothesis_settings=hypothesis_settings,
1216
1220
  workers_num=workers_num,
1217
1221
  rate_limit=rate_limit,
@@ -1595,6 +1599,7 @@ class OutputStyle(Enum):
1595
1599
  def execute(
1596
1600
  event_stream: Generator[events.ExecutionEvent, None, None],
1597
1601
  *,
1602
+ ctx: click.Context,
1598
1603
  hypothesis_settings: hypothesis.settings,
1599
1604
  workers_num: int,
1600
1605
  rate_limit: str | None,
@@ -1669,6 +1674,8 @@ def execute(
1669
1674
  cassette_path, format=cassette_format, preserve_exact_body_bytes=cassette_preserve_exact_body_bytes
1670
1675
  )
1671
1676
  )
1677
+ for custom_handler in CUSTOM_HANDLERS:
1678
+ handlers.append(custom_handler(*ctx.args, **ctx.params))
1672
1679
  handlers.append(get_output_handler(workers_num))
1673
1680
  if sanitize_output:
1674
1681
  handlers.insert(0, SanitizationHandler())
@@ -2000,6 +2007,20 @@ def decide_color_output(ctx: click.Context, no_color: bool, force_color: bool) -
2000
2007
  ctx.color = False
2001
2008
 
2002
2009
 
2010
+ def add_option(*args: Any, cls: Type = click.Option, **kwargs: Any) -> None:
2011
+ """Add a new CLI option to `st run`."""
2012
+ run.params.append(cls(args, **kwargs))
2013
+
2014
+
2015
+ def handler() -> Callable[[Type], None]:
2016
+ """Register a new CLI event handler."""
2017
+
2018
+ def _wrapper(cls: Type) -> None:
2019
+ CUSTOM_HANDLERS.append(cls)
2020
+
2021
+ return _wrapper
2022
+
2023
+
2003
2024
  @HookDispatcher.register_spec([HookScope.GLOBAL])
2004
2025
  def after_init_cli_run_handlers(
2005
2026
  context: HookContext, handlers: list[EventHandler], execution_context: ExecutionContext
@@ -60,7 +60,11 @@ class ExecutionContext:
60
60
  analysis: Result[AnalysisResult, Exception] | None = None
61
61
  output_config: OutputConfig = field(default_factory=OutputConfig)
62
62
  state_machine_sink: StateMachineSink | None = None
63
+ summary_lines: list[str] = field(default_factory=list)
63
64
 
64
65
  @deprecated_property(removed_in="4.0", replacement="show_trace")
65
66
  def show_errors_tracebacks(self) -> bool:
66
67
  return self.show_trace
68
+
69
+ def add_summary_line(self, line: str) -> None:
70
+ self.summary_lines.append(line)
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TYPE_CHECKING
3
+ from typing import TYPE_CHECKING, Any
4
4
 
5
5
  if TYPE_CHECKING:
6
6
  from ..runner import events
@@ -8,6 +8,9 @@ if TYPE_CHECKING:
8
8
 
9
9
 
10
10
  class EventHandler:
11
+ def __init__(self, *args: Any, **params: Any) -> None:
12
+ pass
13
+
11
14
  def handle_event(self, context: ExecutionContext, event: events.ExecutionEvent) -> None:
12
15
  raise NotImplementedError
13
16
 
@@ -850,6 +850,10 @@ def handle_finished(context: ExecutionContext, event: events.Finished) -> None:
850
850
  display_application_logs(context, event)
851
851
  display_analysis(context)
852
852
  display_statistic(context, event)
853
+ if context.summary_lines:
854
+ click.echo()
855
+ for line in context.summary_lines:
856
+ click.echo(line)
853
857
  click.echo()
854
858
  display_summary(event)
855
859
 
@@ -18,7 +18,7 @@ def uninstall() -> None:
18
18
 
19
19
  def before_add_examples(context: HookContext, examples: list[Case]) -> None:
20
20
  if not examples and context.operation is not None:
21
- from ..._hypothesis import add_single_example
21
+ from ...generation import add_single_example
22
22
 
23
23
  strategy = context.operation.as_strategy()
24
24
  add_single_example(strategy, examples)