schemathesis 3.36.0__tar.gz → 3.36.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 (657) hide show
  1. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/codeql-analysis.yml +3 -3
  2. {schemathesis-3.36.0 → schemathesis-3.36.2}/.pre-commit-config.yaml +2 -2
  3. {schemathesis-3.36.0 → schemathesis-3.36.2}/PKG-INFO +2 -1
  4. {schemathesis-3.36.0 → schemathesis-3.36.2}/README.md +1 -0
  5. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/changelog.rst +32 -1
  6. {schemathesis-3.36.0 → schemathesis-3.36.2}/pyproject.toml +1 -1
  7. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/_hypothesis.py +5 -0
  8. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/auths.py +1 -0
  9. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/generation/coverage.py +76 -23
  10. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/checks.py +4 -1
  11. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/models.py +4 -2
  12. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/impl/context.py +7 -3
  13. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/impl/core.py +13 -7
  14. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/_hypothesis.py +6 -1
  15. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/checks.py +6 -3
  16. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/converter.py +10 -0
  17. schemathesis-3.36.2/src/schemathesis/specs/openapi/patterns.py +120 -0
  18. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/coverage/test_combinations.py +96 -30
  19. schemathesis-3.36.2/test/coverage/test_examples.py +150 -0
  20. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/coverage/test_phase.py +112 -104
  21. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/runner/test_runner.py +3 -3
  22. schemathesis-3.36.2/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +25 -0
  23. schemathesis-3.36.2/test/specs/openapi/stateful/__init__.py +0 -0
  24. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_ignored_auth.py +66 -6
  25. schemathesis-3.36.2/test/specs/openapi/test_patterns.py +133 -0
  26. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_randomized.py +2 -2
  27. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_converter.py +32 -0
  28. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_hypothesis.py +36 -2
  29. {schemathesis-3.36.0 → schemathesis-3.36.2}/test-corpus/test_corpus.py +2 -2
  30. {schemathesis-3.36.0 → schemathesis-3.36.2}/.dockerignore +0 -0
  31. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/FUNDING.yml +0 -0
  32. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  33. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  34. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  35. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/dependabot.yml +0 -0
  36. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/build.yml +0 -0
  37. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/codspeed.yml +0 -0
  38. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/commit.yml +0 -0
  39. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/example-build.yml +0 -0
  40. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/example-no-build.yml +0 -0
  41. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/master_update.yml +0 -0
  42. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/release.yml +0 -0
  43. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/test-corpus.yml +0 -0
  44. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/test-hypothesis.yml +0 -0
  45. {schemathesis-3.36.0 → schemathesis-3.36.2}/.github/workflows/update-pre-commit.yml +0 -0
  46. {schemathesis-3.36.0 → schemathesis-3.36.2}/.gitignore +0 -0
  47. {schemathesis-3.36.0 → schemathesis-3.36.2}/.readthedocs.yml +0 -0
  48. {schemathesis-3.36.0 → schemathesis-3.36.2}/.relint.yml +0 -0
  49. {schemathesis-3.36.0 → schemathesis-3.36.2}/.rstcheck.cfg +0 -0
  50. {schemathesis-3.36.0 → schemathesis-3.36.2}/.yamllint +0 -0
  51. {schemathesis-3.36.0 → schemathesis-3.36.2}/CITATION.cff +0 -0
  52. {schemathesis-3.36.0 → schemathesis-3.36.2}/CODE_OF_CONDUCT.md +0 -0
  53. {schemathesis-3.36.0 → schemathesis-3.36.2}/CONTRIBUTING.rst +0 -0
  54. {schemathesis-3.36.0 → schemathesis-3.36.2}/Dockerfile +0 -0
  55. {schemathesis-3.36.0 → schemathesis-3.36.2}/Dockerfile.bookworm +0 -0
  56. {schemathesis-3.36.0 → schemathesis-3.36.2}/LICENSE +0 -0
  57. {schemathesis-3.36.0 → schemathesis-3.36.2}/benches/cli.py +0 -0
  58. {schemathesis-3.36.0 → schemathesis-3.36.2}/benches/references.py +0 -0
  59. {schemathesis-3.36.0 → schemathesis-3.36.2}/benches/schema.py +1 -1
  60. {schemathesis-3.36.0 → schemathesis-3.36.2}/changelog.py +0 -0
  61. {schemathesis-3.36.0 → schemathesis-3.36.2}/codecov.yml +0 -0
  62. {schemathesis-3.36.0 → schemathesis-3.36.2}/corpus/data/graphql.tar.gz +0 -0
  63. {schemathesis-3.36.0 → schemathesis-3.36.2}/corpus/data/openapi-3.0.tar.gz +0 -0
  64. {schemathesis-3.36.0 → schemathesis-3.36.2}/corpus/data/openapi-3.1.tar.gz +0 -0
  65. {schemathesis-3.36.0 → schemathesis-3.36.2}/corpus/data/swagger-2.0.tar.gz +0 -0
  66. {schemathesis-3.36.0 → schemathesis-3.36.2}/corpus/tools.py +0 -0
  67. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/Makefile +0 -0
  68. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/additional-content.rst +0 -0
  69. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/api.rst +0 -0
  70. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/auth.rst +0 -0
  71. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/cli.rst +0 -0
  72. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/compatibility.rst +0 -0
  73. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/conf.py +0 -0
  74. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/continuous_integration.rst +0 -0
  75. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/contrib.rst +0 -0
  76. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/data-generation.rst +0 -0
  77. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/examples.rst +0 -0
  78. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/experimental.rst +0 -0
  79. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/extending.rst +0 -0
  80. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/faq.rst +0 -0
  81. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/getting-started.rst +0 -0
  82. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/graphql.rst +0 -0
  83. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/index.rst +0 -0
  84. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/python.rst +0 -0
  85. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/recipes.rst +0 -0
  86. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/requirements.txt +0 -0
  87. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/sanitizing.rst +0 -0
  88. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/service.rst +0 -0
  89. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/stateful.rst +0 -0
  90. {schemathesis-3.36.0 → schemathesis-3.36.2}/docs/targeted.rst +0 -0
  91. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/Dockerfile +0 -0
  92. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/README.md +0 -0
  93. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/app.py +0 -0
  94. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/compose.yml +0 -0
  95. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/openapi.json +0 -0
  96. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/requirements-app.in +0 -0
  97. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/requirements-app.txt +0 -0
  98. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/requirements-pytest.in +0 -0
  99. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/requirements-pytest.txt +0 -0
  100. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/tests/__init__.py +0 -0
  101. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/tests/conftest.py +0 -0
  102. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/tests/extensions.py +0 -0
  103. {schemathesis-3.36.0 → schemathesis-3.36.2}/example/tests/test_app.py +0 -0
  104. {schemathesis-3.36.0 → schemathesis-3.36.2}/img/demo.gif +0 -0
  105. {schemathesis-3.36.0 → schemathesis-3.36.2}/img/service_github_report.png +0 -0
  106. {schemathesis-3.36.0 → schemathesis-3.36.2}/mypy.ini +0 -0
  107. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/__init__.py +0 -0
  108. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/_compat.py +0 -0
  109. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/_dependency_versions.py +0 -0
  110. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/_lazy_import.py +0 -0
  111. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/_override.py +0 -0
  112. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/_rate_limiter.py +0 -0
  113. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/_xml.py +0 -0
  114. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/checks.py +0 -0
  115. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/__init__.py +0 -0
  116. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/__main__.py +0 -0
  117. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/callbacks.py +0 -0
  118. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/cassettes.py +0 -0
  119. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/constants.py +0 -0
  120. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/context.py +0 -0
  121. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/debug.py +0 -0
  122. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/handlers.py +0 -0
  123. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/junitxml.py +0 -0
  124. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/options.py +0 -0
  125. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/output/__init__.py +0 -0
  126. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/output/default.py +0 -0
  127. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/output/short.py +0 -0
  128. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/reporting.py +0 -0
  129. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/cli/sanitization.py +0 -0
  130. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/code_samples.py +0 -0
  131. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/constants.py +0 -0
  132. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/contrib/__init__.py +0 -0
  133. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  134. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  135. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  136. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  137. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/contrib/unique_data.py +0 -0
  138. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/exceptions.py +0 -0
  139. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/experimental/__init__.py +0 -0
  140. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/extra/__init__.py +0 -0
  141. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/extra/_aiohttp.py +0 -0
  142. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/extra/_flask.py +0 -0
  143. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/extra/_server.py +0 -0
  144. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/extra/pytest_plugin.py +0 -0
  145. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/failures.py +0 -0
  146. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/filters.py +0 -0
  147. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/fixups/__init__.py +0 -0
  148. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/fixups/fast_api.py +0 -0
  149. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/fixups/utf8_bom.py +0 -0
  150. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/generation/__init__.py +0 -0
  151. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/generation/_hypothesis.py +0 -0
  152. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/generation/_methods.py +0 -0
  153. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/graphql.py +0 -0
  154. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/hooks.py +0 -0
  155. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/__init__.py +0 -0
  156. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/copy.py +0 -0
  157. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/datetime.py +0 -0
  158. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/deprecation.py +0 -0
  159. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/extensions.py +0 -0
  160. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/jsonschema.py +0 -0
  161. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/output.py +0 -0
  162. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/result.py +0 -0
  163. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/transformation.py +0 -0
  164. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/internal/validation.py +0 -0
  165. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/lazy.py +0 -0
  166. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/loaders.py +0 -0
  167. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/parameters.py +0 -0
  168. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/py.typed +0 -0
  169. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/__init__.py +0 -0
  170. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/events.py +0 -0
  171. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/impl/__init__.py +0 -0
  172. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/impl/solo.py +0 -0
  173. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/impl/threadpool.py +0 -0
  174. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/probes.py +0 -0
  175. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/runner/serialization.py +0 -0
  176. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/sanitization.py +0 -0
  177. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/schemas.py +0 -0
  178. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/serializers.py +0 -0
  179. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/__init__.py +0 -0
  180. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/auth.py +0 -0
  181. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/ci.py +0 -0
  182. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/client.py +0 -0
  183. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/constants.py +0 -0
  184. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/events.py +0 -0
  185. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/extensions.py +0 -0
  186. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/hosts.py +0 -0
  187. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/metadata.py +0 -0
  188. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/models.py +0 -0
  189. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/report.py +0 -0
  190. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/serialization.py +0 -0
  191. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/service/usage.py +0 -0
  192. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/__init__.py +0 -0
  193. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/__init__.py +0 -0
  194. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/_cache.py +0 -0
  195. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/loaders.py +0 -0
  196. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/nodes.py +0 -0
  197. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/scalars.py +0 -0
  198. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/schemas.py +0 -0
  199. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/validation.py +0 -0
  200. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/__init__.py +0 -0
  201. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/_cache.py +0 -0
  202. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/constants.py +0 -0
  203. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/definitions.py +0 -0
  204. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/examples.py +0 -0
  205. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  206. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  207. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  208. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  209. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  210. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  211. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  212. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/formats.py +0 -0
  213. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/links.py +0 -0
  214. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/loaders.py +0 -0
  215. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/media_types.py +0 -0
  216. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  217. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  218. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  219. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  220. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/parameters.py +0 -0
  221. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/references.py +0 -0
  222. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/schemas.py +0 -0
  223. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/security.py +0 -0
  224. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/serialization.py +0 -0
  225. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  226. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  227. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  228. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/utils.py +0 -0
  229. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/validation.py +0 -0
  230. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/__init__.py +0 -0
  231. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/config.py +0 -0
  232. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/context.py +0 -0
  233. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/events.py +0 -0
  234. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/runner.py +0 -0
  235. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/sink.py +0 -0
  236. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/state_machine.py +0 -0
  237. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/statistic.py +0 -0
  238. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/stateful/validation.py +0 -0
  239. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/targets.py +0 -0
  240. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/throttling.py +0 -0
  241. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/transports/__init__.py +0 -0
  242. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/transports/asgi.py +0 -0
  243. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/transports/auth.py +0 -0
  244. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/transports/content_types.py +0 -0
  245. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/transports/headers.py +0 -0
  246. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/transports/responses.py +0 -0
  247. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/types.py +0 -0
  248. {schemathesis-3.36.0 → schemathesis-3.36.2}/src/schemathesis/utils.py +0 -0
  249. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/__init__.py +0 -0
  250. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  251. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  252. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  253. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  254. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  255. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  256. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/__init__.py +0 -0
  257. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/_graphql/__init__.py +0 -0
  258. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  259. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/_graphql/_fastapi/app.py +0 -0
  260. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/_graphql/_flask/__init__.py +0 -0
  261. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/_graphql/_flask/app.py +0 -0
  262. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/_graphql/schema.py +0 -0
  263. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/cp1252_app.py +0 -0
  264. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/hooks.py +0 -0
  265. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/__init__.py +0 -0
  266. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  267. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/app.py +0 -0
  268. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  269. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/_fastapi/__init__.py +0 -0
  270. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/_fastapi/app.py +0 -0
  271. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/_flask/__init__.py +0 -0
  272. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/_flask/app.py +0 -0
  273. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/apps/openapi/schema.py +0 -0
  274. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__init__.py +0 -0
  275. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  276. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  277. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  278. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  279. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  280. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  281. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  282. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/conftest.py +0 -0
  283. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/test_cli.py +0 -0
  284. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/test_provider.py +0 -0
  285. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/auth/test_pytest.py +0 -0
  286. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/checks/__init__.py +0 -0
  287. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/checks/test_checks.py +0 -0
  288. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__init__.py +0 -0
  289. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  290. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  291. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  292. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  293. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  294. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  295. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  296. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  297. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  298. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  299. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  300. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  301. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  302. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  303. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  304. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  305. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  306. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  307. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  308. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  309. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  310. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  311. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  312. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  313. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  314. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  315. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  316. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  317. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  318. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  319. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  320. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  321. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
  322. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
  323. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  324. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  325. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  326. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  327. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  328. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
  329. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
  330. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
  331. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  332. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  333. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  334. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  335. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  336. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  337. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  338. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  339. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  340. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  341. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  342. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  343. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  344. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  345. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  346. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  347. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  348. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  349. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  350. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  351. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  352. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  353. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  354. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  355. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  356. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  357. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  358. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  359. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  360. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  361. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  362. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  363. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  364. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  365. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  366. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  367. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  368. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  369. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  370. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  371. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  372. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  373. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  374. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  375. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  376. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  377. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  378. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  379. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  380. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  381. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  382. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  383. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  384. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  385. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  386. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  387. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  388. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  389. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  390. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  391. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  392. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  393. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  394. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  395. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  396. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  397. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  398. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  399. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  400. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  401. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  402. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  403. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  404. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  405. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  406. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  407. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  408. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  409. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  410. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  411. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  412. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  413. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  414. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  415. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  416. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  417. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  418. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  419. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  420. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  421. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  422. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  423. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  424. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  425. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  426. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  427. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  428. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  429. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  430. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  431. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  432. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  433. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  434. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  435. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  436. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  437. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  438. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  439. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  440. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  441. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  442. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  443. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  444. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  445. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  446. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  447. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  448. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  449. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  450. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  451. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  452. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  453. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  454. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  455. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  456. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  457. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  458. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  459. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  460. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  461. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  462. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  463. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  464. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
  465. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  466. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  467. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  468. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  469. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  470. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  471. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  472. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  473. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  474. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  475. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  476. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  477. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  478. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  479. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  480. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  481. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  482. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  483. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  484. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  485. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  486. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  487. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  488. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  489. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  490. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/cert.pem +0 -0
  491. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/conftest.py +0 -0
  492. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/output/__init__.py +0 -0
  493. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/output/test_default.py +0 -0
  494. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_asgi.py +0 -0
  495. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_callbacks.py +0 -0
  496. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_cassettes.py +0 -0
  497. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_checks.py +0 -0
  498. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_commands.py +0 -0
  499. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_crashes.py +0 -0
  500. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_hooks.py +0 -0
  501. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_junitxml.py +0 -0
  502. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_options.py +0 -0
  503. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_reporting.py +0 -0
  504. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/cli/test_targeted.py +0 -0
  505. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  506. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  507. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/code_samples/conftest.py +0 -0
  508. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/code_samples/test_curl.py +0 -0
  509. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/code_samples/test_python.py +0 -0
  510. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/conftest.py +0 -0
  511. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  512. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  513. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  514. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  515. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
  516. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  517. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  518. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
  519. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  520. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/openapi/formats/test_uuid.py +0 -0
  521. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  522. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/test_install.py +0 -0
  523. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/contrib/test_unique_data.py +0 -0
  524. {schemathesis-3.36.0/test/extra → schemathesis-3.36.2/test/coverage}/__init__.py +0 -0
  525. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/petstore_v2.yaml +0 -0
  526. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/petstore_v3.yaml +0 -0
  527. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/relative_files/components/parameters.yaml +0 -0
  528. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/relative_files/components/responses.yaml +0 -0
  529. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/relative_files/components/schemas.yaml +0 -0
  530. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/relative_files/main.yaml +0 -0
  531. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/relative_files/paths/user-account.yaml +0 -0
  532. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/simple_openapi.yaml +0 -0
  533. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/data/simple_swagger.yaml +0 -0
  534. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  535. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/experimental/conftest.py +0 -0
  536. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/experimental/test_experiments.py +0 -0
  537. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/experimental/test_openapi_3_1.py +0 -0
  538. {schemathesis-3.36.0/test/filters → schemathesis-3.36.2/test/extra}/__init__.py +0 -0
  539. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/extra/test_aiohttp.py +0 -0
  540. {schemathesis-3.36.0/test/runner → schemathesis-3.36.2/test/filters}/__init__.py +0 -0
  541. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/filters/test_expressions.py +0 -0
  542. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/filters/test_matching.py +0 -0
  543. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/hooks/test_filter_operations.py +0 -0
  544. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/hooks/test_filters.py +0 -0
  545. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/hooks/test_hooks.py +0 -0
  546. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/loaders/conftest.py +0 -0
  547. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/loaders/test_app.py +0 -0
  548. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/loaders/test_common.py +0 -0
  549. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/loaders/test_graphql.py +0 -0
  550. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/loaders/test_openapi.py +0 -0
  551. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/loaders/test_yaml.py +0 -0
  552. {schemathesis-3.36.0/test/service → schemathesis-3.36.2/test/runner}/__init__.py +0 -0
  553. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/runner/test_checks.py +0 -0
  554. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/runner/test_events.py +0 -0
  555. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/runner/test_probes.py +0 -0
  556. {schemathesis-3.36.0/test/specs/openapi/stateful → schemathesis-3.36.2/test/service}/__init__.py +0 -0
  557. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  558. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  559. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  560. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  561. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  562. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  563. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  564. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  565. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  566. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  567. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  568. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  569. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  570. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  571. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  572. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  573. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  574. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  575. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  576. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  577. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  578. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  579. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  580. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  581. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  582. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  583. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/conftest.py +0 -0
  584. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/test_auth.py +0 -0
  585. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/test_ci.py +0 -0
  586. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/test_cli.py +0 -0
  587. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/test_extensions.py +0 -0
  588. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/test_report.py +0 -0
  589. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/test_serialization.py +0 -0
  590. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/service/test_usage.py +0 -0
  591. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
  592. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
  593. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
  594. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  595. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  596. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  597. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  598. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/test_basic.py +0 -0
  599. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/test_custom_scalars.py +0 -0
  600. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/graphql/test_pytest.py +0 -0
  601. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  602. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  603. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  604. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/blank.pdf +0 -0
  605. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/conftest.py +0 -0
  606. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_forms.py +0 -0
  607. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  608. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  609. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/stateful/conftest.py +0 -0
  610. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_config.py +0 -0
  611. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_runner.py +0 -0
  612. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_stateful.py +0 -0
  613. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_checks.py +0 -0
  614. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_examples.py +0 -0
  615. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_expressions.py +0 -0
  616. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_hypothesis.py +0 -0
  617. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_links.py +0 -0
  618. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_media_types.py +0 -0
  619. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_negative.py +0 -0
  620. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_parameters.py +0 -0
  621. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_schemas.py +0 -0
  622. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_security.py +0 -0
  623. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_serializing.py +0 -0
  624. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_utils.py +0 -0
  625. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/specs/openapi/test_validation.py +0 -0
  626. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_app.py +0 -0
  627. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_asgi.py +0 -0
  628. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_async.py +0 -0
  629. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_common_parameters.py +0 -0
  630. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_dereferencing.py +0 -0
  631. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_direct_access.py +0 -0
  632. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_examples.py +0 -0
  633. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_filters.py +0 -0
  634. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_fixups.py +0 -0
  635. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_internal.py +0 -0
  636. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_lazy.py +0 -0
  637. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_models.py +0 -0
  638. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_output.py +0 -0
  639. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_package.py +0 -0
  640. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_parameters.py +0 -0
  641. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_parametrization.py +0 -0
  642. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_petstore.py +0 -0
  643. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_pytest.py +0 -0
  644. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_rate_limit.py +0 -0
  645. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_recoverable_errors.py +0 -0
  646. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_required.py +0 -0
  647. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_sanitizing_output.py +0 -0
  648. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_schemas.py +0 -0
  649. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_serialization.py +0 -0
  650. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_stateful.py +0 -0
  651. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_unittest.py +0 -0
  652. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_utils.py +0 -0
  653. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/test_wsgi.py +0 -0
  654. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/transports/test_content_types.py +0 -0
  655. {schemathesis-3.36.0 → schemathesis-3.36.2}/test/utils.py +0 -0
  656. {schemathesis-3.36.0 → schemathesis-3.36.2}/test_server.sh +0 -0
  657. {schemathesis-3.36.0 → schemathesis-3.36.2}/tox.ini +0 -0
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  # Initializes the CodeQL tools for scanning.
40
40
  - name: Initialize CodeQL
