schemathesis 3.26.0__tar.gz → 3.26.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/build.yml +1 -1
  2. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/codeql-analysis.yml +3 -3
  3. {schemathesis-3.26.0 → schemathesis-3.26.2}/.pre-commit-config.yaml +3 -3
  4. {schemathesis-3.26.0 → schemathesis-3.26.2}/PKG-INFO +2 -2
  5. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/changelog.rst +27 -1
  6. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/extending.rst +7 -1
  7. {schemathesis-3.26.0 → schemathesis-3.26.2}/pyproject.toml +3 -2
  8. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_dependency_versions.py +3 -0
  9. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_hypothesis.py +10 -1
  10. schemathesis-3.26.2/src/schemathesis/_rate_limiter.py +6 -0
  11. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/models.py +3 -0
  12. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/serialization.py +2 -0
  13. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/schemas.py +5 -1
  14. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/serialization.py +2 -0
  15. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/schemas.py +4 -0
  16. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/_hypothesis.py +6 -1
  17. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/schemas.py +1 -0
  18. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/throttling.py +2 -2
  19. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/output/test_default.py +22 -6
  20. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_commands.py +2 -2
  21. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/test_curl.py +7 -3
  22. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/conftest.py +1 -1
  23. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/hooks/test_hooks.py +2 -0
  24. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_checks.py +3 -3
  25. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_expressions.py +1 -0
  26. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_links.py +1 -1
  27. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_asgi.py +1 -1
  28. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_direct_access.py +5 -1
  29. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_hypothesis.py +6 -1
  30. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_lazy.py +23 -10
  31. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_models.py +8 -4
  32. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_rate_limit.py +13 -5
  33. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_wsgi.py +1 -1
  34. {schemathesis-3.26.0 → schemathesis-3.26.2}/.dockerignore +0 -0
  35. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/FUNDING.yml +0 -0
  36. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  37. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  38. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  39. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/dependabot.yml +0 -0
  40. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/codspeed.yml +0 -0
  41. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/commit.yml +0 -0
  42. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/example-build.yml +0 -0
  43. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/example-no-build.yml +0 -0
  44. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/master_update.yml +0 -0
  45. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/release.yml +0 -0
  46. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/test-corpus.yml +0 -0
  47. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/test-hypothesis.yml +0 -0
  48. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/update-corpus.yml +0 -0
  49. {schemathesis-3.26.0 → schemathesis-3.26.2}/.github/workflows/update-pre-commit.yml +0 -0
  50. {schemathesis-3.26.0 → schemathesis-3.26.2}/.gitignore +0 -0
  51. {schemathesis-3.26.0 → schemathesis-3.26.2}/.gitmodules +0 -0
  52. {schemathesis-3.26.0 → schemathesis-3.26.2}/.readthedocs.yml +0 -0
  53. {schemathesis-3.26.0 → schemathesis-3.26.2}/.relint.yml +0 -0
  54. {schemathesis-3.26.0 → schemathesis-3.26.2}/.rstcheck.cfg +0 -0
  55. {schemathesis-3.26.0 → schemathesis-3.26.2}/.yamllint +0 -0
  56. {schemathesis-3.26.0 → schemathesis-3.26.2}/CITATION.cff +0 -0
  57. {schemathesis-3.26.0 → schemathesis-3.26.2}/CODE_OF_CONDUCT.md +0 -0
  58. {schemathesis-3.26.0 → schemathesis-3.26.2}/CONTRIBUTING.rst +0 -0
  59. {schemathesis-3.26.0 → schemathesis-3.26.2}/Dockerfile +0 -0
  60. {schemathesis-3.26.0 → schemathesis-3.26.2}/Dockerfile.bookworm +0 -0
  61. {schemathesis-3.26.0 → schemathesis-3.26.2}/LICENSE +0 -0
  62. {schemathesis-3.26.0 → schemathesis-3.26.2}/README.md +0 -0
  63. {schemathesis-3.26.0 → schemathesis-3.26.2}/benches/cli.py +0 -0
  64. {schemathesis-3.26.0 → schemathesis-3.26.2}/benches/references.py +0 -0
  65. {schemathesis-3.26.0 → schemathesis-3.26.2}/changelog.py +0 -0
  66. {schemathesis-3.26.0 → schemathesis-3.26.2}/codecov.yml +0 -0
  67. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/Makefile +0 -0
  68. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/additional-content.rst +0 -0
  69. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/api.rst +0 -0
  70. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/auth.rst +0 -0
  71. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/cli.rst +0 -0
  72. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/compatibility.rst +0 -0
  73. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/conf.py +0 -0
  74. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/continuous_integration.rst +0 -0
  75. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/contrib.rst +0 -0
  76. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/data-generation.rst +0 -0
  77. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/examples.rst +0 -0
  78. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/experimental.rst +0 -0
  79. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/faq.rst +0 -0
  80. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/getting-started.rst +0 -0
  81. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/graphql.rst +0 -0
  82. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/index.rst +0 -0
  83. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/python.rst +0 -0
  84. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/recipes.rst +0 -0
  85. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/requirements.txt +0 -0
  86. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/sanitizing.rst +0 -0
  87. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/service.rst +0 -0
  88. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/stateful.rst +0 -0
  89. {schemathesis-3.26.0 → schemathesis-3.26.2}/docs/targeted.rst +0 -0
  90. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/Dockerfile +0 -0
  91. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/README.md +0 -0
  92. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/app.py +0 -0
  93. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/compose.yml +0 -0
  94. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/openapi.json +0 -0
  95. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-app.in +0 -0
  96. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-app.txt +0 -0
  97. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-pytest.in +0 -0
  98. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/requirements-pytest.txt +0 -0
  99. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/__init__.py +0 -0
  100. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/conftest.py +0 -0
  101. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/extensions.py +0 -0
  102. {schemathesis-3.26.0 → schemathesis-3.26.2}/example/tests/test_app.py +0 -0
  103. {schemathesis-3.26.0 → schemathesis-3.26.2}/img/demo.gif +0 -0
  104. {schemathesis-3.26.0 → schemathesis-3.26.2}/img/service_github_report.png +0 -0
  105. {schemathesis-3.26.0 → schemathesis-3.26.2}/mypy.ini +0 -0
  106. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/__init__.py +0 -0
  107. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_compat.py +0 -0
  108. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_lazy_import.py +0 -0
  109. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_override.py +0 -0
  110. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/_xml.py +0 -0
  111. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/auths.py +0 -0
  112. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/checks.py +0 -0
  113. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/__init__.py +0 -0
  114. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/callbacks.py +0 -0
  115. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/cassettes.py +0 -0
  116. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/constants.py +0 -0
  117. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/context.py +0 -0
  118. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/debug.py +0 -0
  119. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/handlers.py +0 -0
  120. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/junitxml.py +0 -0
  121. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/options.py +0 -0
  122. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/output/__init__.py +0 -0
  123. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/output/default.py +0 -0
  124. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/output/short.py +0 -0
  125. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/cli/sanitization.py +0 -0
  126. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/code_samples.py +0 -0
  127. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/constants.py +0 -0
  128. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/__init__.py +0 -0
  129. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  130. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  131. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  132. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  133. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/contrib/unique_data.py +0 -0
  134. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/exceptions.py +0 -0
  135. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/experimental/__init__.py +0 -0
  136. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/__init__.py +0 -0
  137. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/_aiohttp.py +0 -0
  138. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/_flask.py +0 -0
  139. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/_server.py +0 -0
  140. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/extra/pytest_plugin.py +0 -0
  141. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/failures.py +0 -0
  142. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/filters.py +0 -0
  143. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/fixups/__init__.py +0 -0
  144. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/fixups/fast_api.py +0 -0
  145. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/fixups/utf8_bom.py +0 -0
  146. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/generation/__init__.py +0 -0
  147. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/graphql.py +0 -0
  148. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/hooks.py +0 -0
  149. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/__init__.py +0 -0
  150. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/copy.py +0 -0
  151. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/datetime.py +0 -0
  152. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/deprecation.py +0 -0
  153. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/jsonschema.py +0 -0
  154. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/result.py +0 -0
  155. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/transformation.py +0 -0
  156. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/internal/validation.py +0 -0
  157. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/lazy.py +0 -0
  158. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/loaders.py +0 -0
  159. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/parameters.py +0 -0
  160. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/py.typed +0 -0
  161. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/__init__.py +0 -0
  162. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/events.py +0 -0
  163. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/__init__.py +0 -0
  164. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/core.py +0 -0
  165. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/solo.py +0 -0
  166. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/impl/threadpool.py +0 -0
  167. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/runner/probes.py +0 -0
  168. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/sanitization.py +0 -0
  169. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/serializers.py +0 -0
  170. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/__init__.py +0 -0
  171. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/auth.py +0 -0
  172. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/ci.py +0 -0
  173. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/client.py +0 -0
  174. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/constants.py +0 -0
  175. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/events.py +0 -0
  176. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/extensions.py +0 -0
  177. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/hosts.py +0 -0
  178. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/metadata.py +0 -0
  179. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/models.py +0 -0
  180. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/report.py +0 -0
  181. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/service/usage.py +0 -0
  182. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/__init__.py +0 -0
  183. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/__init__.py +0 -0
  184. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/loaders.py +0 -0
  185. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/nodes.py +0 -0
  186. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/scalars.py +0 -0
  187. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/graphql/validation.py +0 -0
  188. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/__init__.py +0 -0
  189. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/checks.py +0 -0
  190. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/constants.py +0 -0
  191. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/converter.py +0 -0
  192. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/definitions.py +0 -0
  193. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/examples.py +0 -0
  194. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  195. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  196. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  197. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  198. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  199. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  200. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/filters.py +0 -0
  201. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/formats.py +0 -0
  202. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/links.py +0 -0
  203. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/loaders.py +0 -0
  204. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/media_types.py +0 -0
  205. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  206. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  207. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  208. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  209. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/parameters.py +0 -0
  210. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/references.py +0 -0
  211. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/security.py +0 -0
  212. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/serialization.py +0 -0
  213. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  214. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
  215. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/utils.py +0 -0
  216. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/specs/openapi/validation.py +0 -0
  217. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/stateful/__init__.py +0 -0
  218. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/stateful/state_machine.py +0 -0
  219. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/targets.py +0 -0
  220. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/__init__.py +0 -0
  221. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/auth.py +0 -0
  222. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/content_types.py +0 -0
  223. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/headers.py +0 -0
  224. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/transports/responses.py +0 -0
  225. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/types.py +0 -0
  226. {schemathesis-3.26.0 → schemathesis-3.26.2}/src/schemathesis/utils.py +0 -0
  227. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__init__.py +0 -0
  228. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  229. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  230. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  231. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  232. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/__init__.py +0 -0
  233. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/__init__.py +0 -0
  234. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  235. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_fastapi/app.py +0 -0
  236. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_flask/__init__.py +0 -0
  237. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/_flask/app.py +0 -0
  238. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/_graphql/schema.py +0 -0
  239. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/__init__.py +0 -0
  240. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  241. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_aiohttp/app.py +0 -0
  242. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  243. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_fastapi/__init__.py +0 -0
  244. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_fastapi/app.py +0 -0
  245. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_flask/__init__.py +0 -0
  246. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/_flask/app.py +0 -0
  247. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/apps/openapi/schema.py +0 -0
  248. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__init__.py +0 -0
  249. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  250. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  251. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  252. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  253. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  254. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  255. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  256. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/conftest.py +0 -0
  257. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/test_cli.py +0 -0
  258. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/test_provider.py +0 -0
  259. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/auth/test_pytest.py +0 -0
  260. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__init__.py +0 -0
  261. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  262. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  263. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  264. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  265. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  266. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  267. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  268. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  269. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  270. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  271. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  272. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  273. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  274. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  275. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  276. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  277. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  278. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  279. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  280. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  281. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  282. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  283. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  284. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  285. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  286. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  287. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  288. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  289. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  290. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  291. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  292. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  293. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  294. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  295. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  296. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  297. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  298. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  299. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  300. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  301. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  302. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  303. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  304. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  305. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  306. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  307. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  308. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  309. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  310. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  311. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  312. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  313. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  314. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  315. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  316. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  317. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  318. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  319. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  320. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2-The provided definition doesn't match any of the expected formats or types.].raw +0 -0
  321. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw +0 -0
  322. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  323. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  324. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  325. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  326. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  327. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  328. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  329. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  330. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  331. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  332. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  333. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  334. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  335. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  336. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  337. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  338. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  339. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  340. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  341. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  342. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  343. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  344. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  345. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  346. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  347. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  348. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  349. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  350. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  351. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  352. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  353. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1-.....].raw +0 -0
  354. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5-......].raw +0 -0
  355. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1-.....].raw +0 -0
  356. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5-......].raw +0 -0
  357. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1-.....].raw +0 -0
  358. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5-......].raw +0 -0
  359. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1-.....].raw +0 -0
  360. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5-......].raw +0 -0
  361. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  362. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  363. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  364. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  365. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  366. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  367. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  368. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  369. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  370. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  371. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  372. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  373. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  374. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  375. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  376. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  377. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  378. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  379. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  380. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  381. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  382. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  383. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  384. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  385. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  386. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  387. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  388. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  389. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  390. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  391. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  392. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  393. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  394. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  395. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  396. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  397. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  398. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  399. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  400. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  401. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  402. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  403. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  404. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  405. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  406. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  407. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  408. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  409. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  410. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  411. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  412. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  413. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  414. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  415. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  416. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  417. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  418. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  419. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  420. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  421. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  422. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  423. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  424. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  425. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  426. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  427. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  428. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  429. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  430. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  431. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  432. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  433. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  434. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  435. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  436. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  437. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  438. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  439. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/cert.pem +0 -0
  440. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/conftest.py +0 -0
  441. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/output/__init__.py +0 -0
  442. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_asgi.py +0 -0
  443. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_callbacks.py +0 -0
  444. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_cassettes.py +0 -0
  445. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_checks.py +0 -0
  446. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_crashes.py +0 -0
  447. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_hooks.py +0 -0
  448. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_junitxml.py +0 -0
  449. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_options.py +0 -0
  450. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/cli/test_targeted.py +0 -0
  451. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  452. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  453. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/conftest.py +0 -0
  454. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/code_samples/test_python.py +0 -0
  455. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  456. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  457. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  458. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  459. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  460. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  461. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  462. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/openapi/formats/test_uuid.py +0 -0
  463. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  464. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/test_install.py +0 -0
  465. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/contrib/test_unique_data.py +0 -0
  466. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/petstore_v2.yaml +0 -0
  467. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/petstore_v3.yaml +0 -0
  468. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/simple_openapi.yaml +0 -0
  469. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/data/simple_swagger.yaml +0 -0
  470. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  471. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/conftest.py +0 -0
  472. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/test_experiments.py +0 -0
  473. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/experimental/test_openapi_3_1.py +0 -0
  474. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/extra/__init__.py +0 -0
  475. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/extra/test_aiohttp.py +0 -0
  476. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/filters/test_matching.py +0 -0
  477. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/hooks/test_filter_operations.py +0 -0
  478. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/conftest.py +0 -0
  479. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_app.py +0 -0
  480. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_common.py +0 -0
  481. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_graphql.py +0 -0
  482. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_openapi.py +0 -0
  483. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/loaders/test_yaml.py +0 -0
  484. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_events.py +0 -0
  485. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_probes.py +0 -0
  486. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/runner/test_runner.py +0 -0
  487. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__init__.py +0 -0
  488. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  489. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  490. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  491. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  492. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  493. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  494. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  495. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  496. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  497. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  498. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  499. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  500. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  501. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  502. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  503. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  504. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  505. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  506. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  507. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  508. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  509. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  510. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  511. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  512. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  513. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  514. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/conftest.py +0 -0
  515. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_auth.py +0 -0
  516. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_ci.py +0 -0
  517. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_cli.py +0 -0
  518. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_extensions.py +0 -0
  519. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_report.py +0 -0
  520. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_serialization.py +0 -0
  521. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/service/test_usage.py +0 -0
  522. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  523. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  524. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  525. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  526. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/test_basic.py +0 -0
  527. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/test_custom_scalars.py +0 -0
  528. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/graphql/test_pytest.py +0 -0
  529. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  530. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  531. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/blank.pdf +0 -0
  532. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/conftest.py +0 -0
  533. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/parameters/test_forms.py +0 -0
  534. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  535. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  536. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_examples.py +0 -0
  537. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_hypothesis.py +0 -0
  538. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_media_types.py +0 -0
  539. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_negative.py +0 -0
  540. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_parameters.py +0 -0
  541. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_schemas.py +0 -0
  542. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_security.py +0 -0
  543. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_serializing.py +0 -0
  544. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_stateful.py +0 -0
  545. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_utils.py +0 -0
  546. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/specs/openapi/test_validation.py +0 -0
  547. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_app.py +0 -0
  548. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_async.py +0 -0
  549. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_common_parameters.py +0 -0
  550. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_converter.py +0 -0
  551. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_dereferencing.py +0 -0
  552. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_errors.py +0 -0
  553. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_examples.py +0 -0
  554. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_filters.py +0 -0
  555. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_fixups.py +0 -0
  556. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_internal.py +0 -0
  557. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_package.py +0 -0
  558. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_parameters.py +0 -0
  559. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_parametrization.py +0 -0
  560. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_petstore.py +0 -0
  561. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_pytest.py +0 -0
  562. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_recoverable_errors.py +0 -0
  563. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_required.py +0 -0
  564. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_sanitizing_output.py +0 -0
  565. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_schemas.py +0 -0
  566. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_serialization.py +0 -0
  567. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_stateful.py +0 -0
  568. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_unittest.py +0 -0
  569. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/test_utils.py +0 -0
  570. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/transports/test_content_types.py +0 -0
  571. {schemathesis-3.26.0 → schemathesis-3.26.2}/test/utils.py +0 -0
  572. {schemathesis-3.26.0 → schemathesis-3.26.2}/test-corpus/test_corpus.py +0 -0
  573. {schemathesis-3.26.0 → schemathesis-3.26.2}/test_server.sh +0 -0
  574. {schemathesis-3.26.0 → schemathesis-3.26.2}/tox.ini +0 -0
