schemathesis 3.22.1__tar.gz → 3.23.1__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 (520) hide show
  1. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/build.yml +2 -2
  2. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/codeql-analysis.yml +3 -3
  3. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/codspeed.yml +1 -1
  4. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/release.yml +1 -1
  5. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/scheduled.yml +7 -7
  6. {schemathesis-3.22.1 → schemathesis-3.23.1}/.pre-commit-config.yaml +4 -4
  7. {schemathesis-3.22.1 → schemathesis-3.23.1}/PKG-INFO +3 -2
  8. schemathesis-3.23.1/codecov.yml +7 -0
  9. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/changelog.rst +36 -1
  10. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/contrib.rst +26 -0
  11. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/extending.rst +9 -0
  12. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/faq.rst +8 -0
  13. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-app.txt +4 -4
  14. {schemathesis-3.22.1 → schemathesis-3.23.1}/pyproject.toml +3 -2
  15. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_hypothesis.py +6 -2
  16. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/__init__.py +30 -1
  17. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/callbacks.py +10 -0
  18. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/cassettes.py +5 -1
  19. schemathesis-3.23.1/src/schemathesis/contrib/openapi/__init__.py +11 -0
  20. schemathesis-3.23.1/src/schemathesis/contrib/openapi/fill_missing_examples.py +22 -0
  21. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/exceptions.py +5 -2
  22. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/models.py +3 -8
  23. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/__init__.py +3 -0
  24. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/core.py +8 -5
  25. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/solo.py +2 -0
  26. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/threadpool.py +2 -0
  27. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/schemas.py +1 -1
  28. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/examples.py +8 -1
  29. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/loaders.py +4 -1
  30. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/serialization.py +1 -1
  31. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/responses.py +0 -26
  32. schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +8 -0
  33. schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +8 -0
  34. schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +32 -0
  35. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +5 -0
  36. schemathesis-3.23.1/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +7 -0
  37. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_cassettes.py +14 -8
  38. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_commands.py +20 -0
  39. schemathesis-3.23.1/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +23 -0
  40. schemathesis-3.23.1/test/contrib/openapi/test_fill_missing_examples.py +9 -0
  41. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/hooks/test_hooks.py +2 -2
  42. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/runner/test_runner.py +1 -23
  43. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_examples.py +68 -1
  44. schemathesis-3.22.1/src/schemathesis/contrib/openapi/__init__.py +0 -9
  45. schemathesis-3.22.1/test/transports/test_responses.py +0 -21
  46. {schemathesis-3.22.1 → schemathesis-3.23.1}/.dockerignore +0 -0
  47. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/FUNDING.yml +0 -0
  48. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  49. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  50. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  51. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/dependabot.yml +0 -0
  52. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/commit.yml +0 -0
  53. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/example-build.yml +0 -0
  54. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/example-no-build.yml +0 -0
  55. {schemathesis-3.22.1 → schemathesis-3.23.1}/.github/workflows/master_update.yml +0 -0
  56. {schemathesis-3.22.1 → schemathesis-3.23.1}/.gitignore +0 -0
  57. {schemathesis-3.22.1 → schemathesis-3.23.1}/.gitmodules +0 -0
  58. {schemathesis-3.22.1 → schemathesis-3.23.1}/.readthedocs.yml +0 -0
  59. {schemathesis-3.22.1 → schemathesis-3.23.1}/.relint.yml +0 -0
  60. {schemathesis-3.22.1 → schemathesis-3.23.1}/.rstcheck.cfg +0 -0
  61. {schemathesis-3.22.1 → schemathesis-3.23.1}/.yamllint +0 -0
  62. {schemathesis-3.22.1 → schemathesis-3.23.1}/CITATION.cff +0 -0
  63. {schemathesis-3.22.1 → schemathesis-3.23.1}/CODE_OF_CONDUCT.md +0 -0
  64. {schemathesis-3.22.1 → schemathesis-3.23.1}/CONTRIBUTING.rst +0 -0
  65. {schemathesis-3.22.1 → schemathesis-3.23.1}/Dockerfile +0 -0
  66. {schemathesis-3.22.1 → schemathesis-3.23.1}/Dockerfile.bookworm +0 -0
  67. {schemathesis-3.22.1 → schemathesis-3.23.1}/LICENSE +0 -0
  68. {schemathesis-3.22.1 → schemathesis-3.23.1}/README.md +0 -0
  69. {schemathesis-3.22.1 → schemathesis-3.23.1}/benches/cli.py +0 -0
  70. {schemathesis-3.22.1 → schemathesis-3.23.1}/benches/references.py +0 -0
  71. {schemathesis-3.22.1 → schemathesis-3.23.1}/changelog.py +0 -0
  72. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/Makefile +0 -0
  73. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/additional-content.rst +0 -0
  74. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/api.rst +0 -0
  75. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/auth.rst +0 -0
  76. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/cli.rst +0 -0
  77. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/compatibility.rst +0 -0
  78. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/conf.py +0 -0
  79. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/continuous_integration.rst +0 -0
  80. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/data-generation.rst +0 -0
  81. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/examples.rst +0 -0
  82. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/experimental.rst +0 -0
  83. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/getting-started.rst +0 -0
  84. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/graphql.rst +0 -0
  85. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/index.rst +0 -0
  86. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/python.rst +0 -0
  87. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/recipes.rst +0 -0
  88. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/requirements.txt +0 -0
  89. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/sanitizing.rst +0 -0
  90. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/service.rst +0 -0
  91. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/stateful.rst +0 -0
  92. {schemathesis-3.22.1 → schemathesis-3.23.1}/docs/targeted.rst +0 -0
  93. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/Dockerfile +0 -0
  94. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/README.md +0 -0
  95. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/app.py +0 -0
  96. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/compose.yml +0 -0
  97. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/openapi.json +0 -0
  98. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-app.in +0 -0
  99. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-pytest.in +0 -0
  100. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/requirements-pytest.txt +0 -0
  101. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/__init__.py +0 -0
  102. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/conftest.py +0 -0
  103. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/extensions.py +0 -0
  104. {schemathesis-3.22.1 → schemathesis-3.23.1}/example/tests/test_app.py +0 -0
  105. {schemathesis-3.22.1 → schemathesis-3.23.1}/img/demo.gif +0 -0
  106. {schemathesis-3.22.1 → schemathesis-3.23.1}/img/service_github_report.png +0 -0
  107. {schemathesis-3.22.1 → schemathesis-3.23.1}/mypy.ini +0 -0
  108. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/__init__.py +0 -0
  109. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_compat.py +0 -0
  110. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_dependency_versions.py +0 -0
  111. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_lazy_import.py +0 -0
  112. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/_xml.py +0 -0
  113. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/auths.py +0 -0
  114. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/checks.py +0 -0
  115. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/constants.py +0 -0
  116. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/context.py +0 -0
  117. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/debug.py +0 -0
  118. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/handlers.py +0 -0
  119. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/junitxml.py +0 -0
  120. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/options.py +0 -0
  121. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/output/__init__.py +0 -0
  122. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/output/default.py +0 -0
  123. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/output/short.py +0 -0
  124. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/cli/sanitization.py +0 -0
  125. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/code_samples.py +0 -0
  126. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/constants.py +0 -0
  127. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/__init__.py +0 -0
  128. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  129. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  130. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/contrib/unique_data.py +0 -0
  131. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/experimental/__init__.py +0 -0
  132. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/__init__.py +0 -0
  133. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/_aiohttp.py +0 -0
  134. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/_flask.py +0 -0
  135. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/_server.py +0 -0
  136. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
  137. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/failures.py +0 -0
  138. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/filters.py +0 -0
  139. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/fixups/__init__.py +0 -0
  140. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/fixups/fast_api.py +0 -0
  141. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
  142. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/generation/__init__.py +0 -0
  143. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/graphql.py +0 -0
  144. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/hooks.py +0 -0
  145. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/__init__.py +0 -0
  146. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/copy.py +0 -0
  147. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/datetime.py +0 -0
  148. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/deprecation.py +0 -0
  149. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/jsonschema.py +0 -0
  150. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/result.py +0 -0
  151. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/transformation.py +0 -0
  152. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/internal/validation.py +0 -0
  153. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/lazy.py +0 -0
  154. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/loaders.py +0 -0
  155. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/parameters.py +0 -0
  156. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/py.typed +0 -0
  157. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/events.py +0 -0
  158. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/impl/__init__.py +0 -0
  159. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/runner/serialization.py +0 -0
  160. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/sanitization.py +0 -0
  161. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/serializers.py +0 -0
  162. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/__init__.py +0 -0
  163. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/auth.py +0 -0
  164. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/ci.py +0 -0
  165. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/client.py +0 -0
  166. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/constants.py +0 -0
  167. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/events.py +0 -0
  168. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/hosts.py +0 -0
  169. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/metadata.py +0 -0
  170. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/models.py +0 -0
  171. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/report.py +0 -0
  172. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/serialization.py +0 -0
  173. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/service/usage.py +0 -0
  174. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/__init__.py +0 -0
  175. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
  176. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
  177. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
  178. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
  179. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
  180. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
  181. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
  182. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/checks.py +0 -0
  183. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/constants.py +0 -0
  184. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/converter.py +0 -0
  185. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
  186. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  187. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  188. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  189. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  190. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  191. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  192. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/filters.py +0 -0
  193. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/formats.py +0 -0
  194. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/links.py +0 -0
  195. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  196. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  197. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  198. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  199. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
  200. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/references.py +0 -0
  201. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/schemas.py +0 -0
  202. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/security.py +0 -0
  203. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  204. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
  205. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/utils.py +0 -0
  206. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/specs/openapi/validation.py +0 -0
  207. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/stateful/__init__.py +0 -0
  208. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/stateful/state_machine.py +0 -0
  209. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/targets.py +0 -0
  210. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/throttling.py +0 -0
  211. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/__init__.py +0 -0
  212. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/auth.py +0 -0
  213. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/content_types.py +0 -0
  214. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/transports/headers.py +0 -0
  215. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/types.py +0 -0
  216. {schemathesis-3.22.1 → schemathesis-3.23.1}/src/schemathesis/utils.py +0 -0
  217. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__init__.py +0 -0
  218. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  219. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  220. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  221. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  222. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/__init__.py +0 -0
  223. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/__init__.py +0 -0
  224. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  225. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_fastapi/app.py +0 -0
  226. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_flask/__init__.py +0 -0
  227. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/_flask/app.py +0 -0
  228. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/_graphql/schema.py +0 -0
  229. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/__init__.py +0 -0
  230. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  231. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_aiohttp/app.py +0 -0
  232. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  233. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
  234. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_fastapi/app.py +0 -0
  235. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_flask/__init__.py +0 -0
  236. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/_flask/app.py +0 -0
  237. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/apps/openapi/schema.py +0 -0
  238. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__init__.py +0 -0
  239. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  240. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  241. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  242. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  243. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  244. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  245. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  246. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/conftest.py +0 -0
  247. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/test_cli.py +0 -0
  248. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/test_provider.py +0 -0
  249. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/auth/test_pytest.py +0 -0
  250. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__init__.py +0 -0
  251. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  252. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  253. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  254. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  255. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  256. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  257. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  258. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  259. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  260. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  261. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  262. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  263. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  264. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  265. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  266. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  267. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  268. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  269. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  270. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  271. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  272. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  273. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  274. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  275. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  276. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  277. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  278. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  279. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  280. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  281. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  282. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  283. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  284. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  285. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  286. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  287. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  288. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  289. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  290. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  291. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  292. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  293. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  294. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  295. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  296. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  297. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  298. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  299. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  300. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  301. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  302. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  303. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  304. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  305. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2-The provided definition doesn't match any of the expected formats or types.].raw +0 -0
  306. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw +0 -0
  307. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  308. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  309. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  310. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  311. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  312. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  313. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  314. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  315. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  316. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  317. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  318. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  319. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  320. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  321. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  322. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  323. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  324. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  325. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  326. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  327. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  328. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  329. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  330. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  331. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  332. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  333. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  334. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  335. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  336. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  337. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  338. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  339. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  340. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  341. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  342. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  343. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  344. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  345. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  346. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  347. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  348. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  349. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  350. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  351. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  352. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  353. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  354. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  355. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  356. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  357. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  358. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  359. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  360. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  361. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  362. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  363. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  364. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  365. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  366. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  367. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  368. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  369. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  370. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  371. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  372. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  373. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  374. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  375. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  376. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  377. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  378. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  379. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  380. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  381. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  382. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  383. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  384. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  385. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  386. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  387. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  388. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  389. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  390. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  391. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  392. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  393. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  394. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/cert.pem +0 -0
  395. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/conftest.py +0 -0
  396. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/output/__init__.py +0 -0
  397. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/output/test_default.py +0 -0
  398. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_asgi.py +0 -0
  399. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_callbacks.py +0 -0
  400. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_checks.py +0 -0
  401. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_crashes.py +0 -0
  402. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_hooks.py +0 -0
  403. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_junitxml.py +0 -0
  404. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_options.py +0 -0
  405. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/cli/test_targeted.py +0 -0
  406. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  407. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  408. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/conftest.py +0 -0
  409. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/test_curl.py +0 -0
  410. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/code_samples/test_python.py +0 -0
  411. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/conftest.py +0 -0
  412. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  413. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  414. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  415. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  416. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  417. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  418. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
  419. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/test_install.py +0 -0
  420. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/contrib/test_unique_data.py +0 -0
  421. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/petstore_v2.yaml +0 -0
  422. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/petstore_v3.yaml +0 -0
  423. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/simple_openapi.yaml +0 -0
  424. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/data/simple_swagger.yaml +0 -0
  425. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/experimental/conftest.py +0 -0
  426. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/experimental/test_experiments.py +0 -0
  427. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/experimental/test_openapi_3_1.py +0 -0
  428. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/extra/__init__.py +0 -0
  429. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/extra/test_aiohttp.py +0 -0
  430. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/filters/test_matching.py +0 -0
  431. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/hooks/test_filter_operations.py +0 -0
  432. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/conftest.py +0 -0
  433. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_app.py +0 -0
  434. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_common.py +0 -0
  435. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_graphql.py +0 -0
  436. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_openapi.py +0 -0
  437. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/loaders/test_yaml.py +0 -0
  438. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/runner/test_checks.py +0 -0
  439. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/runner/test_events.py +0 -0
  440. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__init__.py +0 -0
  441. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  442. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  443. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  444. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  445. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  446. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  447. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  448. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  449. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  450. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  451. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/conftest.py +0 -0
  452. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_auth.py +0 -0
  453. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_ci.py +0 -0
  454. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_cli.py +0 -0
  455. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_report.py +0 -0
  456. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_serialization.py +0 -0
  457. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/service/test_usage.py +0 -0
  458. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  459. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  460. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  461. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  462. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/test_basic.py +0 -0
  463. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/test_custom_scalars.py +0 -0
  464. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/graphql/test_pytest.py +0 -0
  465. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/conftest.py +0 -0
  466. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/parameters/test_forms.py +0 -0
  467. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  468. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  469. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_expressions.py +0 -0
  470. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_hypothesis.py +0 -0
  471. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_links.py +0 -0
  472. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_negative.py +0 -0
  473. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_parameters.py +0 -0
  474. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_schemas.py +0 -0
  475. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_security.py +0 -0
  476. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_serializing.py +0 -0
  477. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_stateful.py +0 -0
  478. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_utils.py +0 -0
  479. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/specs/openapi/test_validation.py +0 -0
  480. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_app.py +0 -0
  481. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_asgi.py +0 -0
  482. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_async.py +0 -0
  483. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_common_parameters.py +0 -0
  484. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_converter.py +0 -0
  485. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_dereferencing.py +0 -0
  486. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_direct_access.py +0 -0
  487. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_errors.py +0 -0
  488. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_examples.py +0 -0
  489. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_filters.py +0 -0
  490. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_fixups.py +0 -0
  491. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_hypothesis.py +0 -0
  492. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_internal.py +0 -0
  493. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_lazy.py +0 -0
  494. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_models.py +0 -0
  495. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_package.py +0 -0
  496. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_parameters.py +0 -0
  497. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_parametrization.py +0 -0
  498. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_petstore.py +0 -0
  499. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_pytest.py +0 -0
  500. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_rate_limit.py +0 -0
  501. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_recoverable_errors.py +0 -0
  502. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_required.py +0 -0
  503. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_sanitizing_output.py +0 -0
  504. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_schemas.py +0 -0
  505. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_serialization.py +0 -0
  506. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_stateful.py +0 -0
  507. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_unittest.py +0 -0
  508. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_utils.py +0 -0
  509. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/test_wsgi.py +0 -0
  510. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/transports/test_content_types.py +0 -0
  511. {schemathesis-3.22.1 → schemathesis-3.23.1}/test/utils.py +0 -0
  512. {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/flaky.json +0 -0
  513. {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/incompatible_enums.json +0 -0
  514. {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/incompatible_regex.json +0 -0
  515. {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/incomplete_azure.json +0 -0
  516. {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/invalid_path_parameters.json +0 -0
  517. {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/recursive_references.json +0 -0
  518. {schemathesis-3.22.1 → schemathesis-3.23.1}/test-corpus/test_corpus.py +0 -0
  519. {schemathesis-3.22.1 → schemathesis-3.23.1}/test_server.sh +0 -0
  520. {schemathesis-3.22.1 → schemathesis-3.23.1}/tox.ini +0 -0
@@ -30,7 +30,7 @@ jobs:
30
30
  with:
31
31
  fetch-depth: 1
32
32
 
33
- - uses: actions/setup-python@v4
33
+ - uses: actions/setup-python@v5
34
34
  with:
35
35
  python-version: 3.9
36
36
 
@@ -70,7 +70,7 @@ jobs:
70
70
  with:
71
71
  fetch-depth: 1
72
72
 
73
- - uses: actions/setup-python@v4
73
+ - uses: actions/setup-python@v5
74
74
  with:
75
75
  python-version: ${{ matrix.python }}
76
76
 
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  # Initializes the CodeQL tools for scanning.
40
40
  - name: Initialize CodeQL
41
- uses: github/codeql-action/init@v2.22.8
41
+ uses: github/codeql-action/init@v3.22.12
42
42
  with:
43
43
  languages: ${{ matrix.language }}
44
44
  # If you wish to specify custom queries, you can do so here or in a config file.
@@ -49,7 +49,7 @@ jobs:
49
49
  # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
50
50
  # If this step fails, then you should remove it and run the build manually (see below)
51
51
  - name: Autobuild
52
- uses: github/codeql-action/autobuild@v2.22.8
52
+ uses: github/codeql-action/autobuild@v3.22.12
53
53
 
54
54
  # ℹ️ Command-line programs to run using the OS shell.
55
55
  # 📚 https://git.io/JvXDl
@@ -63,4 +63,4 @@ jobs:
63
63
  # make release
64
64
 
65
65
  - name: Perform CodeQL Analysis
66
- uses: github/codeql-action/analyze@v2.22.8
66
+ uses: github/codeql-action/analyze@v3.22.12
@@ -12,7 +12,7 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
14
  - uses: actions/checkout@v4.1.1
15
- - uses: actions/setup-python@v4
15
+ - uses: actions/setup-python@v5
16
16
  with:
17
17
  # Python 3.12 for flamegraph support
18
18
  python-version: "3.12"
@@ -72,7 +72,7 @@ jobs:
72
72
  with:
73
73
  fetch-depth: 1
74
74
 
75
- - uses: actions/setup-python@v4
75
+ - uses: actions/setup-python@v5
76
76
  with:
77
77
  python-version: "3.10"
78
78
 
@@ -15,7 +15,7 @@ jobs:
15
15
  with:
16
16
  fetch-depth: 1
17
17
 
18
- - uses: actions/setup-python@v4
18
+ - uses: actions/setup-python@v5
19
19
  with:
20
20
  python-version: "3.11"
21
21
 
@@ -48,7 +48,7 @@ jobs:
48
48
  with:
49
49
  fetch-depth: 1
50
50
 
51
- - uses: actions/setup-python@v4
51
+ - uses: actions/setup-python@v5
52
52
  with:
53
53
  python-version: "3.11"
54
54
 
@@ -64,7 +64,7 @@ jobs:
64
64
  fetch-depth: 1
65
65
  submodules: true
66
66
 
67
- - uses: actions/setup-python@v4
67
+ - uses: actions/setup-python@v5
68
68
  with:
69
69
  python-version: "3.11"
70
70
 
@@ -81,7 +81,7 @@ jobs:
81
81
  fetch-depth: 1
82
82
  submodules: true
83
83
 
84
- - uses: actions/setup-python@v4
84
+ - uses: actions/setup-python@v5
85
85
  with:
86
86
  python-version: "3.11"
87
87
 
@@ -99,7 +99,7 @@ jobs:
99
99
  fetch-depth: 1
100
100
  submodules: true
101
101
 
102
- - uses: actions/setup-python@v4
102
+ - uses: actions/setup-python@v5
103
103
  with:
104
104
  python-version: "3.11"
105
105
 
@@ -116,7 +116,7 @@ jobs:
116
116
  fetch-depth: 1
117
117
  submodules: true
118
118
 
119
- - uses: actions/setup-python@v4
119
+ - uses: actions/setup-python@v5
120
120
  with:
121
121
  python-version: "3.11"
122
122
 
@@ -133,7 +133,7 @@ jobs:
133
133
  fetch-depth: 1
134
134
  submodules: true
135
135
 
136
- - uses: actions/setup-python@v4
136
+ - uses: actions/setup-python@v5
137
137
  with:
138
138
  python-version: "3.11"
139
139
 
@@ -15,7 +15,7 @@ repos:
15
15
  - id: check-merge-conflict
16
16
 
17
17
  - repo: https://github.com/pre-commit/mirrors-prettier
18
- rev: v3.1.0
18
+ rev: v4.0.0-alpha.3-1
19
19
  hooks:
20
20
  - id: prettier
21
21
 
@@ -35,7 +35,7 @@ repos:
35
35
  - id: relint
36
36
 
37
37
  - repo: https://github.com/pre-commit/mirrors-mypy
38
- rev: v1.7.1
38
+ rev: v1.8.0
39
39
  hooks:
40
40
  - id: mypy
41
41
  exclude: ^(docs/|test/|test-corpus/|example/|benches/).*$
@@ -43,12 +43,12 @@ repos:
43
43
  additional_dependencies: [types-click, types-requests, types-PyYAML]
44
44
 
45
45
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
- rev: v0.1.6
46
+ rev: v0.1.9
47
47
  hooks:
48
48
  - id: ruff-format
49
49
 
50
50
  - repo: https://github.com/astral-sh/ruff-pre-commit
51
- rev: v0.1.6
51
+ rev: v0.1.9
52
52
  hooks:
53
53
  - id: ruff
54
54
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: schemathesis
3
- Version: 3.22.1
3
+ Version: 3.23.1
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
@@ -28,6 +28,7 @@ Classifier: Programming Language :: Python :: 3.12
28
28
  Classifier: Programming Language :: Python :: Implementation :: CPython
29
29
  Classifier: Topic :: Software Development :: Testing
30
30
  Requires-Python: >=3.8
31
+ Requires-Dist: anyio<4
31
32
  Requires-Dist: backoff<3.0,>=2.1.2
32
33
  Requires-Dist: click<9.0,>=7.0
33
34
  Requires-Dist: colorama<1.0,>=0.4
@@ -42,7 +43,7 @@ Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
42
43
  Requires-Dist: pytest<8,>=4.6.4
43
44
  Requires-Dist: pyyaml<7.0,>=5.1
44
45
  Requires-Dist: requests<3,>=2.22
45
- Requires-Dist: starlette-testclient==0.2.0
46
+ Requires-Dist: starlette-testclient<1
46
47
  Requires-Dist: starlette<1,>=0.13
47
48
  Requires-Dist: tomli-w<2.0,>=1.0.0
48
49
  Requires-Dist: tomli<3.0,>=2.0.1
@@ -0,0 +1,7 @@
1
+ coverage:
2
+ status:
3
+ project:
4
+ default:
5
+ target: auto
6
+ # Allow a small drop to avoid spurious failures
7
+ threshold: 0.25%
@@ -1,9 +1,44 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.22.1...HEAD>` - TBD
4
+ :version:`Unreleased <v3.23.1...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.23.1:
8
+
9
+ :version:`3.23.1 <v3.23.0...v3.23.1>` - 2024-01-14
10
+ --------------------------------------------------
11
+
12
+ **Changed**
13
+
14
+ - Do not auto-detect spec if the ``--force-schema-version`` CLI option is present.
15
+ - Do not assume GraphQL when trying to auto-detect spec in an empty input file.
16
+
17
+ **Fixed**
18
+
19
+ - Internal error when the schema file is empty.
20
+
21
+ .. _v3.23.0:
22
+
23
+ :version:`3.23.0 <v3.22.1...v3.23.0>` - 2023-12-29
24
+ --------------------------------------------------
25
+
26
+ **Added**
27
+
28
+ - New CLI option ``--contrib-openapi-fill-missing-examples`` to automatically generate random examples for API operations that lack explicit examples. :issue:`1728`, :issue:`1376`
29
+ - New CLI option ``--request-proxy`` to set HTTP(s) proxies for network calls. :issue:`1723`
30
+
31
+ **Changed**
32
+
33
+ - Validate ``--generation-codec`` values in CLI.
34
+ - Do not deepcopy responses before passing to checks. They are not supposed to be mutated inside checks.
35
+ - Pin ``anyio`` to ``<4`` due to incompatibility with ``starlette-testclient``.
36
+
37
+ **Fixed**
38
+
39
+ - Internal error when the configured proxy is not available.
40
+ - Not using ``examples` from shared ``parameters``. :issue:`1729`, :issue:`1513`
41
+
7
42
  .. _v3.22.1:
8
43
 
9
44
  :version:`3.22.1 <v3.22.0...v3.22.1>` - 2023-12-04
@@ -33,6 +33,32 @@ Uniqueness is determined by the following parts of the generated data:
33
33
  - ``query``
34
34
  - ``body``
35
35
 
36
+ Fill missing examples
37
+ ~~~~~~~~~~~~~~~~~~~~~
38
+
39
+ The ``--contrib-openapi-fill-missing-examples`` option complements ``--hypothesis-phases=explicit`` by generating a random example for operations that lack explicit examples in the schema.
40
+
41
+ In CLI:
42
+
43
+ .. code:: text
44
+
45
+ $ st run --contrib-openapi-fill-missing-examples --hypothesis-phases=explicit \
46
+ https://example.schemathesis.io/openapi.json
47
+
48
+ In Python tests:
49
+
50
+ .. code:: python
51
+
52
+ from schemathesis.contrib.openapi import fill_missing_examples
53
+
54
+ fill_missing_examples.install()
55
+
56
+ This feature ensures that all operations, even those without specified examples, are tested when running with ``--hypothesis-phases=explicit``.
57
+
58
+ .. note::
59
+
60
+ This option is designed for users transitioning from Dredd to Schemathesis.
61
+
36
62
  UUID data for ``format: uuid`` in Open API
37
63
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38
64
 
@@ -332,6 +332,7 @@ Then, with this hook, you can query the database for some existing order and set
332
332
  database = ... # Init the DB
333
333
 
334
334
 
335
+ @schemathesis.hook
335
336
  def before_process_path(
336
337
  context: schemathesis.hooks.HookContext, path: str, methods: Dict[str, Any]
337
338
  ) -> None:
@@ -350,6 +351,7 @@ Called just before schema instance is created. Takes a raw schema representation
350
351
  from typing import Any, Dict
351
352
 
352
353
 
354
+ @schemathesis.hook
353
355
  def before_load_schema(
354
356
  context: schemathesis.hooks.HookContext,
355
357
  raw_schema: Dict[str, Any],
@@ -370,6 +372,7 @@ Called just after schema instance is created. Takes a loaded schema:
370
372
  import schemathesis
371
373
 
372
374
 
375
+ @schemathesis.hook
373
376
  def after_load_schema(
374
377
  context: schemathesis.hooks.HookContext,
375
378
  schema: schemathesis.schemas.BaseSchema,
@@ -389,6 +392,7 @@ Allows you to modify just initialized API operation:
389
392
  from schemathesis.models import APIOperation
390
393
 
391
394
 
395
+ @schemathesis.hook
392
396
  def before_init_operation(
393
397
  context: schemathesis.hooks.HookContext, operation: APIOperation
394
398
  ) -> None:
@@ -407,6 +411,7 @@ With this hook, you can add additional test cases that will be executed in Hypot
407
411
  from typing import List
408
412
 
409
413
 
414
+ @schemathesis.hook
410
415
  def before_add_examples(
411
416
  context: schemathesis.hooks.HookContext,
412
417
  examples: List[Case],
@@ -458,10 +463,12 @@ behavior in the API by changing the duplicate request's specific details.
458
463
 
459
464
  .. code:: python
460
465
 
466
+ import schemathesis
461
467
  from schemathesis import Case, GenericResponse, hooks
462
468
  from typing import Optional
463
469
 
464
470
 
471
+ @schemathesis.hook
465
472
  def add_case(
466
473
  context: hooks.HookContext, case: Case, response: GenericResponse
467
474
  ) -> Optional[Case]:
@@ -475,10 +482,12 @@ an additional test case if the original case received a successful response from
475
482
 
476
483
  .. code:: python
477
484
 
485
+ import schemathesis
478
486
  from schemathesis import Case, GenericResponse, hooks
479
487
  from typing import Optional
480
488
 
481
489
 
490
+ @schemathesis.hook
482
491
  def add_case(
483
492
  context: hooks.HookContext, case: Case, response: GenericResponse
484
493
  ) -> Optional[Case]:
@@ -50,6 +50,14 @@ Dredd works more in a way that requires you to write some sort of example-based
50
50
  There are a lot of features that Dredd has are Schemathesis has not (e.g., API Blueprint support, that powerful hook system, and many more) and probably vice versa.
51
51
  Definitely, Schemathesis can learn a lot from Dredd and if you miss any feature that exists in Dredd but doesn't exist in Schemathesis, let us know.
52
52
 
53
+ Why are no examples generated in Schemathesis when using ``--hypothesis-phase=explicit``?
54
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
+
56
+ The ``--hypothesis-phase=explicit`` option is designed to test only the examples that are explicitly defined in the API schema.
57
+ It avoids generating new examples to maintain predictability and adhere strictly to the documented API behavior.
58
+
59
+ If you need random examples for API operations without explicit examples, consider using the ``--contrib-openapi-fill-missing-examples`` CLI option.
60
+
53
61
  How should I run Schemathesis?
54
62
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
63
 
@@ -10,15 +10,15 @@ click==8.1.7
10
10
  # via flask
11
11
  flask==3.0.0
12
12
  # via
13
- # -r requirements.in
13
+ # -r requirements-app.in
14
14
  # flask-sqlalchemy
15
15
  flask-sqlalchemy==3.0.5
16
- # via -r requirements.in
16
+ # via -r requirements-app.in
17
17
  greenlet==3.0.1
18
18
  # via sqlalchemy
19
19
  itsdangerous==2.1.2
20
20
  # via flask
21
- jinja2==3.1.2
21
+ jinja2==3.1.3
22
22
  # via flask
23
23
  markupsafe==2.1.3
24
24
  # via
@@ -26,7 +26,7 @@ markupsafe==2.1.3
26
26
  # werkzeug
27
27
  sqlalchemy==1.4.50
28
28
  # via
29
- # -r requirements.in
29
+ # -r requirements-app.in
30
30
  # flask-sqlalchemy
31
31
  werkzeug==3.0.1
32
32
  # via flask
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.22.1"
7
+ version = "3.23.1"
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 = "dadygalo@gmail.com" }]
@@ -31,6 +31,7 @@ classifiers = [
31
31
  "Topic :: Software Development :: Testing",
32
32
  ]
33
33
  dependencies = [
34
+ "anyio<4",
34
35
  "backoff>=2.1.2,<3.0",
35
36
  "click>=7.0,<9.0",
36
37
  "colorama>=0.4,<1.0",
@@ -46,7 +47,7 @@ dependencies = [
46
47
  "PyYAML>=5.1,<7.0",
47
48
  "requests>=2.22,<3",
48
49
  "starlette>=0.13,<1",
49
- "starlette-testclient==0.2.0",
50
+ "starlette-testclient<1",
50
51
  "tomli-w>=1.0.0,<2.0",
51
52
  "tomli>=2.0.1,<3.0",
52
53
  "werkzeug>=0.16.0,<4",
@@ -134,6 +134,12 @@ def add_examples(test: Callable, operation: APIOperation, hook_dispatcher: HookD
134
134
 
135
135
 
136
136
  def get_single_example(strategy: st.SearchStrategy[Case]) -> Case:
137
+ examples: list[Case] = []
138
+ add_single_example(strategy, examples)
139
+ return examples[0]
140
+
141
+
142
+ def add_single_example(strategy: st.SearchStrategy[Case], examples: list[Case]) -> None:
137
143
  @hypothesis.given(strategy) # type: ignore
138
144
  @hypothesis.settings( # type: ignore
139
145
  database=None,
@@ -146,6 +152,4 @@ def get_single_example(strategy: st.SearchStrategy[Case]) -> Case:
146
152
  def example_generating_inner_function(ex: Case) -> None:
147
153
  examples.append(ex)
148
154
 
149
- examples: list[Case] = []
150
155
  example_generating_inner_function()
151
- return examples[0]
@@ -165,6 +165,11 @@ class GroupedOption(click.Option):
165
165
  self.group = group
166
166
 
167
167
 
168
+ with_request_proxy = click.option(
169
+ "--request-proxy",
170
+ help="Set the proxy for all network requests.",
171
+ type=str,
172
+ )
168
173
  with_request_tls_verify = click.option(
169
174
  "--request-tls-verify",
170
175
  help="Configures TLS certificate verification for server requests. Can specify path to CA_BUNDLE for custom certs.",
@@ -398,6 +403,7 @@ REPORT_TO_SERVICE = ReportToService()
398
403
  type=click.IntRange(1),
399
404
  default=DEFAULT_RESPONSE_TIMEOUT,
400
405
  )
406
+ @with_request_proxy
401
407
  @with_request_tls_verify
402
408
  @with_request_cert
403
409
  @with_request_cert_key
@@ -542,6 +548,14 @@ The report data, consisting of a tar gz file with multiple JSON files, is subjec
542
548
  default=False,
543
549
  show_default=True,
544
550
  )
551
+ @click.option(
552
+ "--contrib-openapi-fill-missing-examples",
553
+ "contrib_openapi_fill_missing_examples",
554
+ help="Enables generation of random examples for API operations that do not have explicit examples defined.",
555
+ is_flag=True,
556
+ default=False,
557
+ show_default=True,
558
+ )
545
559
  @click.option(
546
560
  "--hypothesis-database",
547
561
  help="Configures storage for examples discovered by Hypothesis. "
@@ -637,6 +651,7 @@ The report data, consisting of a tar gz file with multiple JSON files, is subjec
637
651
  help="Specifies the codec used for generating strings.",
638
652
  type=str,
639
653
  default="utf-8",
654
+ callback=callbacks.validate_generation_codec,
640
655
  )
641
656
  @click.option(
642
657
  "--schemathesis-io-token",
@@ -690,6 +705,7 @@ def run(
690
705
  request_tls_verify: bool = True,
691
706
  request_cert: str | None = None,
692
707
  request_cert_key: str | None = None,
708
+ request_proxy: str | None = None,
693
709
  validate_schema: bool = True,
694
710
  skip_deprecated_operations: bool = False,
695
711
  junit_xml: click.utils.LazyFile | None = None,
@@ -709,6 +725,7 @@ def run(
709
725
  sanitize_output: bool = True,
710
726
  contrib_unique_data: bool = False,
711
727
  contrib_openapi_formats_uuid: bool = False,
728
+ contrib_openapi_fill_missing_examples: bool = False,
712
729
  hypothesis_database: str | None = None,
713
730
  hypothesis_deadline: int | NotSet | None = None,
714
731
  hypothesis_derandomize: bool | None = None,
@@ -842,6 +859,8 @@ def run(
842
859
  contrib.unique_data.install()
843
860
  if contrib_openapi_formats_uuid:
844
861
  contrib.openapi.formats.uuid.install()
862
+ if contrib_openapi_fill_missing_examples:
863
+ contrib.openapi.fill_missing_examples.install()
845
864
 
846
865
  hypothesis_settings = prepare_hypothesis_settings(
847
866
  database=hypothesis_database,
@@ -863,6 +882,7 @@ def run(
863
882
  data_generation_methods=data_generation_methods,
864
883
  force_schema_version=force_schema_version,
865
884
  request_tls_verify=request_tls_verify,
885
+ request_proxy=request_proxy,
866
886
  request_cert=prepare_request_cert(request_cert, request_cert_key),
867
887
  wait_for_schema=wait_for_schema,
868
888
  auth=auth,
@@ -936,6 +956,7 @@ class LoaderConfig:
936
956
  data_generation_methods: tuple[DataGenerationMethod, ...]
937
957
  force_schema_version: str | None
938
958
  request_tls_verify: bool | str
959
+ request_proxy: str | None
939
960
  request_cert: RequestCert | None
940
961
  wait_for_schema: float | None
941
962
  rate_limit: str | None
@@ -961,6 +982,7 @@ def into_event_stream(
961
982
  data_generation_methods: tuple[DataGenerationMethod, ...],
962
983
  force_schema_version: str | None,
963
984
  request_tls_verify: bool | str,
985
+ request_proxy: str | None,
964
986
  request_cert: RequestCert | None,
965
987
  # Network request parameters
966
988
  auth: tuple[str, str] | None,
@@ -1000,6 +1022,7 @@ def into_event_stream(
1000
1022
  skip_deprecated_operations=skip_deprecated_operations,
1001
1023
  data_generation_methods=data_generation_methods,
1002
1024
  force_schema_version=force_schema_version,
1025
+ request_proxy=request_proxy,
1003
1026
  request_tls_verify=request_tls_verify,
1004
1027
  request_cert=request_cert,
1005
1028
  wait_for_schema=wait_for_schema,
@@ -1020,6 +1043,7 @@ def into_event_stream(
1020
1043
  headers=headers,
1021
1044
  request_timeout=request_timeout,
1022
1045
  request_tls_verify=request_tls_verify,
1046
+ request_proxy=request_proxy,
1023
1047
  request_cert=request_cert,
1024
1048
  seed=seed,
1025
1049
  exit_first=exit_first,
@@ -1073,7 +1097,7 @@ def _try_load_schema(config: LoaderConfig, first: Loader, second: Loader) -> Bas
1073
1097
  try:
1074
1098
  return first(config)
1075
1099
  except SchemaError as exc:
1076
- if should_try_more(exc):
1100
+ if config.force_schema_version is None and should_try_more(exc):
1077
1101
  try:
1078
1102
  return second(config)
1079
1103
  except Exception as second_exc:
@@ -1088,6 +1112,8 @@ def is_specific_exception(loader: Loader, exc: Exception) -> bool:
1088
1112
  loader is _load_graphql_schema
1089
1113
  and isinstance(exc, SchemaError)
1090
1114
  and exc.type == SchemaErrorType.GRAPHQL_INVALID_SCHEMA
1115
+ # In some cases it is not clear that the schema is even supposed to be GraphQL, e.g. an empty input
1116
+ and "Syntax Error: Unexpected <EOF>." not in exc.extras
1091
1117
  )
1092
1118
 
1093
1119
 
@@ -1417,6 +1443,7 @@ def get_exit_code(event: events.ExecutionEvent) -> int:
1417
1443
  @click.option("--force-color", help="Explicitly tells to enable ANSI color escape codes.", type=bool, is_flag=True)
1418
1444
  @click.option("--verbosity", "-v", help="Increase verbosity of the output.", count=True)
1419
1445
  @with_request_tls_verify
1446
+ @with_request_proxy
1420
1447
  @with_request_cert
1421
1448
  @with_request_cert_key
1422
1449
  @click.pass_context
@@ -1432,6 +1459,7 @@ def replay(
1432
1459
  request_tls_verify: bool = True,
1433
1460
  request_cert: str | None = None,
1434
1461
  request_cert_key: str | None = None,
1462
+ request_proxy: str | None = None,
1435
1463
  force_color: bool = False,
1436
1464
  ) -> None:
1437
1465
  """Replay a cassette.
@@ -1455,6 +1483,7 @@ def replay(
1455
1483
  method=method,
1456
1484
  request_tls_verify=request_tls_verify,
1457
1485
  request_cert=prepare_request_cert(request_cert, request_cert_key),
1486
+ request_proxy=request_proxy,
1458
1487
  ):
1459
1488
  click.secho(f" {bold('ID')} : {replayed.interaction['id']}")
1460
1489
  click.secho(f" {bold('URI')} : {replayed.interaction['request']['uri']}")
@@ -1,4 +1,6 @@
1
1
  from __future__ import annotations
2
+
3
+ import codecs
2
4
  import enum
3
5
  import os
4
6
  import re
@@ -137,6 +139,14 @@ def validate_base_url(ctx: click.core.Context, param: click.core.Parameter, raw_
137
139
  return raw_value
138
140
 
139
141
 
142
+ def validate_generation_codec(ctx: click.core.Context, param: click.core.Parameter, raw_value: str) -> str:
143
+ try:
144
+ codecs.getencoder(raw_value)
145
+ except LookupError as exc:
146
+ raise click.UsageError(f"Codec `{raw_value}` is unknown") from exc
147
+ return raw_value
148
+
149
+
140
150
  def validate_rate_limit(ctx: click.core.Context, param: click.core.Parameter, raw_value: str | None) -> str | None:
141
151
  if raw_value is None:
142
152
  return raw_value
@@ -290,6 +290,7 @@ def replay(
290
290
  method: str | None = None,
291
291
  request_tls_verify: bool = True,
292
292
  request_cert: RequestCert | None = None,
293
+ request_proxy: str | None = None,
293
294
  ) -> Generator[Replayed, None, None]:
294
295
  """Replay saved interactions."""
295
296
  import requests
@@ -297,9 +298,12 @@ def replay(
297
298
  session = requests.Session()
298
299
  session.verify = request_tls_verify
299
300
  session.cert = request_cert
301
+ kwargs = {}
302
+ if request_proxy is not None:
303
+ kwargs["proxies"] = {"all": request_proxy}
300
304
  for interaction in filter_cassette(cassette["http_interactions"], id_, status, uri, method):
301
305
  request = get_prepared_request(interaction["request"])
302
- response = session.send(request) # type: ignore
306
+ response = session.send(request, **kwargs) # type: ignore
303
307
  yield Replayed(interaction, response)
304
308
 
305
309
 
@@ -0,0 +1,11 @@
1
+ from . import formats, fill_missing_examples
2
+
3
+
4
+ def install() -> None:
5
+ formats.install()
6
+ fill_missing_examples.install()
7
+
8
+
9
+ def uninstall() -> None:
10
+ formats.uninstall()
11
+ fill_missing_examples.uninstall()
@@ -0,0 +1,22 @@
1
+ from __future__ import annotations
2
+ from typing import TYPE_CHECKING
3
+ from ...hooks import HookContext, register, unregister
4
+
5
+ if TYPE_CHECKING:
6
+ from ...models import Case
7
+
8
+
9
+ def install() -> None:
10
+ register(before_add_examples)
11
+
12
+
13
+ def uninstall() -> None:
14
+ unregister(before_add_examples)
15
+
16
+
17
+ def before_add_examples(context: HookContext, examples: list[Case]) -> None:
18
+ if not examples and context.operation is not None:
19
+ from ..._hypothesis import add_single_example
20
+
21
+ strategy = context.operation.as_strategy()
22
+ add_single_example(strategy, examples)
@@ -51,7 +51,7 @@ def make_unique_by_key(
51
51
 
52
52
 
53
53
  def deduplicate_failed_checks(
54
- checks: list[CheckFailed | AssertionError]
54
+ checks: list[CheckFailed | AssertionError],
55
55
  ) -> Generator[CheckFailed | AssertionError, None, None]:
56
56
  """Keep only unique failed checks."""
57
57
  seen = set()
@@ -462,7 +462,10 @@ def extract_requests_exception_details(exc: RequestException) -> tuple[str, list
462
462
  message = "Connection failed"
463
463
  inner = exc.args[0]
464
464
  if isinstance(inner, MaxRetryError) and inner.reason is not None:
465
- _, reason = inner.reason.args[0].split(":", maxsplit=1)
465
+ if ":" not in inner.reason.args[0]:
466
+ reason = inner.reason.args[0]
467
+ else:
468
+ _, reason = inner.reason.args[0].split(":", maxsplit=1)
466
469
  extra = [reason.strip()]
467
470
  else:
468
471
  extra = [" ".join(map(str, inner.args))]