41
- uses: github/codeql-action/init@v3.26.6
41
+ uses: github/codeql-action/init@v3.26.8
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.26.6
52
+ uses: github/codeql-action/autobuild@v3.26.8
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.26.6
66
+ uses: github/codeql-action/analyze@v3.26.8
@@ -38,12 +38,12 @@ repos:
38
38
  additional_dependencies: [types-click, types-requests, types-PyYAML]
39
39
 
40
40
  - repo: https://github.com/astral-sh/ruff-pre-commit
41
- rev: v0.6.5
41
+ rev: v0.6.7
42
42
  hooks:
43
43
  - id: ruff-format
44
44
 
45
45
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
- rev: v0.6.5
46
+ rev: v0.6.7
47
47
  hooks:
48
48
  - id: ruff
49
49
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: schemathesis
3
- Version: 3.36.0
3
+ Version: 3.36.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
@@ -237,6 +237,7 @@ Schemathesis is used by a number of projects and companies, including direct usa
237
237
  - [Pixie](https://github.com/pixie-io/pixie)
238
238
  - [Qdrant](https://github.com/qdrant/qdrant)
239
239
  - Spotify ([Backstage](https://github.com/backstage/backstage))
240
+ - [Weechat](https://github.com/weechat/weechat)
240
241
  - WordPress ([OpenVerse](https://github.com/WordPress/openverse))
241
242
 
242
243
  ## Testimonials
@@ -138,6 +138,7 @@ Schemathesis is used by a number of projects and companies, including direct usa
138
138
  - [Pixie](https://github.com/pixie-io/pixie)
139
139
  - [Qdrant](https://github.com/qdrant/qdrant)
140
140
  - Spotify ([Backstage](https://github.com/backstage/backstage))
141
+ - [Weechat](https://github.com/weechat/weechat)
141
142
  - WordPress ([OpenVerse](https://github.com/WordPress/openverse))
142
143
 
143
144
  ## Testimonials
@@ -1,9 +1,40 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.36.0...HEAD>` - TBD
4
+ :version:`Unreleased <v3.36.2...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.36.2:
8
+
9
+ :version:`3.36.2 <v3.36.1...v3.36.2>` - 2024-09-26
10
+ --------------------------------------------------
11
+
12
+ **Changed**
13
+
14
+ - Merge ``minLength`` & ``maxLength`` into ``pattern`` to avoid extremely slow generation in most popular cases.
15
+ - Avoid generating ``{`` and ``}`` for path parameters.
16
+ - Generate all negative types in the coverage phase.
17
+
18
+ **Fixed**
19
+
20
+ - Internal error on incorrect examples during the coverage phase.
21
+
22
+ .. _v3.36.1:
23
+
24
+ :version:`3.36.1 <v3.36.0...v3.36.1>` - 2024-09-23
25
+ --------------------------------------------------
26
+
27
+ **Changed**
28
+
29
+ - Use ``requestBody`` examples as the source of valid inputs during the coverage phase.
30
+ - Reuse top-level schema examples in more places during the coverage phase.
31
+ - Generate more combinations of optional parameters during the coverage phase.
32
+
33
+ **Fixed**
34
+
35
+ - ``ignored_auth`` false positives on custom auth and explicit ``--auth`` CLI option. :issue:`2462`
36
+ - Avoid skipping string generation if they have ``pattern`` during the coverage phase.
37
+
7
38
  .. _v3.36.0:
8
39
 
9
40
  :version:`3.36.0 <v3.35.5...v3.36.0>` - 2024-09-15
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.36.0"
7
+ version = "3.36.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" }]
@@ -245,6 +245,11 @@ def _iter_coverage_cases(
245
245
  if operation.body:
246
246
  for body in operation.body:
247
247
  schema = body.as_json_schema(operation)
248
+ # Definition could be a list for Open API 2.0
249
+ definition = body.definition if isinstance(body.definition, dict) else {}
250
+ examples = [example["value"] for example in definition.get("examples", {}).values() if "value" in example]
251
+ if examples:
252
+ schema.setdefault("examples", []).extend(examples)
248
253
  gen = coverage.cover_schema_iter(ctx, schema)
249
254
  value = next(gen, NOT_SET)
250
255
  if isinstance(value, NotSet):
@@ -450,6 +450,7 @@ class AuthStorage(Generic[Auth]):
450
450
  data: Auth | None = _provider_get(provider, case, context)
451
451
  if data is not None:
452
452
  provider.set(case, data, context)
453
+ case._has_explicit_auth = True
453
454
  break
454
455
 
455
456
 
@@ -4,7 +4,8 @@ import json
4
4
  from contextlib import contextmanager, suppress
5
5
  from dataclasses import dataclass, field
6
6
  from functools import lru_cache
7
- from typing import Any, Generator, TypeVar, cast
7
+ from itertools import combinations
8
+ from typing import Any, Generator, Iterator, TypeVar, cast
8
9
 
9
10
  import jsonschema
10
11
  from hypothesis import strategies as st
@@ -14,7 +15,7 @@ from hypothesis_jsonschema._canonicalise import canonicalish
14
15
 
15
16
  from schemathesis.constants import NOT_SET
16
17
 
17
- from ._hypothesis import combine_strategies, get_single_example
18
+ from ._hypothesis import get_single_example
18
19
  from ._methods import DataGenerationMethod
19
20
 
20
21
  BUFFER_SIZE = 8 * 1024
@@ -156,12 +157,17 @@ def _ignore_unfixable(
156
157
  raise
157
158
 
158
159
 
159
- def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[GeneratedValue, None, None]:
160
+ def cover_schema_iter(
161
+ ctx: CoverageContext, schema: dict | bool, seen: set[Any | tuple[type, str]] | None = None
162
+ ) -> Generator[GeneratedValue, None, None]:
163
+ if seen is None:
164
+ seen = set()
160
165
  if isinstance(schema, bool):
161
166
  types = ["null", "boolean", "string", "number", "array", "object"]
162
167
  schema = {}
163
168
  else:
164
169
  types = schema.get("type", [])
170
+ push_examples_to_properties(schema)
165
171
  if not isinstance(types, list):
166
172
  types = [types] # type: ignore[unreachable]
167
173
  if not types:
@@ -172,13 +178,16 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
172
178
  yield from _cover_positive_for_type(ctx, schema, ty)
173
179
  if DataGenerationMethod.negative in ctx.data_generation_methods:
174
180
  template = None
175
- seen: set[Any | tuple[type, str]] = set()
176
181
  for key, value in schema.items():
177
182
  with _ignore_unfixable():
178
183
  if key == "enum":
179
184
  yield from _negative_enum(ctx, value)
180
185
  elif key == "const":
181
- yield from _negative_enum(ctx, [value])
186
+ for value_ in _negative_enum(ctx, [value]):
187
+ k = _to_hashable_key(value_.value)
188
+ if k not in seen:
189
+ yield value_
190
+ seen.add(k)
182
191
  elif key == "type":
183
192
  yield from _negative_type(ctx, seen, value)
184
193
  elif key == "properties":
@@ -190,27 +199,37 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
190
199
  yield from _negative_format(ctx, schema, value)
191
200
  elif key == "maximum":
192
201
  next = value + 1
193
- yield NegativeValue(next)
194
- seen.add(next)
202
+ if next not in seen:
203
+ yield NegativeValue(next)
204
+ seen.add(next)
195
205
  elif key == "minimum":
196
206
  next = value - 1
197
- yield NegativeValue(next)
198
- seen.add(next)
207
+ if next not in seen:
208
+ yield NegativeValue(next)
209
+ seen.add(next)
199
210
  elif key == "exclusiveMaximum" or key == "exclusiveMinimum" and value not in seen:
200
211
  yield NegativeValue(value)
201
212
  seen.add(value)
202
213
  elif key == "multipleOf":
203
- yield from _negative_multiple_of(ctx, schema, value)
214
+ for value_ in _negative_multiple_of(ctx, schema, value):
215
+ k = _to_hashable_key(value_.value)
216
+ if k not in seen:
217
+ yield value_
218
+ seen.add(k)
204
219
  elif key == "minLength" and 0 < value < BUFFER_SIZE:
205
220
  with suppress(InvalidArgument):
206
- yield NegativeValue(
207
- ctx.generate_from_schema({**schema, "minLength": value - 1, "maxLength": value - 1})
208
- )
221
+ value = ctx.generate_from_schema({**schema, "minLength": value - 1, "maxLength": value - 1})
222
+ k = _to_hashable_key(value)
223
+ if k not in seen:
224
+ yield NegativeValue(value)
225
+ seen.add(k)
209
226
  elif key == "maxLength" and value < BUFFER_SIZE:
210
227
  with suppress(InvalidArgument):
211
- yield NegativeValue(
212
- ctx.generate_from_schema({**schema, "minLength": value + 1, "maxLength": value + 1})
213
- )
228
+ value = ctx.generate_from_schema({**schema, "minLength": value + 1, "maxLength": value + 1})
229
+ k = _to_hashable_key(value)
230
+ if k not in seen:
231
+ yield NegativeValue(value)
232
+ seen.add(k)
214
233
  elif key == "uniqueItems" and value:
215
234
  yield from _negative_unique_items(ctx, schema)
216
235
  elif key == "required":
@@ -222,16 +241,16 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
222
241
  elif key == "allOf":
223
242
  nctx = ctx.with_negative()
224
243
  if len(value) == 1:
225
- yield from cover_schema_iter(nctx, value[0])
244
+ yield from cover_schema_iter(nctx, value[0], seen)
226
245
  else:
227
246
  with _ignore_unfixable():
228
247
  canonical = canonicalish(schema)
229
- yield from cover_schema_iter(nctx, canonical)
248
+ yield from cover_schema_iter(nctx, canonical, seen)
230
249
  elif key == "anyOf" or key == "oneOf":
231
250
  nctx = ctx.with_negative()
232
251
  # NOTE: Other sub-schemas are not filtered out
233
252
  for sub_schema in value:
234
- yield from cover_schema_iter(nctx, sub_schema)
253
+ yield from cover_schema_iter(nctx, sub_schema, seen)
235
254
 
236
255
 
237
256
  def _get_properties(schema: dict | bool) -> dict | bool:
@@ -264,6 +283,8 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
264
283
  """Generate positive string values."""
265
284
  # Boundary and near boundary values
266
285
  min_length = schema.get("minLength")
286
+ if min_length == 0:
287
+ min_length = None
267
288
  max_length = schema.get("maxLength")
268
289
  example = schema.get("example")
269
290
  examples = schema.get("examples")
@@ -283,6 +304,12 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
283
304
  elif not min_length and not max_length:
284
305
  # Default positive value
285
306
  yield PositiveValue(ctx.generate_from_schema(schema))
307
+ elif "pattern" in schema:
308
+ # Without merging `maxLength` & `minLength` into a regex it is problematic
309
+ # to generate a valid value as the unredlying machinery will resort to filtering
310
+ # and it is unlikely that it will generate a string of that length
311
+ yield PositiveValue(ctx.generate_from_schema(schema))
312
+ return
286
313
 
287
314
  seen = set()
288
315
 
@@ -476,6 +503,10 @@ def _positive_object(ctx: CoverageContext, schema: dict, template: dict) -> Gene
476
503
  combo = {k: v for k, v in template.items() if k in required or k == name}
477
504
  if combo != template:
478
505
  yield PositiveValue(combo)
506
+ # Generate one combination for each size from 2 to N-1
507
+ for selection in select_combinations(optional):
508
+ combo = {k: v for k, v in template.items() if k in required or k in selection}
509
+ yield PositiveValue(combo)
479
510
  # Generate only required properties
480
511
  if set(properties) != required:
481
512
  only_required = {k: v for k, v in template.items() if k in required}
@@ -491,6 +522,11 @@ def _positive_object(ctx: CoverageContext, schema: dict, template: dict) -> Gene
491
522
  seen.clear()
492
523
 
493
524
 
525
+ def select_combinations(optional: list[str]) -> Iterator[tuple[str, ...]]:
526
+ for size in range(2, len(optional)):
527
+ yield next(combinations(optional, size))
528
+
529
+
494
530
  def _negative_enum(ctx: CoverageContext, value: list) -> Generator[GeneratedValue, None, None]:
495
531
  strategy = JSON_STRATEGY.filter(lambda x: x not in value)
496
532
  # The exact negative value is not important here
@@ -565,7 +601,24 @@ def _negative_type(ctx: CoverageContext, seen: set, ty: str | list[str]) -> Gene
565
601
  del strategies["integer"]
566
602
  if "integer" in types:
567
603
  strategies["number"] = FLOAT_STRATEGY.filter(lambda x: x != int(x))
568
- negative_strategy = combine_strategies(tuple(strategies.values())).filter(lambda x: _to_hashable_key(x) not in seen)
569
- value = ctx.generate_from(negative_strategy, cached=True)
570
- yield NegativeValue(value)
571
- seen.add(_to_hashable_key(value))
604
+ for strat in strategies.values():
605
+ value = ctx.generate_from(strat, cached=True)
606
+ hashed = _to_hashable_key(value)
607
+ if hashed in seen:
608
+ continue
609
+ yield NegativeValue(value)
610
+ seen.add(hashed)
611
+
612
+
613
+ def push_examples_to_properties(schema: dict[str, Any]) -> None:
614
+ """Push examples from the top-level 'examples' field to the corresponding properties."""
615
+ if "examples" in schema and "properties" in schema:
616
+ properties = schema["properties"]
617
+ for example in schema["examples"]:
618
+ if isinstance(example, dict):
619
+ for prop, value in example.items():
620
+ if prop in properties:
621
+ if "examples" not in properties[prop]:
622
+ properties[prop]["examples"] = []
623
+ if value not in schema["properties"][prop]["examples"]:
624
+ properties[prop]["examples"].append(value)
@@ -6,9 +6,11 @@ from dataclasses import dataclass
6
6
  from typing import TYPE_CHECKING, Callable, Optional
7
7
 
8
8
  if TYPE_CHECKING:
9
+ from requests.structures import CaseInsensitiveDict
10
+
9
11
  from ..models import Case
10
12
  from ..transports.responses import GenericResponse
11
- from requests.structures import CaseInsensitiveDict
13
+ from ..types import RawAuth
12
14
 
13
15
 
14
16
  CheckFunction = Callable[["CheckContext", "GenericResponse", "Case"], Optional[bool]]
@@ -21,6 +23,7 @@ class CheckContext:
21
23
  Provides access to broader test execution data beyond individual test cases.
22
24
  """
23
25
 
26
+ auth: RawAuth | None = None
24
27
  headers: CaseInsensitiveDict | None = None
25
28
 
26
29
 
@@ -136,8 +136,7 @@ def prepare_request_data(kwargs: dict[str, Any]) -> PreparedRequestData:
136
136
  )
137
137
 
138
138
 
139
- @dataclass
140
- class TestPhase(Enum):
139
+ class TestPhase(str, Enum):
141
140
  __test__ = False
142
141
 
143
142
  EXPLICIT = "explicit"
@@ -184,6 +183,7 @@ class Case:
184
183
  # The way the case was generated (None for manually crafted ones)
185
184
  data_generation_method: DataGenerationMethod | None = None
186
185
  _auth: requests.auth.AuthBase | None = None
186
+ _has_explicit_auth: bool = False
187
187
 
188
188
  def __repr__(self) -> str:
189
189
  parts = [f"{self.__class__.__name__}("]
@@ -562,6 +562,8 @@ class Case:
562
562
  body=fast_deepcopy(self.body),
563
563
  generation_time=self.generation_time,
564
564
  id=self.id,
565
+ _auth=self._auth,
566
+ _has_explicit_auth=self._has_explicit_auth,
565
567
  )
566
568
 
567
569
 
@@ -11,7 +11,7 @@ if TYPE_CHECKING:
11
11
 
12
12
  from ...exceptions import OperationSchemaError
13
13
  from ...models import Case
14
- from ...types import NotSet
14
+ from ...types import NotSet, RawAuth
15
15
 
16
16
 
17
17
  @dataclass
@@ -19,15 +19,19 @@ class RunnerContext:
19
19
  """Holds context shared for a test run."""
20
20
 
21
21
  data: TestResultSet
22
+ auth: RawAuth | None
22
23
  seed: int | None
23
24
  stop_event: threading.Event
24
25
  unique_data: bool
25
26
  outcome_cache: dict[int, BaseException | None]
26
27
 
27
- __slots__ = ("data", "seed", "stop_event", "unique_data", "outcome_cache")
28
+ __slots__ = ("data", "auth", "seed", "stop_event", "unique_data", "outcome_cache")
28
29
 
29
- def __init__(self, *, seed: int | None, stop_event: threading.Event, unique_data: bool) -> None:
30
+ def __init__(
31
+ self, *, seed: int | None, auth: RawAuth | None, stop_event: threading.Event, unique_data: bool
32
+ ) -> None:
30
33
  self.data = TestResultSet(seed=seed)
34
+ self.auth = auth
31
35
  self.seed = seed
32
36
  self.stop_event = stop_event
33
37
  self.outcome_cache = {}
@@ -131,7 +131,7 @@ class BaseRunner:
131
131
  # If auth is explicitly provided, then the global provider is ignored
132
132
  if self.auth is not None:
133
133
  unregister_auth()
134
- ctx = RunnerContext(seed=self.seed, stop_event=stop_event, unique_data=self.unique_data)
134
+ ctx = RunnerContext(auth=self.auth, seed=self.seed, stop_event=stop_event, unique_data=self.unique_data)
135
135
  start_time = time.monotonic()
136
136
  initialized = None
137
137
  __probes = None
@@ -955,6 +955,7 @@ def network_test(
955
955
  headers["User-Agent"] = USER_AGENT
956
956
  if not dry_run:
957
957
  args = (
958
+ ctx,
958
959
  checks,
959
960
  targets,
960
961
  result,
@@ -973,6 +974,7 @@ def network_test(
973
974
 
974
975
  def _network_test(
975
976
  case: Case,
977
+ ctx: RunnerContext,
976
978
  checks: Iterable[CheckFunction],
977
979
  targets: Iterable[Target],
978
980
  result: TestResult,
@@ -1015,11 +1017,11 @@ def _network_test(
1015
1017
  run_targets(targets, context)
1016
1018
  status = Status.success
1017
1019
 
1018
- ctx = CheckContext(headers=CaseInsensitiveDict(headers) if headers else None)
1020
+ check_ctx = CheckContext(auth=ctx.auth, headers=CaseInsensitiveDict(headers) if headers else None)
1019
1021
  try:
1020
1022
  run_checks(
1021
1023
  case=case,
1022
- ctx=ctx,
1024
+ ctx=check_ctx,
1023
1025
  checks=checks,
1024
1026
  check_results=check_results,
1025
1027
  result=result,
@@ -1069,6 +1071,7 @@ def wsgi_test(
1069
1071
  headers = prepare_wsgi_headers(headers, auth, auth_type)
1070
1072
  if not dry_run:
1071
1073
  args = (
1074
+ ctx,
1072
1075
  checks,
1073
1076
  targets,
1074
1077
  result,
@@ -1085,6 +1088,7 @@ def wsgi_test(
1085
1088
 
1086
1089
  def _wsgi_test(
1087
1090
  case: Case,
1091
+ ctx: RunnerContext,
1088
1092
  checks: Iterable[CheckFunction],
1089
1093
  targets: Iterable[Target],
1090
1094
  result: TestResult,
@@ -1105,11 +1109,11 @@ def _wsgi_test(
1105
1109
  result.logs.extend(recorded.records)
1106
1110
  status = Status.success
1107
1111
  check_results: list[Check] = []
1108
- ctx = CheckContext(headers=CaseInsensitiveDict(headers) if headers else None)
1112
+ check_ctx = CheckContext(auth=ctx.auth, headers=CaseInsensitiveDict(headers) if headers else None)
1109
1113
  try:
1110
1114
  run_checks(
1111
1115
  case=case,
1112
- ctx=ctx,
1116
+ ctx=check_ctx,
1113
1117
  checks=checks,
1114
1118
  check_results=check_results,
1115
1119
  result=result,
@@ -1151,6 +1155,7 @@ def asgi_test(
1151
1155
 
1152
1156
  if not dry_run:
1153
1157
  args = (
1158
+ ctx,
1154
1159
  checks,
1155
1160
  targets,
1156
1161
  result,
@@ -1167,6 +1172,7 @@ def asgi_test(
1167
1172
 
1168
1173
  def _asgi_test(
1169
1174
  case: Case,
1175
+ ctx: RunnerContext,
1170
1176
  checks: Iterable[CheckFunction],
1171
1177
  targets: Iterable[Target],
1172
1178
  result: TestResult,
@@ -1183,11 +1189,11 @@ def _asgi_test(
1183
1189
  run_targets(targets, context)
1184
1190
  status = Status.success
1185
1191
  check_results: list[Check] = []
1186
- ctx = CheckContext(headers=CaseInsensitiveDict(headers) if headers else None)
1192
+ check_ctx = CheckContext(auth=ctx.auth, headers=CaseInsensitiveDict(headers) if headers else None)
1187
1193
  try:
1188
1194
  run_checks(
1189
1195
  case=case,
1190
- ctx=ctx,
1196
+ ctx=check_ctx,
1191
1197
  checks=checks,
1192
1198
  check_results=check_results,
1193
1199
  result=result,
@@ -527,7 +527,12 @@ def is_valid_path(parameters: dict[str, Any]) -> bool:
527
527
  disallowed_values = (SLASH, "")
528
528
 
529
529
  return not any(
530
- (value in disallowed_values or is_illegal_surrogate(value) or isinstance(value, str) and SLASH in value)
530
+ (
531
+ value in disallowed_values
532
+ or is_illegal_surrogate(value)
533
+ or isinstance(value, str)
534
+ and (SLASH in value or "}" in value or "{" in value)
535
+ )
531
536
  for value in parameters.values()
532
537
  )
533
538
 
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
- from dataclasses import dataclass
4
3
  import enum
4
+ from dataclasses import dataclass
5
5
  from http.cookies import SimpleCookie
6
6
  from typing import TYPE_CHECKING, Any, Dict, Generator, NoReturn, cast
7
7
  from urllib.parse import parse_qs, urlparse
@@ -348,7 +348,7 @@ def ignored_auth(ctx: CheckContext, response: GenericResponse, case: Case) -> bo
348
348
  security_parameters = _get_security_parameters(case.operation)
349
349
  # Authentication is required for this API operation and response is successful
350
350
  if security_parameters and 200 <= response.status_code < 300:
351
- auth = _contains_auth(ctx, response.request, security_parameters)
351
+ auth = _contains_auth(ctx, case, response.request, security_parameters)
352
352
  if auth == AuthKind.EXPLICIT:
353
353
  # Auth is explicitly set, it is expected to be valid
354
354
  # Check if invalid auth will give an error
@@ -412,11 +412,14 @@ def _get_security_parameters(operation: APIOperation) -> list[SecurityParameter]
412
412
 
413
413
 
414
414
  def _contains_auth(
415
- ctx: CheckContext, request: PreparedRequest, security_parameters: list[SecurityParameter]
415
+ ctx: CheckContext, case: Case, request: PreparedRequest, security_parameters: list[SecurityParameter]
416
416
  ) -> AuthKind | None:
417
417
  """Whether a request has authentication declared in the schema."""
418
418
  from requests.cookies import RequestsCookieJar
419
419
 
420
+ # If auth comes from explicit `auth` option or a custom auth, it is always explicit
421
+ if ctx.auth is not None or case._has_explicit_auth:
422
+ return AuthKind.EXPLICIT
420
423
  parsed = urlparse(request.url)
421
424
  query = parse_qs(parsed.query) # type: ignore
422
425
  # Load the `Cookie` header separately, because it is possible that `request._cookies` and the header are out of sync
@@ -5,6 +5,7 @@ from typing import Any, Callable
5
5
 
6
6
  from ...internal.copy import fast_deepcopy
7
7
  from ...internal.jsonschema import traverse_schema
8
+ from .patterns import update_quantifier
8
9
 
9
10
 
10
11
  def to_json_schema(
@@ -24,6 +25,15 @@ def to_json_schema(
24
25
  if schema_type == "file":
25
26
  schema["type"] = "string"
26
27
  schema["format"] = "binary"
28
+ pattern = schema.get("pattern")
29
+ min_length = schema.get("minLength")
30
+ max_length = schema.get("maxLength")
31
+ if pattern and (min_length or max_length):
32
+ new_pattern = update_quantifier(pattern, min_length, max_length)
33
+ if new_pattern != pattern:
34
+ schema.pop("minLength", None)
35
+ schema.pop("maxLength", None)
36
+ schema["pattern"] = new_pattern
27
37
  if schema_type == "object":
28
38
  if is_response_schema:
29
39
  # Write-only properties should not occur in responses