@@ -83,6 +83,6 @@ jobs:
83
83
  run: python -m tox
84
84
 
85
85
  - name: Upload coverage to Codecov
86
- uses: codecov/codecov-action@v4.1.0
86
+ uses: codecov/codecov-action@v4.1.1
87
87
  with:
88
88
  token: ${{ secrets.CODECOV_TOKEN }}
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  # Initializes the CodeQL tools for scanning.
40
40
  - name: Initialize CodeQL
41
- uses: github/codeql-action/init@v3.24.7
41
+ uses: github/codeql-action/init@v3.24.9
42
42
  with:
43
43
  languages: ${{ matrix.language }}
44
44
  # If you wish to specify custom queries, you can do so here or in a config file.
@@ -49,7 +49,7 @@ jobs:
49
49
  # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
50
50
  # If this step fails, then you should remove it and run the build manually (see below)
51
51
  - name: Autobuild
52
- uses: github/codeql-action/autobuild@v3.24.7
52
+ uses: github/codeql-action/autobuild@v3.24.9
53
53
 
54
54
  # ℹ️ Command-line programs to run using the OS shell.
55
55
  # 📚 https://git.io/JvXDl
@@ -63,4 +63,4 @@ jobs:
63
63
  # make release
64
64
 
65
65
  - name: Perform CodeQL Analysis
