schemathesis 3.36.1__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.1 → schemathesis-3.36.2}/.github/workflows/codeql-analysis.yml +3 -3
  2. {schemathesis-3.36.1 → schemathesis-3.36.2}/PKG-INFO +1 -1
  3. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/changelog.rst +16 -1
  4. {schemathesis-3.36.1 → schemathesis-3.36.2}/pyproject.toml +1 -1
  5. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/coverage.py +49 -28
  6. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/checks.py +3 -2
  7. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/_hypothesis.py +6 -1
  8. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/converter.py +10 -0
  9. schemathesis-3.36.2/src/schemathesis/specs/openapi/patterns.py +120 -0
  10. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/test_combinations.py +85 -28
  11. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/test_examples.py +17 -0
  12. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/test_phase.py +70 -18
  13. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_runner.py +3 -3
  14. schemathesis-3.36.2/test/specs/openapi/test_patterns.py +133 -0
  15. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_randomized.py +2 -2
  16. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_converter.py +32 -0
  17. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_hypothesis.py +36 -2
  18. {schemathesis-3.36.1 → schemathesis-3.36.2}/.dockerignore +0 -0
  19. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/FUNDING.yml +0 -0
  20. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  21. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  22. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  23. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/dependabot.yml +0 -0
  24. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/build.yml +0 -0
  25. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/codspeed.yml +0 -0
  26. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/commit.yml +0 -0
  27. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/example-build.yml +0 -0
  28. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/example-no-build.yml +0 -0
  29. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/master_update.yml +0 -0
  30. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/release.yml +0 -0
  31. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/test-corpus.yml +0 -0
  32. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/test-hypothesis.yml +0 -0
  33. {schemathesis-3.36.1 → schemathesis-3.36.2}/.github/workflows/update-pre-commit.yml +0 -0
  34. {schemathesis-3.36.1 → schemathesis-3.36.2}/.gitignore +0 -0
  35. {schemathesis-3.36.1 → schemathesis-3.36.2}/.pre-commit-config.yaml +0 -0
  36. {schemathesis-3.36.1 → schemathesis-3.36.2}/.readthedocs.yml +0 -0
  37. {schemathesis-3.36.1 → schemathesis-3.36.2}/.relint.yml +0 -0
  38. {schemathesis-3.36.1 → schemathesis-3.36.2}/.rstcheck.cfg +0 -0
  39. {schemathesis-3.36.1 → schemathesis-3.36.2}/.yamllint +0 -0
  40. {schemathesis-3.36.1 → schemathesis-3.36.2}/CITATION.cff +0 -0
  41. {schemathesis-3.36.1 → schemathesis-3.36.2}/CODE_OF_CONDUCT.md +0 -0
  42. {schemathesis-3.36.1 → schemathesis-3.36.2}/CONTRIBUTING.rst +0 -0
  43. {schemathesis-3.36.1 → schemathesis-3.36.2}/Dockerfile +0 -0
  44. {schemathesis-3.36.1 → schemathesis-3.36.2}/Dockerfile.bookworm +0 -0
  45. {schemathesis-3.36.1 → schemathesis-3.36.2}/LICENSE +0 -0
  46. {schemathesis-3.36.1 → schemathesis-3.36.2}/README.md +0 -0
  47. {schemathesis-3.36.1 → schemathesis-3.36.2}/benches/cli.py +0 -0
  48. {schemathesis-3.36.1 → schemathesis-3.36.2}/benches/references.py +0 -0
  49. {schemathesis-3.36.1 → schemathesis-3.36.2}/benches/schema.py +1 -1
  50. {schemathesis-3.36.1 → schemathesis-3.36.2}/changelog.py +0 -0
  51. {schemathesis-3.36.1 → schemathesis-3.36.2}/codecov.yml +0 -0
  52. {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/graphql.tar.gz +0 -0
  53. {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/openapi-3.0.tar.gz +0 -0
  54. {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/openapi-3.1.tar.gz +0 -0
  55. {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/data/swagger-2.0.tar.gz +0 -0
  56. {schemathesis-3.36.1 → schemathesis-3.36.2}/corpus/tools.py +0 -0
  57. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/Makefile +0 -0
  58. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/additional-content.rst +0 -0
  59. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/api.rst +0 -0
  60. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/auth.rst +0 -0
  61. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/cli.rst +0 -0
  62. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/compatibility.rst +0 -0
  63. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/conf.py +0 -0
  64. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/continuous_integration.rst +0 -0
  65. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/contrib.rst +0 -0
  66. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/data-generation.rst +0 -0
  67. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/examples.rst +0 -0
  68. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/experimental.rst +0 -0
  69. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/extending.rst +0 -0
  70. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/faq.rst +0 -0
  71. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/getting-started.rst +0 -0
  72. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/graphql.rst +0 -0
  73. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/index.rst +0 -0
  74. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/python.rst +0 -0
  75. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/recipes.rst +0 -0
  76. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/requirements.txt +0 -0
  77. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/sanitizing.rst +0 -0
  78. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/service.rst +0 -0
  79. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/stateful.rst +0 -0
  80. {schemathesis-3.36.1 → schemathesis-3.36.2}/docs/targeted.rst +0 -0
  81. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/Dockerfile +0 -0
  82. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/README.md +0 -0
  83. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/app.py +0 -0
  84. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/compose.yml +0 -0
  85. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/openapi.json +0 -0
  86. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-app.in +0 -0
  87. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-app.txt +0 -0
  88. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-pytest.in +0 -0
  89. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/requirements-pytest.txt +0 -0
  90. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/__init__.py +0 -0
  91. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/conftest.py +0 -0
  92. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/extensions.py +0 -0
  93. {schemathesis-3.36.1 → schemathesis-3.36.2}/example/tests/test_app.py +0 -0
  94. {schemathesis-3.36.1 → schemathesis-3.36.2}/img/demo.gif +0 -0
  95. {schemathesis-3.36.1 → schemathesis-3.36.2}/img/service_github_report.png +0 -0
  96. {schemathesis-3.36.1 → schemathesis-3.36.2}/mypy.ini +0 -0
  97. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/__init__.py +0 -0
  98. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_compat.py +0 -0
  99. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_dependency_versions.py +0 -0
  100. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_hypothesis.py +0 -0
  101. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_lazy_import.py +0 -0
  102. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_override.py +0 -0
  103. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_rate_limiter.py +0 -0
  104. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/_xml.py +0 -0
  105. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/auths.py +0 -0
  106. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/checks.py +0 -0
  107. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/__init__.py +0 -0
  108. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/__main__.py +0 -0
  109. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/callbacks.py +0 -0
  110. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/cassettes.py +0 -0
  111. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/constants.py +0 -0
  112. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/context.py +0 -0
  113. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/debug.py +0 -0
  114. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/handlers.py +0 -0
  115. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/junitxml.py +0 -0
  116. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/options.py +0 -0
  117. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/output/__init__.py +0 -0
  118. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/output/default.py +0 -0
  119. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/output/short.py +0 -0
  120. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/reporting.py +0 -0
  121. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/cli/sanitization.py +0 -0
  122. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/code_samples.py +0 -0
  123. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/constants.py +0 -0
  124. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/__init__.py +0 -0
  125. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  126. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  127. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  128. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  129. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/contrib/unique_data.py +0 -0
  130. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/exceptions.py +0 -0
  131. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/experimental/__init__.py +0 -0
  132. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/__init__.py +0 -0
  133. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/_aiohttp.py +0 -0
  134. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/_flask.py +0 -0
  135. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/_server.py +0 -0
  136. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/extra/pytest_plugin.py +0 -0
  137. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/failures.py +0 -0
  138. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/filters.py +0 -0
  139. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/fixups/__init__.py +0 -0
  140. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/fixups/fast_api.py +0 -0
  141. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/fixups/utf8_bom.py +0 -0
  142. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/__init__.py +0 -0
  143. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/_hypothesis.py +0 -0
  144. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/generation/_methods.py +0 -0
  145. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/graphql.py +0 -0
  146. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/hooks.py +0 -0
  147. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/__init__.py +0 -0
  148. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/copy.py +0 -0
  149. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/datetime.py +0 -0
  150. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/deprecation.py +0 -0
  151. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/extensions.py +0 -0
  152. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/jsonschema.py +0 -0
  153. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/output.py +0 -0
  154. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/result.py +0 -0
  155. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/transformation.py +0 -0
  156. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/internal/validation.py +0 -0
  157. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/lazy.py +0 -0
  158. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/loaders.py +0 -0
  159. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/models.py +0 -0
  160. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/parameters.py +0 -0
  161. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/py.typed +0 -0
  162. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/__init__.py +0 -0
  163. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/events.py +0 -0
  164. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/__init__.py +0 -0
  165. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/context.py +0 -0
  166. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/core.py +0 -0
  167. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/solo.py +0 -0
  168. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/impl/threadpool.py +0 -0
  169. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/probes.py +0 -0
  170. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/runner/serialization.py +0 -0
  171. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/sanitization.py +0 -0
  172. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/schemas.py +0 -0
  173. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/serializers.py +0 -0
  174. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/__init__.py +0 -0
  175. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/auth.py +0 -0
  176. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/ci.py +0 -0
  177. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/client.py +0 -0
  178. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/constants.py +0 -0
  179. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/events.py +0 -0
  180. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/extensions.py +0 -0
  181. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/hosts.py +0 -0
  182. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/metadata.py +0 -0
  183. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/models.py +0 -0
  184. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/report.py +0 -0
  185. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/serialization.py +0 -0
  186. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/service/usage.py +0 -0
  187. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/__init__.py +0 -0
  188. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/__init__.py +0 -0
  189. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/_cache.py +0 -0
  190. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/loaders.py +0 -0
  191. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/nodes.py +0 -0
  192. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/scalars.py +0 -0
  193. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/schemas.py +0 -0
  194. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/graphql/validation.py +0 -0
  195. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/__init__.py +0 -0
  196. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/_cache.py +0 -0
  197. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/checks.py +1 -1
  198. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/constants.py +0 -0
  199. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/definitions.py +0 -0
  200. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/examples.py +0 -0
  201. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  202. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  203. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  204. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  205. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  206. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  207. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  208. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/formats.py +0 -0
  209. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/links.py +0 -0
  210. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/loaders.py +0 -0
  211. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/media_types.py +0 -0
  212. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  213. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  214. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  215. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  216. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/parameters.py +0 -0
  217. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/references.py +0 -0
  218. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/schemas.py +0 -0
  219. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/security.py +0 -0
  220. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/serialization.py +0 -0
  221. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  222. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  223. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  224. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/utils.py +0 -0
  225. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/specs/openapi/validation.py +0 -0
  226. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/__init__.py +0 -0
  227. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/config.py +0 -0
  228. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/context.py +0 -0
  229. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/events.py +0 -0
  230. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/runner.py +0 -0
  231. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/sink.py +0 -0
  232. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/state_machine.py +0 -0
  233. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/statistic.py +0 -0
  234. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/stateful/validation.py +0 -0
  235. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/targets.py +0 -0
  236. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/throttling.py +0 -0
  237. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/__init__.py +0 -0
  238. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/asgi.py +0 -0
  239. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/auth.py +0 -0
  240. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/content_types.py +0 -0
  241. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/headers.py +0 -0
  242. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/transports/responses.py +0 -0
  243. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/types.py +0 -0
  244. {schemathesis-3.36.1 → schemathesis-3.36.2}/src/schemathesis/utils.py +0 -0
  245. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__init__.py +0 -0
  246. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  247. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  248. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  249. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  250. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  251. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  252. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/__init__.py +0 -0
  253. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/__init__.py +0 -0
  254. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  255. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_fastapi/app.py +0 -0
  256. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_flask/__init__.py +0 -0
  257. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/_flask/app.py +0 -0
  258. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/_graphql/schema.py +0 -0
  259. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/cp1252_app.py +0 -0
  260. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/hooks.py +0 -0
  261. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/__init__.py +0 -0
  262. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  263. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/app.py +0 -0
  264. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  265. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_fastapi/__init__.py +0 -0
  266. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_fastapi/app.py +0 -0
  267. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_flask/__init__.py +0 -0
  268. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/_flask/app.py +0 -0
  269. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/apps/openapi/schema.py +0 -0
  270. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__init__.py +0 -0
  271. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  272. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  273. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  274. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  275. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  276. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  277. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  278. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/conftest.py +0 -0
  279. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/test_cli.py +0 -0
  280. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/test_provider.py +0 -0
  281. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/auth/test_pytest.py +0 -0
  282. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/checks/__init__.py +0 -0
  283. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/checks/test_checks.py +0 -0
  284. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__init__.py +0 -0
  285. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  286. {schemathesis-3.36.1 → 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
  287. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  288. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  289. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  290. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  291. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  292. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  293. {schemathesis-3.36.1 → 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
  294. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  295. {schemathesis-3.36.1 → 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
  296. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  297. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  298. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  299. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  300. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  301. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  302. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  303. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  304. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  305. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  306. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  307. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  308. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  309. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  310. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  311. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  312. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  313. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  314. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  315. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  316. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  317. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
  318. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
  319. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  320. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  321. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  322. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  323. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  324. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
  325. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
  326. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
  327. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  328. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  329. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  330. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  331. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  332. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  333. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  334. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  335. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  336. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  337. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  338. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  339. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  340. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  341. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  342. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  343. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  344. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  345. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  346. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  347. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  348. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  349. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  350. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  351. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  352. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  353. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  354. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  355. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  356. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  357. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  358. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  359. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  360. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  361. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  362. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  363. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  364. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  365. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  366. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  367. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  368. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  369. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  370. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  371. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  372. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  373. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  374. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  375. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  376. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  377. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  378. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  379. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  380. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  381. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  382. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  383. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  384. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  385. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  386. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  387. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  388. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  389. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  390. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  391. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  392. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  393. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  394. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  395. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  396. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  397. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  398. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  399. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  400. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  401. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  402. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  403. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  404. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  405. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  406. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  407. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  408. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  409. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  410. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  411. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  412. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  413. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  414. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  415. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  416. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  417. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  418. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  419. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  420. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  421. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  422. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  423. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  424. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  425. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  426. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  427. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  428. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  429. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  430. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  431. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  432. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  433. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  434. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  435. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  436. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  437. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  438. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  439. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  440. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  441. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  442. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  443. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  444. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  445. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  446. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  447. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  448. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  449. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  450. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  451. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  452. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  453. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  454. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  455. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  456. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  457. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  458. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  459. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  460. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
  461. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  462. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  463. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  464. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  465. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  466. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  467. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  468. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  469. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  470. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  471. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  472. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  473. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  474. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  475. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  476. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  477. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  478. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  479. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  480. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  481. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  482. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  483. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  484. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  485. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  486. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/cert.pem +0 -0
  487. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/conftest.py +0 -0
  488. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/output/__init__.py +0 -0
  489. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/output/test_default.py +0 -0
  490. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_asgi.py +0 -0
  491. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_callbacks.py +0 -0
  492. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_cassettes.py +0 -0
  493. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_checks.py +0 -0
  494. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_commands.py +0 -0
  495. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_crashes.py +0 -0
  496. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_hooks.py +0 -0
  497. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_junitxml.py +0 -0
  498. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_options.py +0 -0
  499. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_reporting.py +0 -0
  500. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/cli/test_targeted.py +0 -0
  501. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  502. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  503. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/conftest.py +0 -0
  504. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/test_curl.py +0 -0
  505. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/code_samples/test_python.py +0 -0
  506. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/conftest.py +0 -0
  507. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  508. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  509. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  510. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  511. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
  512. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  513. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  514. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
  515. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  516. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/openapi/formats/test_uuid.py +0 -0
  517. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  518. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/test_install.py +0 -0
  519. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/contrib/test_unique_data.py +0 -0
  520. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/coverage/__init__.py +0 -0
  521. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/petstore_v2.yaml +0 -0
  522. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/petstore_v3.yaml +0 -0
  523. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/components/parameters.yaml +0 -0
  524. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/components/responses.yaml +0 -0
  525. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/components/schemas.yaml +0 -0
  526. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/main.yaml +0 -0
  527. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/relative_files/paths/user-account.yaml +0 -0
  528. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/simple_openapi.yaml +0 -0
  529. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/data/simple_swagger.yaml +0 -0
  530. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  531. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/conftest.py +0 -0
  532. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/test_experiments.py +0 -0
  533. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/experimental/test_openapi_3_1.py +0 -0
  534. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/extra/__init__.py +0 -0
  535. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/extra/test_aiohttp.py +0 -0
  536. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/filters/__init__.py +0 -0
  537. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/filters/test_expressions.py +0 -0
  538. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/filters/test_matching.py +0 -0
  539. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/hooks/test_filter_operations.py +0 -0
  540. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/hooks/test_filters.py +0 -0
  541. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/hooks/test_hooks.py +0 -0
  542. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/conftest.py +0 -0
  543. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_app.py +0 -0
  544. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_common.py +0 -0
  545. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_graphql.py +0 -0
  546. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_openapi.py +0 -0
  547. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/loaders/test_yaml.py +0 -0
  548. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/__init__.py +0 -0
  549. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_checks.py +0 -0
  550. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_events.py +0 -0
  551. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/runner/test_probes.py +0 -0
  552. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__init__.py +0 -0
  553. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  554. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  555. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  556. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  557. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  558. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  559. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  560. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  561. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  562. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  563. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  564. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  565. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  566. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  567. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  568. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  569. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  570. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  571. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  572. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  573. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  574. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  575. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  576. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  577. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  578. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  579. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/conftest.py +0 -0
  580. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_auth.py +0 -0
  581. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_ci.py +0 -0
  582. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_cli.py +0 -0
  583. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_extensions.py +0 -0
  584. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_report.py +0 -0
  585. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_serialization.py +0 -0
  586. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/service/test_usage.py +0 -0
  587. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
  588. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
  589. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
  590. {schemathesis-3.36.1 → 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
  591. {schemathesis-3.36.1 → 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
  592. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  593. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  594. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/test_basic.py +0 -0
  595. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/test_custom_scalars.py +0 -0
  596. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/graphql/test_pytest.py +0 -0
  597. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  598. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  599. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
  600. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  601. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/blank.pdf +0 -0
  602. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/conftest.py +0 -0
  603. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_forms.py +0 -0
  604. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  605. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  606. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/__init__.py +0 -0
  607. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/conftest.py +0 -0
  608. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_config.py +0 -0
  609. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_runner.py +0 -0
  610. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/stateful/test_stateful.py +0 -0
  611. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_checks.py +0 -0
  612. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_examples.py +0 -0
  613. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_expressions.py +0 -0
  614. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_hypothesis.py +0 -0
  615. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_ignored_auth.py +0 -0
  616. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_links.py +0 -0
  617. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_media_types.py +0 -0
  618. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_negative.py +0 -0
  619. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_parameters.py +0 -0
  620. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_schemas.py +0 -0
  621. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_security.py +0 -0
  622. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_serializing.py +0 -0
  623. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_utils.py +0 -0
  624. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/specs/openapi/test_validation.py +0 -0
  625. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_app.py +0 -0
  626. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_asgi.py +0 -0
  627. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_async.py +0 -0
  628. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_common_parameters.py +0 -0
  629. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_dereferencing.py +0 -0
  630. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_direct_access.py +0 -0
  631. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_examples.py +0 -0
  632. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_filters.py +0 -0
  633. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_fixups.py +0 -0
  634. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_internal.py +0 -0
  635. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_lazy.py +0 -0
  636. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_models.py +0 -0
  637. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_output.py +0 -0
  638. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_package.py +0 -0
  639. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_parameters.py +0 -0
  640. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_parametrization.py +0 -0
  641. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_petstore.py +0 -0
  642. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_pytest.py +0 -0
  643. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_rate_limit.py +0 -0
  644. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_recoverable_errors.py +0 -0
  645. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_required.py +0 -0
  646. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_sanitizing_output.py +0 -0
  647. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_schemas.py +0 -0
  648. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_serialization.py +0 -0
  649. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_stateful.py +0 -0
  650. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_unittest.py +0 -0
  651. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_utils.py +0 -0
  652. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/test_wsgi.py +0 -0
  653. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/transports/test_content_types.py +0 -0
  654. {schemathesis-3.36.1 → schemathesis-3.36.2}/test/utils.py +0 -0
  655. {schemathesis-3.36.1 → schemathesis-3.36.2}/test-corpus/test_corpus.py +0 -0
  656. {schemathesis-3.36.1 → schemathesis-3.36.2}/test_server.sh +0 -0
  657. {schemathesis-3.36.1 → 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.7
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.7
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.7
66
+ uses: github/codeql-action/analyze@v3.26.8
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: schemathesis
3
- Version: 3.36.1
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
@@ -1,9 +1,24 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.36.1...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
+
7
22
  .. _v3.36.1:
8
23
 
9
24
  :version:`3.36.1 <v3.36.0...v3.36.1>` - 2024-09-23
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.36.1"
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" }]
@@ -15,7 +15,7 @@ from hypothesis_jsonschema._canonicalise import canonicalish
15
15
 
16
16
  from schemathesis.constants import NOT_SET
17
17
 
18
- from ._hypothesis import combine_strategies, get_single_example
18
+ from ._hypothesis import get_single_example
19
19
  from ._methods import DataGenerationMethod
20
20
 
21
21
  BUFFER_SIZE = 8 * 1024
@@ -157,7 +157,11 @@ def _ignore_unfixable(
157
157
  raise
158
158
 
159
159
 
160
- 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()
161
165
  if isinstance(schema, bool):
162
166
  types = ["null", "boolean", "string", "number", "array", "object"]
163
167
  schema = {}
@@ -174,13 +178,16 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
174
178
  yield from _cover_positive_for_type(ctx, schema, ty)
175
179
  if DataGenerationMethod.negative in ctx.data_generation_methods:
176
180
  template = None
177
- seen: set[Any | tuple[type, str]] = set()
178
181
  for key, value in schema.items():
179
182
  with _ignore_unfixable():
180
183
  if key == "enum":
181
184
  yield from _negative_enum(ctx, value)
182
185
  elif key == "const":
183
- 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)
184
191
  elif key == "type":
185
192
  yield from _negative_type(ctx, seen, value)
186
193
  elif key == "properties":
@@ -192,27 +199,37 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
192
199
  yield from _negative_format(ctx, schema, value)
193
200
  elif key == "maximum":
194
201
  next = value + 1
195
- yield NegativeValue(next)
196
- seen.add(next)
202
+ if next not in seen:
203
+ yield NegativeValue(next)
204
+ seen.add(next)
197
205
  elif key == "minimum":
198
206
  next = value - 1
199
- yield NegativeValue(next)
200
- seen.add(next)
207
+ if next not in seen:
208
+ yield NegativeValue(next)
209
+ seen.add(next)
201
210
  elif key == "exclusiveMaximum" or key == "exclusiveMinimum" and value not in seen:
202
211
  yield NegativeValue(value)
203
212
  seen.add(value)
204
213
  elif key == "multipleOf":
205
- 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)
206
219
  elif key == "minLength" and 0 < value < BUFFER_SIZE:
207
220
  with suppress(InvalidArgument):
208
- yield NegativeValue(
209
- ctx.generate_from_schema({**schema, "minLength": value - 1, "maxLength": value - 1})
210
- )
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)
211
226
  elif key == "maxLength" and value < BUFFER_SIZE:
212
227
  with suppress(InvalidArgument):
213
- yield NegativeValue(
214
- ctx.generate_from_schema({**schema, "minLength": value + 1, "maxLength": value + 1})
215
- )
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)
216
233
  elif key == "uniqueItems" and value:
217
234
  yield from _negative_unique_items(ctx, schema)
218
235
  elif key == "required":
@@ -224,16 +241,16 @@ def cover_schema_iter(ctx: CoverageContext, schema: dict | bool) -> Generator[Ge
224
241
  elif key == "allOf":
225
242
  nctx = ctx.with_negative()
226
243
  if len(value) == 1:
227
- yield from cover_schema_iter(nctx, value[0])
244
+ yield from cover_schema_iter(nctx, value[0], seen)
228
245
  else:
229
246
  with _ignore_unfixable():
230
247
  canonical = canonicalish(schema)
231
- yield from cover_schema_iter(nctx, canonical)
248
+ yield from cover_schema_iter(nctx, canonical, seen)
232
249
  elif key == "anyOf" or key == "oneOf":
233
250
  nctx = ctx.with_negative()
234
251
  # NOTE: Other sub-schemas are not filtered out
235
252
  for sub_schema in value:
236
- yield from cover_schema_iter(nctx, sub_schema)
253
+ yield from cover_schema_iter(nctx, sub_schema, seen)
237
254
 
238
255
 
239
256
  def _get_properties(schema: dict | bool) -> dict | bool:
@@ -584,10 +601,13 @@ def _negative_type(ctx: CoverageContext, seen: set, ty: str | list[str]) -> Gene
584
601
  del strategies["integer"]
585
602
  if "integer" in types:
586
603
  strategies["number"] = FLOAT_STRATEGY.filter(lambda x: x != int(x))
587
- negative_strategy = combine_strategies(tuple(strategies.values())).filter(lambda x: _to_hashable_key(x) not in seen)
588
- value = ctx.generate_from(negative_strategy, cached=True)
589
- yield NegativeValue(value)
590
- 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)
591
611
 
592
612
 
593
613
  def push_examples_to_properties(schema: dict[str, Any]) -> None:
@@ -595,9 +615,10 @@ def push_examples_to_properties(schema: dict[str, Any]) -> None:
595
615
  if "examples" in schema and "properties" in schema:
596
616
  properties = schema["properties"]
597
617
  for example in schema["examples"]:
598
- for prop, value in example.items():
599
- if prop in properties:
600
- if "examples" not in properties[prop]:
601
- properties[prop]["examples"] = []
602
- if value not in schema["properties"][prop]["examples"]:
603
- properties[prop]["examples"].append(value)
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,10 +6,11 @@ from dataclasses import dataclass
6
6
  from typing import TYPE_CHECKING, Callable, Optional
7
7
 
8
8
  if TYPE_CHECKING:
9
- from ..types import RawAuth
9
+ from requests.structures import CaseInsensitiveDict
10
+
10
11
  from ..models import Case
11
12
  from ..transports.responses import GenericResponse
12
- from requests.structures import CaseInsensitiveDict
13
+ from ..types import RawAuth
13
14
 
14
15
 
15
16
  CheckFunction = Callable[["CheckContext", "GenericResponse", "Case"], Optional[bool]]
@@ -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
 
@@ -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
@@ -0,0 +1,120 @@
1
+ from __future__ import annotations
2
+
3
+ import re
4
+ from functools import lru_cache
5
+
6
+ try: # pragma: no cover
7
+ import re._constants as sre
8
+ import re._parser as sre_parse
9
+ except ImportError:
10
+ import sre_constants as sre
11
+ import sre_parse
12
+
13
+ ANCHOR = sre.AT
14
+ REPEATS: tuple
15
+ if hasattr(sre, "POSSESSIVE_REPEAT"):
16
+ REPEATS = (sre.MIN_REPEAT, sre.MAX_REPEAT, sre.POSSESSIVE_REPEAT)
17
+ else:
18
+ REPEATS = (sre.MIN_REPEAT, sre.MAX_REPEAT)
19
+ LITERAL = sre.LITERAL
20
+ IN = sre.IN
21
+ MAXREPEAT = sre_parse.MAXREPEAT
22
+
23
+
24
+ @lru_cache()
25
+ def update_quantifier(pattern: str, min_length: int | None, max_length: int | None) -> str:
26
+ """Update the quantifier of a regular expression based on given min and max lengths."""
27
+ if not pattern or (min_length in (None, 0) and max_length is None):
28
+ return pattern
29
+
30
+ try:
31
+ parsed = sre_parse.parse(pattern)
32
+ return _handle_parsed_pattern(parsed, pattern, min_length, max_length)
33
+ except re.error:
34
+ # Invalid pattern
35
+ return pattern
36
+
37
+
38
+ def _handle_parsed_pattern(parsed: list, pattern: str, min_length: int | None, max_length: int | None) -> str:
39
+ """Handle the parsed pattern and update quantifiers based on different cases."""
40
+ if len(parsed) == 1:
41
+ op, value = parsed[0]
42
+ return _update_quantifier(op, value, pattern, min_length, max_length)
43
+ elif len(parsed) == 2:
44
+ if parsed[0][0] == ANCHOR:
45
+ # Starts with an anchor
46
+ op, value = parsed[1]
47
+ leading_anchor = pattern[0]
48
+ return leading_anchor + _update_quantifier(op, value, pattern[1:], min_length, max_length)
49
+ if parsed[1][0] == ANCHOR:
50
+ # Ends with an anchor
51
+ op, value = parsed[0]
52
+ trailing_anchor = pattern[-1]
53
+ return _update_quantifier(op, value, pattern[:-1], min_length, max_length) + trailing_anchor
54
+ elif len(parsed) == 3 and parsed[0][0] == ANCHOR and parsed[2][0] == ANCHOR:
55
+ op, value = parsed[1]
56
+ leading_anchor = pattern[0]
57
+ trailing_anchor = pattern[-1]
58
+ return leading_anchor + _update_quantifier(op, value, pattern[1:-1], min_length, max_length) + trailing_anchor
59
+ return pattern
60
+
61
+
62
+ def _update_quantifier(op: int, value: tuple, pattern: str, min_length: int | None, max_length: int | None) -> str:
63
+ """Update the quantifier based on the operation type and given constraints."""
64
+ if op in REPEATS:
65
+ return _handle_repeat_quantifier(value, pattern, min_length, max_length)
66
+ if op in (LITERAL, IN) and max_length != 0:
67
+ return _handle_literal_or_in_quantifier(pattern, min_length, max_length)
68
+ return pattern
69
+
70
+
71
+ def _handle_repeat_quantifier(
72
+ value: tuple[int, int, tuple], pattern: str, min_length: int | None, max_length: int | None
73
+ ) -> str:
74
+ """Handle repeat quantifiers (e.g., '+', '*', '?')."""
75
+ min_repeat, max_repeat, _ = value
76
+ min_length, max_length = _build_size(min_repeat, max_repeat, min_length, max_length)
77
+ if min_length > max_length:
78
+ return pattern
79
+ return f"({_strip_quantifier(pattern)})" + _build_quantifier(min_length, max_length)
80
+
81
+
82
+ def _handle_literal_or_in_quantifier(pattern: str, min_length: int | None, max_length: int | None) -> str:
83
+ """Handle literal or character class quantifiers."""
84
+ min_length = 1 if min_length is None else max(min_length, 1)
85
+ return f"({pattern})" + _build_quantifier(min_length, max_length)
86
+
87
+
88
+ def _build_quantifier(minimum: int | None, maximum: int | None) -> str:
89
+ """Construct a quantifier string based on min and max values."""
90
+ if maximum == MAXREPEAT or maximum is None:
91
+ return f"{{{minimum or 0},}}"
92
+ if minimum == maximum:
93
+ return f"{{{minimum}}}"
94
+ return f"{{{minimum or 0},{maximum}}}"
95
+
96
+
97
+ def _build_size(min_repeat: int, max_repeat: int, min_length: int | None, max_length: int | None) -> tuple[int, int]:
98
+ """Merge the current repetition constraints with the provided min and max lengths."""
99
+ if min_length is not None:
100
+ min_repeat = max(min_repeat, min_length)
101
+ if max_length is not None:
102
+ if max_repeat == MAXREPEAT:
103
+ max_repeat = max_length
104
+ else:
105
+ max_repeat = min(max_repeat, max_length)
106
+ return min_repeat, max_repeat
107
+
108
+
109
+ def _strip_quantifier(pattern: str) -> str:
110
+ """Remove quantifier from the pattern."""
111
+ # Lazy & posessive quantifiers
112
+ if pattern.endswith(("*?", "+?", "??", "*+", "?+", "++")):
113
+ return pattern[:-2]
114
+ if pattern.endswith(("?", "*", "+")):
115
+ pattern = pattern[:-1]
116
+ if pattern.endswith("}"):
117
+ # Find the start of the exact quantifier and drop everything since that index
118
+ idx = pattern.rfind("{")
119
+ pattern = pattern[:idx]
120
+ return pattern
@@ -152,22 +152,22 @@ class NotNumber:
152
152
  @pytest.mark.parametrize(
153
153
  "schema, expected",
154
154
  (
155
- ({"type": "null"}, 0),
156
- ({"type": "boolean"}, 0),
157
- ({"type": ["boolean", "null"]}, 0),
158
- ({"enum": [1, 2]}, None),
159
- ({"enum": [1, 2, {}]}, None),
160
- ({"const": 42}, None),
155
+ ({"type": "null"}, [0, "", [], {}]),
156
+ ({"type": "boolean"}, [0, None, "", [], {}]),
157
+ ({"type": ["boolean", "null"]}, [0, "", [], {}]),
158
+ ({"enum": [1, 2]}, [None]),
159
+ ({"enum": [1, 2, {}]}, [None]),
160
+ ({"const": 42}, [None]),
161
161
  ({"multipleOf": 2}, lambda x: x % 2 != 0),
162
- ({"format": "date-time"}, AnyString()),
163
- ({"format": "hostname"}, AnyString()),
164
- ({"format": "unknown"}, AnyString()),
165
- ({"uniqueItems": True}, [None, None]),
166
- ({"maximum": 5}, 6),
167
- ({"minimum": 5}, 4),
168
- ({"exclusiveMinimum": 5}, 5),
169
- ({"exclusiveMaximum": 5}, 5),
170
- ({"required": ["a"]}, {}),
162
+ ({"format": "date-time"}, [AnyString()]),
163
+ ({"format": "hostname"}, [AnyString()]),
164
+ ({"format": "unknown"}, [AnyString()]),
165
+ ({"uniqueItems": True}, [[None, None]]),
166
+ ({"maximum": 5}, [6]),
167
+ ({"minimum": 5}, [4]),
168
+ ({"exclusiveMinimum": 5}, [5]),
169
+ ({"exclusiveMaximum": 5}, [5]),
170
+ ({"required": ["a"]}, [{}]),
171
171
  ),
172
172
  )
173
173
  def test_negative_primitive_schemas(nctx, schema, expected):
@@ -176,7 +176,7 @@ def test_negative_primitive_schemas(nctx, schema, expected):
176
176
  assert len(covered) == 1
177
177
  assert expected(covered[0])
178
178
  else:
179
- assert covered == [expected]
179
+ assert covered == expected
180
180
  assert_unique(covered)
181
181
  assert_not_conform(covered, schema)
182
182
 
@@ -211,13 +211,13 @@ def test_positive_string(ctx, schema, lengths):
211
211
  @pytest.mark.parametrize(
212
212
  "schema, expected",
213
213
  (
214
- ({"type": "string"}, [0]),
215
- ({"type": "string", "minLength": 5}, [0, "0000"]),
216
- ({"type": "string", "maxLength": 10}, [0, "00000000000"]),
217
- ({"type": "string", "minLength": 5, "maxLength": 10}, [0, "0000", "00000000000"]),
218
- ({"type": "string", "pattern": "^[0-9]", "minLength": 1}, [0, ""]),
219
- ({"type": "string", "pattern": "^[0-9]"}, [0, ""]),
220
- ({"type": "string", "format": "date-time"}, [0, ""]),
214
+ ({"type": "string"}, [0, None, [], {}]),
215
+ ({"type": "string", "minLength": 5}, [0, None, [], {}, "0000"]),
216
+ ({"type": "string", "maxLength": 10}, [0, None, [], {}, "00000000000"]),
217
+ ({"type": "string", "minLength": 5, "maxLength": 10}, [0, None, [], {}, "0000", "00000000000"]),
218
+ ({"type": "string", "pattern": "^[0-9]", "minLength": 1}, [0, None, [], {}, ""]),
219
+ ({"type": "string", "pattern": "^[0-9]"}, [0, None, [], {}, ""]),
220
+ ({"type": "string", "format": "date-time"}, [0, None, [], {}, ""]),
221
221
  ),
222
222
  )
223
223
  def test_negative_string(nctx, schema, expected):
@@ -745,8 +745,32 @@ def test_positive_other(pctx, schema, expected):
745
745
  "bar": "",
746
746
  },
747
747
  {
748
- "foo": "",
748
+ "bar": "",
749
+ "foo": None,
750
+ },
751
+ {
752
+ "bar": "",
753
+ "foo": [],
754
+ },
755
+ {
756
+ "bar": "",
757
+ "foo": {},
758
+ },
759
+ {
749
760
  "bar": 0,
761
+ "foo": "",
762
+ },
763
+ {
764
+ "bar": None,
765
+ "foo": "",
766
+ },
767
+ {
768
+ "bar": [],
769
+ "foo": "",
770
+ },
771
+ {
772
+ "foo": "",
773
+ "bar": {},
750
774
  },
751
775
  {
752
776
  "bar": "",
@@ -765,12 +789,36 @@ def test_positive_other(pctx, schema, expected):
765
789
  },
766
790
  [
767
791
  {
792
+ "bar": "",
768
793
  "foo": 0,
794
+ },
795
+ {
769
796
  "bar": "",
797
+ "foo": None,
798
+ },
799
+ {
800
+ "bar": "",
801
+ "foo": [],
802
+ },
803
+ {
804
+ "bar": "",
805
+ "foo": {},
770
806
  },
771
807
  {
772
- "foo": "",
773
808
  "bar": 0,
809
+ "foo": "",
810
+ },
811
+ {
812
+ "bar": None,
813
+ "foo": "",
814
+ },
815
+ {
816
+ "bar": [],
817
+ "foo": "",
818
+ },
819
+ {
820
+ "bar": {},
821
+ "foo": "",
774
822
  },
775
823
  ],
776
824
  ),
@@ -785,6 +833,15 @@ def test_positive_other(pctx, schema, expected):
785
833
  {
786
834
  "foo": 0,
787
835
  },
836
+ {
837
+ "foo": None,
838
+ },
839
+ {
840
+ "foo": [],
841
+ },
842
+ {
843
+ "foo": {},
844
+ },
788
845
  {
789
846
  "foo": "",
790
847
  "x-schemathesis-unknown-property": 42,
@@ -818,7 +875,7 @@ def test_negative_objects(nctx, schema, expected):
818
875
  {"minimum": 5},
819
876
  ],
820
877
  },
821
- [4, NotNumber()],
878
+ [4, AnyNumber(), False, None, "", [], {}],
822
879
  ),
823
880
  (
824
881
  {
@@ -827,7 +884,7 @@ def test_negative_objects(nctx, schema, expected):
827
884
  {"type": "string"},
828
885
  ],
829
886
  },
830
- [4, 0],
887
+ [4, 0, None, [], {}],
831
888
  ),
832
889
  (
833
890
  {
@@ -846,7 +903,7 @@ def test_negative_objects(nctx, schema, expected):
846
903
  },
847
904
  ]
848
905
  },
849
- [ANY, None, 0],
906
+ [ANY, None, 0, ANY],
850
907
  ),
851
908
  (
852
909
  {
@@ -1,4 +1,5 @@
1
1
  import pytest
2
+
2
3
  from schemathesis.generation.coverage import push_examples_to_properties
3
4
 
4
5
 
@@ -126,6 +127,22 @@ from schemathesis.generation.coverage import push_examples_to_properties
126
127
  ],
127
128
  },
128
129
  ),
130
+ (
131
+ {
132
+ "type": "object",
133
+ "properties": {
134
+ "name": {"type": "string", "examples": ["Alice"]},
135
+ },
136
+ "examples": [2],
137
+ },
138
+ {
139
+ "type": "object",
140
+ "properties": {
141
+ "name": {"type": "string", "examples": ["Alice"]},
142
+ },
143
+ "examples": [2],
144
+ },
145
+ ),
129
146
  ],
130
147
  )
131
148
  def test_push_examples_to_properties(schema, expected):