66
- uses: github/codeql-action/analyze@v3.24.7
66
+ uses: github/codeql-action/analyze@v3.24.9
@@ -25,7 +25,7 @@ repos:
25
25
  - id: yamllint
26
26
 
27
27
  - repo: https://github.com/codingjoe/relint
28
- rev: 3.1.0
28
+ rev: 3.1.1
29
29
  hooks:
30
30
  - id: relint
31
31
 
@@ -38,12 +38,12 @@ repos:
38
38
  additional_dependencies: [types-click, types-requests, types-PyYAML]
39
39
 
40
40
  - repo: https://github.com/astral-sh/ruff-pre-commit
41
- rev: v0.3.3
41
+ rev: v0.3.4
42
42
  hooks:
43
43
  - id: ruff-format
44
44
 
45
45
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
- rev: v0.3.3
46
+ rev: v0.3.4
47
47
  hooks:
48
48
  - id: ruff
49
49
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: schemathesis
3
- Version: 3.26.0
3
+ Version: 3.26.2
4
4
  Summary: Property-based testing framework for Open API and GraphQL based apps
5
5
  Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
6
6
  Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
@@ -39,7 +39,7 @@ Requires-Dist: hypothesis<7,>=6.84.3; python_version > '3.8'
39
39
  Requires-Dist: hypothesis[zoneinfo]<7,>=6.84.3; python_version == '3.8'
40
40
  Requires-Dist: jsonschema<5.0,>=4.18.0
41
41
  Requires-Dist: junit-xml<2.0,>=1.9
42
- Requires-Dist: pyrate-limiter<3.0,>=2.10
42
+ Requires-Dist: pyrate-limiter<4.0,>=2.10
43
43
  Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
44
44
  Requires-Dist: pytest<9,>=4.6.4
45
45
  Requires-Dist: pyyaml<7.0,>=5.1
@@ -1,9 +1,35 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.26.0...HEAD>` - TBD
4
+ :version:`Unreleased <v3.26.2...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.26.2:
8
+
9
+ :version:`3.26.2 <v3.26.1...v3.26.2>` - 2024-04-06
10
+ --------------------------------------------------
11
+
12
+ **Added**
13
+
14
+ - Support for ``pyrate-limiter>=3.0``.
15
+
16
+ **Fixed**
17
+
18
+ - Excluding ``\x00`` bytes as a result of probes.
19
+
20
+ .. _v3.26.1:
21
+
22
+ :version:`3.26.1 <v3.26.0...v3.26.1>` - 2024-04-04
23
+ --------------------------------------------------
24
+
25
+ **Added**
26
+
27
+ - Store time needed to generate each test case.
28
+
29
+ **Fixed**
30
+
31
+ - ``InvalidArgument`` when using ``from_pytest_fixture`` with parametrized pytest fixtures and Hypothesis settings. :issue:`2115`
32
+
7
33
  .. _v3.26.0:
8
34
 
9
35
  :version:`3.26.0 <v3.25.6...v3.26.0>` - 2024-03-21
@@ -24,7 +24,13 @@ They can be used to limit the test input to certain criteria, modify the generat
24
24
  return query["key"] != "42"
25
25
 
26
26
  Hooks are identified and applied based on their function name, utilized through a decorator, like ``@schemathesis.hook``.
27
- The function name, such as ``filter_query``, indicates it's a hook to filter query parameters.
27
+ The function name, such as ``filter_query``, indicates it's a hook to filter query parameters.
28
+
29
+ .. note::
30
+
31
+ The second argument could be ``None`` if there are no parameters of such a kind or if it is optional.
32
+ Keep it in mind when acessing the keys of the dictionary.
33
+
28
34
  When dealing with multiple hooks that serve similar purposes, especially across different schemas within the same file, custom names can be assigned as the first argument in the decorator to avoid conflicts and maintain clarity.
29
35
 
30
36
  .. code:: python
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.26.0"
7
+ version = "3.26.2"
8
8
  description = "Property-based testing framework for Open API and GraphQL based apps"
9
9
  keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
10
10
  authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
@@ -42,7 +42,7 @@ dependencies = [
42
42
  "hypothesis_jsonschema>=0.23.1,<0.24",
43
43
  "jsonschema>=4.18.0,<5.0",
44
44
  "junit-xml>=1.9,<2.0",
45
- "pyrate-limiter>=2.10,<3.0",
45
+ "pyrate-limiter>=2.10,<4.0",
46
46
  "pytest-subtests>=0.2.1,<0.8.0",
47
47
  "pytest>=4.6.4,<9",
48
48
  "PyYAML>=5.1,<7.0",
@@ -160,6 +160,7 @@ known-third-party = ["_pytest", "aiohttp", "click", "fastapi", "flask", "graphen
160
160
  [tool.ruff.lint.per-file-ignores]
161
161
  "__init__.py" = ["F401"]
162
162
  "_compat.py" = ["F401"]
163
+ "_rate_limiter.py" = ["F401"]
163
164
 
164
165
  [tool.ruff.format]
165
166
  skip-magic-trailing-comma = false
@@ -16,3 +16,6 @@ IS_PYTEST_ABOVE_8 = PYTEST_VERSION >= version.parse("8.0.0")
16
16
 
17
17
  HYPOTHESIS_VERSION = version.parse(metadata.version("hypothesis"))
18
18
  HYPOTHESIS_HAS_STATEFUL_NAMING_IMPROVEMENTS = HYPOTHESIS_VERSION >= version.parse("6.98.14")
19
+
20
+ PYRATE_LIMITER_VERSION = version.parse(metadata.version("pyrate-limiter"))
21
+ IS_PYRATE_LIMITER_ABOVE_3 = PYRATE_LIMITER_VERSION >= version.parse("3.0")
@@ -77,7 +77,16 @@ def create_test(
77
77
  wrapped_test.hypothesis.inner_test = make_async_test(test) # type: ignore
78
78
  setup_default_deadline(wrapped_test)
79
79
  if settings is not None:
80
- wrapped_test = settings(wrapped_test)
80
+ existing_settings = _get_hypothesis_settings(wrapped_test)
81
+ if existing_settings is not None:
82
+ # Merge the user-provided settings with the current ones
83
+ default = hypothesis.settings.default
84
+ wrapped_test._hypothesis_internal_use_settings = hypothesis.settings(
85
+ wrapped_test._hypothesis_internal_use_settings,
86
+ **{item: value for item, value in settings.__dict__.items() if value != getattr(default, item)},
87
+ )
88
+ else:
89
+ wrapped_test = settings(wrapped_test)
81
90
  existing_settings = _get_hypothesis_settings(wrapped_test)
82
91
  if existing_settings is not None:
83
92
  existing_settings = remove_explain_phase(existing_settings)
@@ -0,0 +1,6 @@
1
+ from ._dependency_versions import IS_PYRATE_LIMITER_ABOVE_3
2
+
3
+ if IS_PYRATE_LIMITER_ABOVE_3:
4
+ from pyrate_limiter import Limiter, Rate, RateItem
5
+ else:
6
+ from pyrate_limiter import Limiter, RequestRate as Rate
@@ -125,6 +125,8 @@ class Case:
125
125
  """A single test case parameters."""
126
126
 
127
127
  operation: APIOperation
128
+ # Time spent on generation of this test case
129
+ generation_time: float
128
130
  # Unique test case identifier
129
131
  id: str = field(default_factory=generate_random_case_id, compare=False)
130
132
  path_parameters: PathParameters | None = None
@@ -579,6 +581,7 @@ class Case:
579
581
  cookies=fast_deepcopy(self.cookies),
580
582
  query=fast_deepcopy(self.query),
581
583
  body=fast_deepcopy(self.body),
584
+ generation_time=self.generation_time,
582
585
  )
583
586
 
584
587
 
@@ -36,6 +36,7 @@ if TYPE_CHECKING:
36
36
  class SerializedCase:
37
37
  # Case data
38
38
  id: str
39
+ generation_time: float
39
40
  path_parameters: dict[str, Any] | None
40
41
  headers: dict[str, Any] | None
41
42
  cookies: dict[str, Any] | None
@@ -60,6 +61,7 @@ class SerializedCase:
60
61
  serialized_body = _serialize_body(request_data.body)
61
62
  return cls(
62
63
  id=case.id,
64
+ generation_time=case.generation_time,
63
65
  path_parameters=case.path_parameters,
64
66
  headers=dict(case.headers) if case.headers is not None else None,
65
67
  cookies=case.cookies,
@@ -40,6 +40,7 @@ from .generation import (
40
40
  DataGenerationMethodInput,
41
41
  GenerationConfig,
42
42
  )
43
+ from ._dependency_versions import IS_PYRATE_LIMITER_ABOVE_3
43
44
  from .exceptions import OperationSchemaError, UsageError
44
45
  from .hooks import HookContext, HookDispatcher, HookScope, dispatch
45
46
  from .internal.result import Result, Ok
@@ -423,7 +424,10 @@ class BaseSchema(Mapping):
423
424
  """Limit the rate of sending generated requests."""
424
425
  label = urlparse(self.base_url).netloc
425
426
  if self.rate_limiter is not None:
426
- return self.rate_limiter.ratelimit(label, delay=True, max_delay=0)
427
+ if IS_PYRATE_LIMITER_ABOVE_3:
428
+ self.rate_limiter.try_acquire(label)
429
+ else:
430
+ return self.rate_limiter.ratelimit(label, delay=True, max_delay=0)
427
431
  return nullcontext()
428
432
 
429
433
  def _get_payload_schema(self, definition: dict[str, Any], media_type: str) -> dict[str, Any] | None:
@@ -60,6 +60,8 @@ def serialize_before_execution(event: events.BeforeExecution) -> dict[str, Any]
60
60
 
61
61
  def _serialize_case(case: SerializedCase) -> dict[str, Any]:
62
62
  return {
63
+ "id": case.id,
64
+ "generation_time": case.generation_time,
63
65
  "verbose_name": case.verbose_name,
64
66
  "path_template": case.path_template,
65
67
  "path_parameters": stringify_path_parameters(case.path_parameters),
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import enum
4
+ import time
4
5
  from dataclasses import dataclass, field
5
6
  from difflib import get_close_matches
6
7
  from enum import unique
@@ -287,6 +288,7 @@ class GraphQLSchema(BaseSchema):
287
288
  query=query,
288
289
  body=body,
289
290
  media_type=media_type,
291
+ generation_time=0.0,
290
292
  )
291
293
 
292
294
  def get_tags(self, operation: APIOperation) -> list[str] | None:
@@ -337,6 +339,7 @@ def get_case_strategy(
337
339
  generation_config: GenerationConfig | None = None,
338
340
  **kwargs: Any,
339
341
  ) -> Any:
342
+ start = time.monotonic()
340
343
  definition = cast(GraphQLOperationDefinition, operation.definition)
341
344
  strategy_factory = {
342
345
  RootType.QUERY: gql_st.queries,
@@ -369,6 +372,7 @@ def get_case_strategy(
369
372
  body=body,
370
373
  operation=operation,
371
374
  data_generation_method=data_generation_method,
375
+ generation_time=time.monotonic() - start,
372
376
  ) # type: ignore
373
377
  context = auths.AuthContext(
374
378
  operation=operation,
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
  import string
3
+ import time
3
4
  from base64 import b64encode
4
5
  from contextlib import suppress
5
6
  from dataclasses import dataclass
@@ -42,7 +43,9 @@ StrategyFactory = Callable[[Dict[str, Any], str, str, Optional[str], GenerationC
42
43
 
43
44
 
44
45
  def header_values(blacklist_characters: str = "\n\r") -> st.SearchStrategy[str]:
45
- return st.text(alphabet=st.characters(min_codepoint=0, max_codepoint=255, blacklist_characters="\n\r"))
46
+ return st.text(
47
+ alphabet=st.characters(min_codepoint=0, max_codepoint=255, blacklist_characters=blacklist_characters)
48
+ )
46
49
 
47
50
 
48
51
  @lru_cache
@@ -131,6 +134,7 @@ def get_case_strategy(
131
134
  The primary purpose of this behavior is to prevent sending incomplete explicit examples by generating missing parts
132
135
  as it works with `body`.
133
136
  """
137
+ start = time.monotonic()
134
138
  strategy_factory = DATA_GENERATION_METHOD_TO_STRATEGY_FACTORY[generator]
135
139
 
136
140
  context = HookContext(operation)
@@ -193,6 +197,7 @@ def get_case_strategy(
193
197
  reject()
194
198
  instance = Case(
195
199
  operation=operation,
200
+ generation_time=time.monotonic() - start,
196
201
  media_type=media_type,
197
202
  path_parameters=path_parameters_.value,
198
203
  headers=CaseInsensitiveDict(headers_.value) if headers_.value is not None else headers_.value,
@@ -953,6 +953,7 @@ class SwaggerV20(BaseOpenAPISchema):
953
953
  query=query,
954
954
  body=body,
955
955
  media_type=media_type,
956
+ generation_time=0.0,
956
957
  )
957
958
 
958
959
  def _get_consumes_for_operation(self, definition: dict[str, Any]) -> list[str]:
@@ -34,8 +34,8 @@ def invalid_rate(value: str) -> UsageError:
34
34
 
35
35
 
36
36
  def build_limiter(rate: str) -> Limiter:
37
- from pyrate_limiter import Limiter, RequestRate
37
+ from ._rate_limiter import Limiter, Rate
38
38
 
39
39
  limit, interval = parse_units(rate)
40
- rate = RequestRate(limit, interval)
40
+ rate = Rate(limit, interval)
41
41
  return Limiter(rate)
@@ -125,8 +125,12 @@ def test_handle_initialized(capsys, mocker, execution_context, results_set, swag
125
125
 
126
126
  def test_display_statistic(capsys, swagger_20, execution_context, operation, response):
127
127
  # Given multiple successful & failed checks in a single test
128
- success = models.Check("not_a_server_error", models.Status.success, response, 0, models.Case(operation))
129
- failure = models.Check("not_a_server_error", models.Status.failure, response, 0, models.Case(operation))
128
+ success = models.Check(
129
+ "not_a_server_error", models.Status.success, response, 0, models.Case(operation, generation_time=0.0)
130
+ )
131
+ failure = models.Check(
132
+ "not_a_server_error", models.Status.failure, response, 0, models.Case(operation, generation_time=0.0)
133
+ )
130
134
  single_test_statistic = models.TestResult(
131
135
  method=operation.method,
132
136
  path=operation.full_path,
@@ -138,7 +142,9 @@ def test_display_statistic(capsys, swagger_20, execution_context, operation, res
138
142
  success,
139
143
  failure,
140
144
  failure,
141
- models.Check("different_check", models.Status.success, response, 0, models.Case(operation)),
145
+ models.Check(
146
+ "different_check", models.Status.success, response, 0, models.Case(operation, generation_time=0.0)
147
+ ),
142
148
  ],
143
149
  )
144
150
  results = models.TestResultSet(seed=42, results=[single_test_statistic])
@@ -232,8 +238,12 @@ def test_display_hypothesis_output(capsys):
232
238
  @pytest.mark.parametrize("body", ({}, {"foo": "bar"}, NOT_SET))
233
239
  def test_display_single_failure(capsys, swagger_20, execution_context, operation, body, response):
234
240
  # Given a single test result with multiple successful & failed checks
235
- success = models.Check("not_a_server_error", models.Status.success, response, 0, models.Case(operation, body=body))
236
- failure = models.Check("not_a_server_error", models.Status.failure, response, 0, models.Case(operation, body=body))
241
+ success = models.Check(
242
+ "not_a_server_error", models.Status.success, response, 0, models.Case(operation, generation_time=0.0, body=body)
243
+ )
244
+ failure = models.Check(
245
+ "not_a_server_error", models.Status.failure, response, 0, models.Case(operation, generation_time=0.0, body=body)
246
+ )
237
247
  test_statistic = models.TestResult(
238
248
  method=operation.method,
239
249
  path=operation.full_path,
@@ -245,7 +255,13 @@ def test_display_single_failure(capsys, swagger_20, execution_context, operation
245
255
  success,
246
256
  failure,
247
257
  failure,
248
- models.Check("different_check", models.Status.success, response, 0, models.Case(operation, body=body)),
258
+ models.Check(
259
+ "different_check",
260
+ models.Status.success,
261
+ response,
262
+ 0,
263
+ models.Case(operation, generation_time=0.0, body=body),
264
+ ),
249
265
  ],
250
266
  )
251
267
  # When this failure is displayed
@@ -1029,9 +1029,9 @@ def test_keyboard_interrupt(cli, cli_args, base_url, mocker, flask_app, swagger_
1029
1029
  operation = APIOperation("/success", "GET", {}, swagger_20, base_url=base_url)
1030
1030
  if len(cli_args) == 2:
1031
1031
  operation.app = flask_app
1032
- original = Case(operation).call_wsgi
1032
+ original = Case(operation, generation_time=0.0).call_wsgi
1033
1033
  else:
1034
- original = Case(operation).call
1034
+ original = Case(operation, generation_time=0.0).call
1035
1035
  counter = 0
1036
1036
 
1037
1037
  def mocked(*args, **kwargs):
@@ -21,7 +21,9 @@ def test_as_curl_command(case: Case, headers, curl):
21
21
 
22
22
 
23
23
  def test_non_utf_8_body(curl):
24
- case = Case(operation=schema["/users"]["GET"], body=b"42\xff", media_type="application/octet-stream")
24
+ case = Case(
25
+ operation=schema["/users"]["GET"], generation_time=0.0, body=b"42\xff", media_type="application/octet-stream"
26
+ )
25
27
  command = case.as_curl_command()
26
28
  assert command == "curl -X GET -H 'Content-Type: application/octet-stream' -d '42�' http://localhost/users"
27
29
  curl.assert_valid(command)
@@ -30,7 +32,9 @@ def test_non_utf_8_body(curl):
30
32
  def test_json_payload(curl):
31
33
  new_app = create_app(operations=["create_user"])
32
34
  schema = schemathesis.from_dict(new_app.openapi(), force_schema_version="30")
33
- case = Case(operation=schema["/users/"]["POST"], body={"foo": 42}, media_type="application/json")
35
+ case = Case(
36
+ operation=schema["/users/"]["POST"], generation_time=0.0, body={"foo": 42}, media_type="application/json"
37
+ )
34
38
  command = case.as_curl_command()
35
39
  assert command == "curl -X POST -H 'Content-Type: application/json' -d '{\"foo\": 42}' http://localhost/users/"
36
40
  curl.assert_valid(command)
@@ -40,7 +44,7 @@ def test_explicit_headers(curl):
40
44
  # When the generated case contains a header from the list of headers that are ignored by default
41
45
  name = "Accept"
42
46
  value = "application/json"
43
- case = Case(operation=schema["/users"]["GET"], headers={name: value})
47
+ case = Case(operation=schema["/users"]["GET"], generation_time=0.0, headers={name: value})
44
48
  command = case.as_curl_command()
45
49
  assert command == f"curl -X GET -H '{name}: {value}' http://localhost/users"
46
50
  curl.assert_valid(command)
@@ -1165,7 +1165,7 @@ def response_factory():
1165
1165
  def case_factory(swagger_20):
1166
1166
  def factory(**kwargs):
1167
1167
  kwargs.setdefault("operation", swagger_20["/users"]["get"])
1168
- return Case(**kwargs)
1168
+ return Case(generation_time=0.0, **kwargs)
1169
1169
 
1170
1170
  return factory
1171
1171
 
@@ -388,6 +388,7 @@ def test_before_add_examples(testdir, simple_openapi):
388
388
  def before_add_examples(context, examples):
389
389
  new = schemathesis.models.Case(
390
390
  operation=context.operation,
391
+ generation_time=0.0,
391
392
  query={"foo": "bar"}
392
393
  )
393
394
  examples.append(new)
@@ -401,6 +402,7 @@ def test_a(case):
401
402
  def another_hook(context, examples):
402
403
  new = schemathesis.models.Case(
403
404
  operation=context.operation,
405
+ generation_time=0.0,
404
406
  query={"spam": "baz"}
405
407
  )
406
408
  examples.append(new)
@@ -27,7 +27,7 @@ def make_case(schema: BaseSchema, definition: dict[str, Any]) -> models.Case:
27
27
  operation = models.APIOperation(
28
28
  "/path", "GET", definition=OperationDefinition(definition, definition, None, []), schema=schema
29
29
  )
30
- return models.Case(operation)
30
+ return models.Case(operation, generation_time=0.0)
31
31
 
32
32
 
33
33
  @pytest.fixture()
@@ -187,7 +187,7 @@ def test_content_type_conformance_another_status_code(response_factory):
187
187
  def assert_content_type_conformance(response_factory, raw_schema, content_type, is_error, match=None):
188
188
  schema = schemathesis.from_dict(raw_schema)
189
189
  operation = schema["/users"]["get"]
190
- case = models.Case(operation)
190
+ case = models.Case(operation, generation_time=0.0)
191
191
  response = response_factory.requests(content_type=content_type)
192
192
  if not is_error:
193
193
  assert content_type_conformance(response, case) is None
@@ -250,7 +250,7 @@ def test_invalid_schema_on_content_type_check(response_factory):
250
250
  validate_schema=False,
251
251
  )
252
252
  operation = schema["/users"]["get"]
253
- case = models.Case(operation)
253
+ case = models.Case(operation, generation_time=0.0)
254
254
  response = response_factory.requests(content_type="application/json")
255
255
  # Then an error should be risen
256
256
  with pytest.raises(OperationSchemaError):
@@ -26,6 +26,7 @@ def operation():
26
26
  def case(operation):
27
27
  return Case(
28
28
  operation,
29
+ generation_time=0.0,
29
30
  path_parameters={"user_id": 5},
30
31
  query={"username": "foo"},
31
32
  headers={"X-Token": "secret"},
@@ -40,7 +40,7 @@ LINK = Link(
40
40
 
41
41
  @pytest.fixture(scope="module")
42
42
  def case():
43
- return Case(API_OPERATION)
43
+ return Case(API_OPERATION, generation_time=0.0)
44
44
 
45
45
 
46
46
  @pytest.fixture(scope="module")
@@ -89,7 +89,7 @@ def test_null_byte(fastapi_app):
89
89
 
90
90
 
91
91
  def test_not_app_with_asgi(schema):
92
- case = Case(schema["/users"]["GET"])
92
+ case = Case(schema["/users"]["GET"], generation_time=0.0)
93
93
  case.operation.app = None
94
94
  with pytest.raises(
95
95
  RuntimeError,
@@ -1,3 +1,5 @@
1
+ from unittest.mock import ANY
2
+
1
3
  import pytest
2
4
  from hypothesis import strategies as st
3
5
 
@@ -46,7 +48,9 @@ def test_as_strategy(swagger_20):
46
48
  operation = swagger_20["/users"]["GET"]
47
49
  strategy = operation.as_strategy()
48
50
  assert isinstance(strategy, st.SearchStrategy)
49
- assert strategy.example() == Case(operation, data_generation_method=DataGenerationMethod.positive)
51
+ assert strategy.example() == Case(
52
+ operation, generation_time=ANY, data_generation_method=DataGenerationMethod.positive
53
+ )
50
54
 
51
55
 
52
56
  @pytest.mark.filterwarnings("ignore:.*method is good for exploring strategies.*")
@@ -1,5 +1,6 @@
1
1
  import datetime
2
2
  from base64 import b64decode
3
+ from unittest.mock import ANY
3
4
 
4
5
  import pytest
5
6
  from hypothesis import HealthCheck, assume, find, given, settings
@@ -71,7 +72,11 @@ def test_get_examples(location, swagger_20):
71
72
  strategies = operation.get_strategies_from_examples()
72
73
  assert len(strategies) == 1
73
74
  assert strategies[0].example() == Case(
74
- operation, data_generation_method=DataGenerationMethod.positive, media_type=media_type, **{container: expected}
75
+ operation,
76
+ generation_time=ANY,
77
+ data_generation_method=DataGenerationMethod.positive,
78
+ media_type=media_type,
79
+ **{container: expected},
75
80
  )
76
81
 
77
82
 
@@ -1,5 +1,7 @@
1
1
  import pytest
2
2
 
3
+ from schemathesis._dependency_versions import IS_PYRATE_LIMITER_ABOVE_3
4
+
3
5
 
4
6
  def test_default(testdir):
5
7
  # When LazySchema is used
@@ -71,16 +73,16 @@ def test_(request, case):
71
73
  result.assert_outcomes(passed=1, failed=1)
72
74
  if is_older_subtests:
73
75
  expected = [
74
- r"test_invalid_operation.py::test_[GET /v1/valid] PASSED [ 25%]",
75
- r"test_invalid_operation.py::test_[GET /v1/invalid] FAILED [ 50%]",
76
- r"test_invalid_operation.py::test_[GET /v1/users] PASSED [ 75%]",
76
+ r"test_invalid_operation.py::test_\[GET /v1/valid\] PASSED *\[ 25%\]",
77
+ r"test_invalid_operation.py::test_\[GET /v1/invalid\] FAILED *\[ 50%\]",
78
+ r"test_invalid_operation.py::test_\[GET /v1/users\] PASSED *\[ 75%\]",
77
79
  r".*1 passed",
78
80
  ]
79
81
  else:
80
82
  expected = [
81
- r"test_invalid_operation.py::test_[GET /v1/valid] SUBPASS [ 25%]",
82
- r"test_invalid_operation.py::test_[GET /v1/invalid] SUBFAIL [ 50%]",
83
- r"test_invalid_operation.py::test_[GET /v1/users] SUBPASS [ 75%]",
83
+ r"test_invalid_operation.py::test_\[GET /v1/valid\] SUBPASS +\[ 25%\]",
84
+ r"test_invalid_operation.py::test_\[GET /v1/invalid\] SUBFAIL +\[ 50%\]",
85
+ r"test_invalid_operation.py::test_\[GET /v1/users\] SUBPASS +\[ 75%\]",
84
86
  r".*1 passed",
85
87
  ]
86
88
  result.stdout.re_match_lines(expected)
@@ -508,7 +510,8 @@ def test_b(case):
508
510
  result.assert_outcomes(passed=2)
509
511
 
510
512
 
511
- def test_parametrized_fixture(testdir, openapi3_base_url, is_older_subtests):
513
+ @pytest.mark.parametrize("settings", ("", "@settings(deadline=None)"))
514
+ def test_parametrized_fixture(testdir, openapi3_base_url, is_older_subtests, settings):
512
515
  # When the used pytest fixture is parametrized via `params`
513
516
  testdir.make_test(
514
517
  f"""
@@ -521,6 +524,7 @@ def parametrized_lazy_schema(request):
521
524
  lazy_schema = schemathesis.from_pytest_fixture("parametrized_lazy_schema")
522
525
 
523
526
  @lazy_schema.parametrize()
527
+ {settings}
524
528
  def test_(case):
525
529
  case.call()
526
530
  """,
@@ -896,6 +900,17 @@ def test_(case):
896
900
 
897
901
  @pytest.mark.operations("success")
898
902
  def test_rate_limit(testdir, openapi3_schema_url):
903
+ if IS_PYRATE_LIMITER_ABOVE_3:
904
+ assertion = """
905
+ assert limiter.bucket_factory.bucket.rates[0].limit == 1
906
+ assert limiter.bucket_factory.bucket.rates[0].interval == 1000
907
+ """
908
+ else:
909
+ assertion = """
910
+ rate = limiter._rates[0]
911
+ assert rate.interval == 1
912
+ assert rate.limit == 1
913
+ """
899
914
  testdir.make_test(
900
915
  f"""
901
916
  @pytest.fixture
@@ -907,9 +922,7 @@ lazy_schema = schemathesis.from_pytest_fixture("api_schema", rate_limit="1/s")
907
922
  @lazy_schema.parametrize()
908
923
  def test_(case):
909
924
  limiter = case.operation.schema.rate_limiter
910
- rate = limiter._rates[0]
911
- assert rate.interval == 1
912
- assert rate.limit == 1
925
+ {assertion}
913
926
  """,
914
927
  )
915
928
  result = testdir.runpytest()