schemathesis 3.39.10__tar.gz → 3.39.11__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 (692) hide show
  1. {schemathesis-3.39.10 → schemathesis-3.39.11}/PKG-INFO +1 -1
  2. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/changelog.rst +21 -1
  3. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/contrib.rst +1 -1
  4. {schemathesis-3.39.10 → schemathesis-3.39.11}/pyproject.toml +1 -1
  5. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_hypothesis.py +106 -58
  6. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/failures.py +6 -0
  7. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/checks.py +3 -1
  8. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/impl/core.py +18 -8
  9. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/checks.py +6 -1
  10. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/examples.py +3 -5
  11. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/patterns.py +18 -3
  12. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/serialization.py +12 -0
  13. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/_aiohttp/handlers.py +8 -0
  14. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/schema.py +2 -0
  15. schemathesis-3.39.11/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +103 -0
  16. schemathesis-3.39.11/test/cli/__snapshots__/test_commands/test_warning_on_no_2xx.raw +24 -0
  17. schemathesis-3.39.11/test/cli/__snapshots__/test_commands/test_warning_on_no_2xx_options_only.raw +31 -0
  18. schemathesis-3.39.11/test/cli/__snapshots__/test_commands/test_warning_on_unauthorized.raw +24 -0
  19. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_checks.py +76 -0
  20. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_commands.py +14 -1
  21. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +1 -1
  22. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/coverage/test_phase.py +13 -13
  23. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_patterns.py +1 -0
  24. {schemathesis-3.39.10 → schemathesis-3.39.11}/.dockerignore +0 -0
  25. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/FUNDING.yml +0 -0
  26. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  27. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  28. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  29. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/dependabot.yml +0 -0
  30. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/build.yml +0 -0
  31. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/codeql-analysis.yml +0 -0
  32. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/codspeed.yml +0 -0
  33. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/commit.yml +0 -0
  34. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/example-build.yml +0 -0
  35. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/example-no-build.yml +0 -0
  36. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/release.yml +0 -0
  37. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/test-corpus.yml +0 -0
  38. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/test-hypothesis.yml +0 -0
  39. {schemathesis-3.39.10 → schemathesis-3.39.11}/.github/workflows/update-pre-commit.yml +0 -0
  40. {schemathesis-3.39.10 → schemathesis-3.39.11}/.gitignore +0 -0
  41. {schemathesis-3.39.10 → schemathesis-3.39.11}/.pre-commit-config.yaml +0 -0
  42. {schemathesis-3.39.10 → schemathesis-3.39.11}/.readthedocs.yml +0 -0
  43. {schemathesis-3.39.10 → schemathesis-3.39.11}/.relint.yml +0 -0
  44. {schemathesis-3.39.10 → schemathesis-3.39.11}/.rstcheck.cfg +0 -0
  45. {schemathesis-3.39.10 → schemathesis-3.39.11}/.yamllint +0 -0
  46. {schemathesis-3.39.10 → schemathesis-3.39.11}/CITATION.cff +0 -0
  47. {schemathesis-3.39.10 → schemathesis-3.39.11}/CODE_OF_CONDUCT.md +0 -0
  48. {schemathesis-3.39.10 → schemathesis-3.39.11}/CONTRIBUTING.rst +0 -0
  49. {schemathesis-3.39.10 → schemathesis-3.39.11}/Dockerfile +0 -0
  50. {schemathesis-3.39.10 → schemathesis-3.39.11}/Dockerfile.bookworm +0 -0
  51. {schemathesis-3.39.10 → schemathesis-3.39.11}/LICENSE +0 -0
  52. {schemathesis-3.39.10 → schemathesis-3.39.11}/README.md +0 -0
  53. {schemathesis-3.39.10 → schemathesis-3.39.11}/SECURITY.md +0 -0
  54. {schemathesis-3.39.10 → schemathesis-3.39.11}/benches/cli.py +0 -0
  55. {schemathesis-3.39.10 → schemathesis-3.39.11}/benches/coverage_phase.py +0 -0
  56. {schemathesis-3.39.10 → schemathesis-3.39.11}/benches/references.py +0 -0
  57. {schemathesis-3.39.10 → schemathesis-3.39.11}/benches/schema.py +0 -0
  58. {schemathesis-3.39.10 → schemathesis-3.39.11}/changelog.py +0 -0
  59. {schemathesis-3.39.10 → schemathesis-3.39.11}/codecov.yml +0 -0
  60. {schemathesis-3.39.10 → schemathesis-3.39.11}/corpus/data/graphql.tar.gz +0 -0
  61. {schemathesis-3.39.10 → schemathesis-3.39.11}/corpus/data/openapi-3.0.tar.gz +0 -0
  62. {schemathesis-3.39.10 → schemathesis-3.39.11}/corpus/data/openapi-3.1.tar.gz +0 -0
  63. {schemathesis-3.39.10 → schemathesis-3.39.11}/corpus/data/swagger-2.0.tar.gz +0 -0
  64. {schemathesis-3.39.10 → schemathesis-3.39.11}/corpus/tools.py +0 -0
  65. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/Makefile +0 -0
  66. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/additional-content.rst +0 -0
  67. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/api.rst +0 -0
  68. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/auth.rst +0 -0
  69. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/cli.rst +0 -0
  70. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/compatibility.rst +0 -0
  71. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/conf.py +0 -0
  72. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/continuous_integration.rst +0 -0
  73. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/data-generation.rst +0 -0
  74. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/examples.rst +0 -0
  75. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/experimental.rst +0 -0
  76. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/extending.rst +0 -0
  77. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/faq.rst +0 -0
  78. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/getting-started.rst +0 -0
  79. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/graphql.rst +0 -0
  80. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/index.rst +0 -0
  81. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/python.rst +0 -0
  82. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/recipes.rst +0 -0
  83. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/requirements.txt +0 -0
  84. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/sanitizing.rst +0 -0
  85. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/service.rst +0 -0
  86. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/stateful.rst +0 -0
  87. {schemathesis-3.39.10 → schemathesis-3.39.11}/docs/targeted.rst +0 -0
  88. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/Dockerfile +0 -0
  89. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/README.md +0 -0
  90. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/app.py +0 -0
  91. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/compose.yml +0 -0
  92. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/openapi.json +0 -0
  93. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/requirements-app.in +0 -0
  94. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/requirements-app.txt +0 -0
  95. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/requirements-pytest.in +0 -0
  96. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/requirements-pytest.txt +0 -0
  97. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/tests/__init__.py +0 -0
  98. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/tests/conftest.py +0 -0
  99. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/tests/extensions.py +0 -0
  100. {schemathesis-3.39.10 → schemathesis-3.39.11}/example/tests/test_app.py +0 -0
  101. {schemathesis-3.39.10 → schemathesis-3.39.11}/img/demo.gif +0 -0
  102. {schemathesis-3.39.10 → schemathesis-3.39.11}/img/service_github_report.png +0 -0
  103. {schemathesis-3.39.10 → schemathesis-3.39.11}/mypy.ini +0 -0
  104. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/__init__.py +0 -0
  105. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_compat.py +0 -0
  106. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_dependency_versions.py +0 -0
  107. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_lazy_import.py +0 -0
  108. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_override.py +0 -0
  109. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_patches.py +0 -0
  110. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_rate_limiter.py +0 -0
  111. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/_xml.py +0 -0
  112. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/auths.py +0 -0
  113. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/checks.py +0 -0
  114. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/__init__.py +0 -0
  115. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/__main__.py +0 -0
  116. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/callbacks.py +0 -0
  117. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/cassettes.py +0 -0
  118. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/constants.py +0 -0
  119. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/context.py +0 -0
  120. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/debug.py +0 -0
  121. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/handlers.py +0 -0
  122. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/junitxml.py +0 -0
  123. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/options.py +0 -0
  124. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/output/__init__.py +0 -0
  125. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/output/default.py +0 -0
  126. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/output/short.py +0 -0
  127. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/reporting.py +0 -0
  128. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/cli/sanitization.py +0 -0
  129. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/code_samples.py +0 -0
  130. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/constants.py +0 -0
  131. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/contrib/__init__.py +0 -0
  132. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  133. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  134. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  135. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  136. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/contrib/unique_data.py +0 -0
  137. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/exceptions.py +0 -0
  138. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/experimental/__init__.py +0 -0
  139. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/extra/__init__.py +0 -0
  140. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/extra/_aiohttp.py +0 -0
  141. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/extra/_flask.py +0 -0
  142. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/extra/_server.py +0 -0
  143. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/extra/pytest_plugin.py +0 -0
  144. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/filters.py +0 -0
  145. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/fixups/__init__.py +0 -0
  146. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/fixups/fast_api.py +0 -0
  147. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/fixups/utf8_bom.py +0 -0
  148. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/generation/__init__.py +0 -0
  149. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/generation/_hypothesis.py +0 -0
  150. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/generation/_methods.py +0 -0
  151. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/generation/coverage.py +0 -0
  152. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/graphql.py +0 -0
  153. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/hooks.py +0 -0
  154. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/__init__.py +0 -0
  155. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/copy.py +0 -0
  156. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/datetime.py +0 -0
  157. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/deprecation.py +0 -0
  158. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/diff.py +0 -0
  159. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/extensions.py +0 -0
  160. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/jsonschema.py +0 -0
  161. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/output.py +0 -0
  162. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/result.py +0 -0
  163. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/transformation.py +0 -0
  164. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/internal/validation.py +0 -0
  165. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/lazy.py +0 -0
  166. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/loaders.py +0 -0
  167. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/models.py +0 -0
  168. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/parameters.py +0 -0
  169. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/py.typed +0 -0
  170. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/__init__.py +0 -0
  171. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/events.py +0 -0
  172. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/impl/__init__.py +0 -0
  173. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/impl/context.py +0 -0
  174. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/impl/solo.py +0 -0
  175. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/impl/threadpool.py +0 -0
  176. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/probes.py +0 -0
  177. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/runner/serialization.py +0 -0
  178. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/sanitization.py +0 -0
  179. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/schemas.py +0 -0
  180. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/serializers.py +0 -0
  181. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/__init__.py +0 -0
  182. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/auth.py +0 -0
  183. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/ci.py +0 -0
  184. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/client.py +0 -0
  185. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/constants.py +0 -0
  186. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/events.py +0 -0
  187. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/extensions.py +0 -0
  188. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/hosts.py +0 -0
  189. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/metadata.py +0 -0
  190. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/models.py +0 -0
  191. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/report.py +0 -0
  192. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/serialization.py +0 -0
  193. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/service/usage.py +0 -0
  194. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/__init__.py +0 -0
  195. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/graphql/__init__.py +0 -0
  196. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/graphql/_cache.py +0 -0
  197. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/graphql/loaders.py +0 -0
  198. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/graphql/nodes.py +0 -0
  199. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/graphql/scalars.py +0 -0
  200. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/graphql/schemas.py +0 -0
  201. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/graphql/validation.py +0 -0
  202. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/__init__.py +0 -0
  203. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/_cache.py +0 -0
  204. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
  205. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/constants.py +0 -0
  206. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/converter.py +0 -0
  207. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/definitions.py +0 -0
  208. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  209. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  210. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  211. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  212. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  213. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  214. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  215. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/formats.py +0 -0
  216. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/links.py +0 -0
  217. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/loaders.py +0 -0
  218. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/media_types.py +0 -0
  219. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  220. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  221. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  222. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  223. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/parameters.py +0 -0
  224. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/references.py +0 -0
  225. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/schemas.py +0 -0
  226. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/security.py +0 -0
  227. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  228. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  229. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  230. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/utils.py +0 -0
  231. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/specs/openapi/validation.py +0 -0
  232. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/__init__.py +0 -0
  233. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/config.py +0 -0
  234. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/context.py +0 -0
  235. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/events.py +0 -0
  236. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/runner.py +0 -0
  237. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/sink.py +0 -0
  238. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/state_machine.py +0 -0
  239. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/statistic.py +0 -0
  240. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/stateful/validation.py +0 -0
  241. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/targets.py +0 -0
  242. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/throttling.py +0 -0
  243. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/transports/__init__.py +0 -0
  244. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/transports/asgi.py +0 -0
  245. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/transports/auth.py +0 -0
  246. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/transports/content_types.py +0 -0
  247. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/transports/headers.py +0 -0
  248. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/transports/responses.py +0 -0
  249. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/types.py +0 -0
  250. {schemathesis-3.39.10 → schemathesis-3.39.11}/src/schemathesis/utils.py +0 -0
  251. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/__init__.py +0 -0
  252. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  253. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  254. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  255. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  256. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  257. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  258. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/__init__.py +0 -0
  259. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/_graphql/__init__.py +0 -0
  260. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  261. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/_graphql/_fastapi/app.py +0 -0
  262. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/_graphql/_flask/__init__.py +0 -0
  263. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/_graphql/_flask/app.py +0 -0
  264. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/_graphql/schema.py +0 -0
  265. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/cp1252_app.py +0 -0
  266. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/hooks.py +0 -0
  267. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/__init__.py +0 -0
  268. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  269. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/_aiohttp/app.py +0 -0
  270. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/_fastapi/__init__.py +0 -0
  271. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/_fastapi/app.py +0 -0
  272. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/_flask/__init__.py +0 -0
  273. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/apps/openapi/_flask/app.py +0 -0
  274. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__init__.py +0 -0
  275. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  276. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  277. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  278. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  279. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  280. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  281. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  282. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/conftest.py +0 -0
  283. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/test_cli.py +0 -0
  284. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/test_provider.py +0 -0
  285. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/auth/test_pytest.py +0 -0
  286. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/checks/__init__.py +0 -0
  287. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/checks/test_checks.py +0 -0
  288. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__init__.py +0 -0
  289. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  290. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  291. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  292. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args0].raw +0 -0
  293. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args10].raw +0 -0
  294. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args1].raw +0 -0
  295. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args2].raw +0 -0
  296. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args3].raw +0 -0
  297. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args4].raw +0 -0
  298. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args5].raw +0 -0
  299. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args6].raw +0 -0
  300. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args7].raw +0 -0
  301. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args8].raw +0 -0
  302. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args9].raw +0 -0
  303. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
  304. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  305. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  306. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  307. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  308. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  309. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  310. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  311. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  312. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  313. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  314. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  315. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  316. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  317. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  318. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  319. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  320. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  321. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  322. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  323. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  324. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  325. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  326. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  327. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  328. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  329. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  330. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  331. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  332. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  333. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
  334. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
  335. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  336. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  337. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  338. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  339. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  340. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
  341. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
  342. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
  343. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  344. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  345. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  346. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  347. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  348. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  349. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  350. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  351. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  352. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  353. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  354. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  355. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  356. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  357. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  358. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  359. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  360. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  361. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  362. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  363. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  364. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  365. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  366. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  367. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  368. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  369. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  370. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  371. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  372. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  373. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  374. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  375. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  376. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  377. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  378. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  379. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  380. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  381. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  382. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  383. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  384. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  385. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  386. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  387. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  388. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  389. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  390. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  391. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  392. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  393. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  394. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  395. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  396. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  397. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  398. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  399. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  400. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  401. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  402. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  403. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  404. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  405. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  406. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  407. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  408. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  409. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  410. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  411. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  412. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  413. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  414. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  415. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  416. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  417. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  418. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  419. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  420. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  421. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  422. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  423. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  424. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  425. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  426. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  427. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  428. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  429. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  430. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  431. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  432. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  433. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  434. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  435. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  436. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  437. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  438. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  439. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  440. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  441. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  442. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  443. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  444. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  445. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  446. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  447. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  448. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  449. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  450. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  451. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  452. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  453. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  454. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  455. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  456. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  457. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  458. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  459. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  460. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  461. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  462. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  463. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  464. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  465. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  466. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  467. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  468. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  469. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  470. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  471. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  472. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  473. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  474. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  475. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  476. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
  477. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  478. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  479. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  480. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  481. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  482. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  483. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  484. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  485. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  486. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  487. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  488. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  489. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  490. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  491. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  492. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  493. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  494. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  495. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  496. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  497. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  498. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  499. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  500. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  501. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  502. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/cert.pem +0 -0
  503. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/conftest.py +0 -0
  504. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/output/__init__.py +0 -0
  505. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/output/test_default.py +0 -0
  506. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_asgi.py +0 -0
  507. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_callbacks.py +0 -0
  508. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_cassettes.py +0 -0
  509. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_crashes.py +0 -0
  510. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_hooks.py +0 -0
  511. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_junitxml.py +0 -0
  512. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_options.py +0 -0
  513. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_reporting.py +0 -0
  514. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/cli/test_targeted.py +0 -0
  515. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  516. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  517. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/code_samples/conftest.py +0 -0
  518. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/code_samples/test_curl.py +0 -0
  519. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/code_samples/test_python.py +0 -0
  520. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/conftest.py +0 -0
  521. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  522. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  523. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  524. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  525. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
  526. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  527. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  528. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
  529. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  530. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/openapi/formats/test_uuid.py +0 -0
  531. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  532. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/test_install.py +0 -0
  533. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/contrib/test_unique_data.py +0 -0
  534. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/coverage/__init__.py +0 -0
  535. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
  536. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/coverage/test_combinations.py +0 -0
  537. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/coverage/test_examples.py +0 -0
  538. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/petstore_v2.yaml +0 -0
  539. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/petstore_v3.yaml +0 -0
  540. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/relative_files/components/parameters.yaml +0 -0
  541. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/relative_files/components/responses.yaml +0 -0
  542. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/relative_files/components/schemas.yaml +0 -0
  543. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/relative_files/main.yaml +0 -0
  544. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/relative_files/paths/user-account.yaml +0 -0
  545. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/simple_openapi.yaml +0 -0
  546. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/data/simple_swagger.yaml +0 -0
  547. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  548. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/experimental/conftest.py +0 -0
  549. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/experimental/test_experiments.py +0 -0
  550. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/experimental/test_openapi_3_1.py +0 -0
  551. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/extra/__init__.py +0 -0
  552. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/extra/test_aiohttp.py +0 -0
  553. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/filters/__init__.py +0 -0
  554. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/filters/test_expressions.py +0 -0
  555. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/filters/test_matching.py +0 -0
  556. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/fixtures/__init__.py +0 -0
  557. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/fixtures/ctx.py +0 -0
  558. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/hooks/test_filter_operations.py +0 -0
  559. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/hooks/test_filters.py +0 -0
  560. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/hooks/test_hooks.py +0 -0
  561. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/loaders/conftest.py +0 -0
  562. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/loaders/test_app.py +0 -0
  563. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/loaders/test_common.py +0 -0
  564. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/loaders/test_graphql.py +0 -0
  565. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/loaders/test_openapi.py +0 -0
  566. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/loaders/test_yaml.py +0 -0
  567. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/runner/__init__.py +0 -0
  568. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/runner/test_checks.py +0 -0
  569. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/runner/test_events.py +0 -0
  570. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/runner/test_probes.py +0 -0
  571. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/runner/test_runner.py +0 -0
  572. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__init__.py +0 -0
  573. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_client_error_on_project_details.raw +0 -0
  574. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  575. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  576. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  577. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  578. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  579. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_unauthorized.raw +0 -0
  580. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  581. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  582. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  583. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  584. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  585. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  586. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  587. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  588. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  589. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  590. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  591. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  592. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  593. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  594. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  595. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  596. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  597. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  598. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  599. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/conftest.py +0 -0
  600. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/test_auth.py +0 -0
  601. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/test_ci.py +0 -0
  602. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/test_cli.py +0 -0
  603. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/test_extensions.py +0 -0
  604. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/test_report.py +0 -0
  605. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/test_serialization.py +0 -0
  606. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/service/test_usage.py +0 -0
  607. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
  608. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
  609. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
  610. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  611. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  612. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  613. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  614. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/test_basic.py +0 -0
  615. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/test_custom_scalars.py +0 -0
  616. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/graphql/test_pytest.py +0 -0
  617. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
  618. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
  619. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
  620. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
  621. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-200].raw +0 -0
  622. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-406].raw +0 -0
  623. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  624. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  625. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[cookie].raw +0 -0
  626. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[query].raw +0 -0
  627. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
  628. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
  629. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
  630. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  631. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/blank.pdf +0 -0
  632. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/conftest.py +0 -0
  633. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/parameters/test_forms.py +0 -0
  634. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  635. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  636. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/stateful/__init__.py +0 -0
  637. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/stateful/conftest.py +0 -0
  638. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/stateful/test_config.py +0 -0
  639. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/stateful/test_runner.py +0 -0
  640. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/stateful/test_stateful.py +0 -0
  641. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_checks.py +0 -0
  642. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_examples.py +0 -0
  643. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_expressions.py +0 -0
  644. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_hypothesis.py +0 -0
  645. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_ignored_auth.py +0 -0
  646. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_links.py +0 -0
  647. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_media_types.py +0 -0
  648. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_negative.py +0 -0
  649. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_parameters.py +0 -0
  650. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_randomized.py +0 -0
  651. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_schemas.py +0 -0
  652. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_security.py +0 -0
  653. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_serializing.py +0 -0
  654. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_utils.py +0 -0
  655. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/specs/openapi/test_validation.py +0 -0
  656. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_app.py +0 -0
  657. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_asgi.py +0 -0
  658. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_async.py +0 -0
  659. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_common_parameters.py +0 -0
  660. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_converter.py +0 -0
  661. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_dereferencing.py +0 -0
  662. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_direct_access.py +0 -0
  663. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_examples.py +0 -0
  664. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_filters.py +0 -0
  665. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_fixups.py +0 -0
  666. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_hypothesis.py +0 -0
  667. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_internal.py +0 -0
  668. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_lazy.py +0 -0
  669. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_models.py +0 -0
  670. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_output.py +0 -0
  671. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_package.py +0 -0
  672. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_parameters.py +0 -0
  673. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_parametrization.py +0 -0
  674. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_petstore.py +0 -0
  675. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_pytest.py +0 -0
  676. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_rate_limit.py +0 -0
  677. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_recoverable_errors.py +0 -0
  678. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_required.py +0 -0
  679. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_sanitizing_output.py +0 -0
  680. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_schemas.py +0 -0
  681. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_serialization.py +0 -0
  682. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_stateful.py +0 -0
  683. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_unittest.py +0 -0
  684. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_utils.py +0 -0
  685. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/test_wsgi.py +0 -0
  686. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/transports/test_content_types.py +0 -0
  687. {schemathesis-3.39.10 → schemathesis-3.39.11}/test/utils.py +0 -0
  688. {schemathesis-3.39.10 → schemathesis-3.39.11}/test-corpus/conftest.py +0 -0
  689. {schemathesis-3.39.10 → schemathesis-3.39.11}/test-corpus/test_corpus.py +0 -0
  690. {schemathesis-3.39.10 → schemathesis-3.39.11}/test_server.sh +0 -0
  691. {schemathesis-3.39.10 → schemathesis-3.39.11}/tox.ini +0 -0
  692. {schemathesis-3.39.10 → schemathesis-3.39.11}/typos.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: schemathesis
3
- Version: 3.39.10
3
+ Version: 3.39.11
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,29 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.39.10...HEAD>` - TBD
4
+ :version:`Unreleased <v3.39.11...HEAD>` - TBD
5
5
  ---------------------------------------------
6
6
 
7
+ .. _v3.39.11:
8
+
9
+ :version:`3.39.11 <v3.39.10...v3.39.11>` - 2025-02-23
10
+ -----------------------------------------------------
11
+
12
+ **Fixed**
13
+
14
+ - Deduplicate failures from ``negative_data_rejection`` by response status code.
15
+ It makes Schemathesis display more different failures for this check.
16
+ - Query parameter serialization during the coverage phase.
17
+ - Apply custom auth data correctly during the coverage phase.
18
+ - Apply parameter overrides during the coverage phase.
19
+ - Incorrect quantifiers merging for some patterns. :issue:`2732`
20
+
21
+ **Changed**
22
+
23
+ - Do not report ``unsupported_method`` failure if the API returned HTTP 200 on OPTIONS request.
24
+ - More precise warning about missing 2xx responses for positive test cases.
25
+ - Add HTTP 406 status to the list of status codes that are expected for negative test cases.
26
+
7
27
  .. _v3.39.10:
8
28
 
9
29
  :version:`3.39.10 <v3.39.9...v3.39.10>` - 2025-02-10
@@ -7,7 +7,7 @@ Unique data generation
7
7
  ~~~~~~~~~~~~~~~~~~~~~~
8
8
 
9
9
  By default, Schemathesis may generate the same test cases as all data is randomized. If this behavior does not match your expectations, or
10
- your test budges, you can force Schemathesis to generate unique test cases.
10
+ your test budgets, you can force Schemathesis to generate unique test cases.
11
11
 
12
12
  In CLI:
13
13
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.39.10"
7
+ version = "3.39.11"
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" }]
@@ -4,7 +4,6 @@ from __future__ import annotations
4
4
 
5
5
  import asyncio
6
6
  from dataclasses import dataclass
7
- import json
8
7
  import warnings
9
8
  from functools import wraps
10
9
  from itertools import combinations
@@ -16,8 +15,10 @@ from hypothesis.errors import HypothesisWarning, Unsatisfiable
16
15
  from hypothesis.internal.entropy import deterministic_PRNG
17
16
  from jsonschema.exceptions import SchemaError
18
17
 
18
+ from schemathesis.serializers import get_first_matching_media_type
19
+
19
20
  from . import _patches
20
- from .auths import get_auth_storage_from_test
21
+ from .auths import AuthStorage, get_auth_storage_from_test
21
22
  from .constants import DEFAULT_DEADLINE, NOT_SET
22
23
  from .exceptions import OperationSchemaError, SerializationNotPossible
23
24
  from .experimental import COVERAGE_PHASE
@@ -28,6 +29,7 @@ from .parameters import ParameterSet
28
29
  from .transports.content_types import parse_content_type
29
30
  from .transports.headers import has_invalid_characters, is_latin_1_encodable
30
31
  from .types import NotSet
32
+ from schemathesis import auths
31
33
 
32
34
  if TYPE_CHECKING:
33
35
  from .utils import GivenInput
@@ -112,7 +114,9 @@ def create_test(
112
114
  wrapped_test, operation, hook_dispatcher=hook_dispatcher, as_strategy_kwargs=as_strategy_kwargs
113
115
  )
114
116
  if COVERAGE_PHASE.is_enabled:
115
- wrapped_test = add_coverage(wrapped_test, operation, data_generation_methods)
117
+ wrapped_test = add_coverage(
118
+ wrapped_test, operation, data_generation_methods, auth_storage, as_strategy_kwargs
119
+ )
116
120
  return wrapped_test
117
121
 
118
122
 
@@ -216,20 +220,45 @@ def adjust_urlencoded_payload(case: Case) -> None:
216
220
 
217
221
 
218
222
  def add_coverage(
219
- test: Callable, operation: APIOperation, data_generation_methods: list[DataGenerationMethod]
223
+ test: Callable,
224
+ operation: APIOperation,
225
+ data_generation_methods: list[DataGenerationMethod],
226
+ auth_storage: AuthStorage | None,
227
+ as_strategy_kwargs: dict[str, Any],
220
228
  ) -> Callable:
221
- for example in _iter_coverage_cases(operation, data_generation_methods):
222
- adjust_urlencoded_payload(example)
223
- test = hypothesis.example(case=example)(test)
229
+ from schemathesis.specs.openapi.constants import LOCATION_TO_CONTAINER
230
+
231
+ auth_context = auths.AuthContext(
232
+ operation=operation,
233
+ app=operation.app,
234
+ )
235
+ overrides = {
236
+ container: as_strategy_kwargs[container]
237
+ for container in LOCATION_TO_CONTAINER.values()
238
+ if container in as_strategy_kwargs
239
+ }
240
+ for case in _iter_coverage_cases(operation, data_generation_methods):
241
+ if case.media_type and get_first_matching_media_type(case.media_type) is None:
242
+ continue
243
+ adjust_urlencoded_payload(case)
244
+ auths.set_on_case(case, auth_context, auth_storage)
245
+ for container_name, value in overrides.items():
246
+ container = getattr(case, container_name)
247
+ if container is None:
248
+ setattr(case, container_name, value)
249
+ else:
250
+ container.update(value)
251
+ test = hypothesis.example(case=case)(test)
224
252
  return test
225
253
 
226
254
 
227
255
  class Template:
228
- __slots__ = ("_components", "_template")
256
+ __slots__ = ("_components", "_template", "_serializers")
229
257
 
230
- def __init__(self) -> None:
258
+ def __init__(self, serializers: dict[str, Callable]) -> None:
231
259
  self._components: dict[str, DataGenerationMethod] = {}
232
260
  self._template: dict[str, Any] = {}
261
+ self._serializers = serializers
233
262
 
234
263
  def __contains__(self, key: str) -> bool:
235
264
  return key in self._template
@@ -251,36 +280,58 @@ class Template:
251
280
  self._components[component_name] = DataGenerationMethod.negative
252
281
 
253
282
  container = self._template.setdefault(component_name, {})
254
- if _should_stringify(location, value):
255
- container[name] = _stringify_value(value.value, location)
256
- else:
257
- container[name] = value.value
283
+ container[name] = value.value
258
284
 
259
285
  def set_body(self, body: coverage.GeneratedValue, media_type: str) -> None:
260
286
  self._template["body"] = body.value
261
287
  self._template["media_type"] = media_type
262
288
  self._components["body"] = body.data_generation_method
263
289
 
290
+ def _serialize(self, kwargs: dict[str, Any]) -> dict[str, Any]:
291
+ from schemathesis.specs.openapi._hypothesis import quote_all
292
+
293
+ output = {}
294
+ for container_name, value in kwargs.items():
295
+ serializer = self._serializers.get(container_name)
296
+ if container_name in ("headers", "cookies") and isinstance(value, dict):
297
+ value = _stringify_value(value, container_name)
298
+ if serializer is not None:
299
+ value = serializer(value)
300
+ if container_name == "query" and isinstance(value, dict):
301
+ value = _stringify_value(value, container_name)
302
+ if container_name == "path_parameters" and isinstance(value, dict):
303
+ value = _stringify_value(quote_all(value), container_name)
304
+ output[container_name] = value
305
+ return output
306
+
264
307
  def unmodified(self) -> TemplateValue:
265
- return TemplateValue(kwargs=self._template.copy(), components=self._components.copy())
308
+ kwargs = self._template.copy()
309
+ kwargs = self._serialize(kwargs)
310
+ return TemplateValue(kwargs=kwargs, components=self._components.copy())
266
311
 
267
312
  def with_body(self, *, media_type: str, value: coverage.GeneratedValue) -> TemplateValue:
268
313
  kwargs = {**self._template, "media_type": media_type, "body": value.value}
314
+ kwargs = self._serialize(kwargs)
269
315
  components = {**self._components, "body": value.data_generation_method}
270
316
  return TemplateValue(kwargs=kwargs, components=components)
271
317
 
272
318
  def with_parameter(self, *, location: str, name: str, value: coverage.GeneratedValue) -> TemplateValue:
273
319
  from .specs.openapi.constants import LOCATION_TO_CONTAINER
274
320
 
275
- if _should_stringify(location, value):
276
- generated = _stringify_value(value.value, location)
277
- else:
278
- generated = value.value
279
-
280
321
  container_name = LOCATION_TO_CONTAINER[location]
281
322
  container = self._template[container_name]
282
- kwargs = {**self._template, container_name: {**container, name: generated}}
283
- components = {**self._components, container_name: value.data_generation_method}
323
+ return self.with_container(
324
+ container_name=container_name,
325
+ value={**container, name: value.value},
326
+ data_generation_method=value.data_generation_method,
327
+ )
328
+
329
+ def with_container(
330
+ self, *, container_name: str, value: Any, data_generation_method: DataGenerationMethod
331
+ ) -> TemplateValue:
332
+ kwargs = {**self._template, container_name: value}
333
+ kwargs = self._serialize(kwargs)
334
+ components = {**self._components, container_name: data_generation_method}
284
335
  return TemplateValue(kwargs=kwargs, components=components)
285
336
 
286
337
 
@@ -291,18 +342,24 @@ class TemplateValue:
291
342
  __slots__ = ("kwargs", "components")
292
343
 
293
344
 
294
- def _should_stringify(location: str, value: coverage.GeneratedValue) -> bool:
295
- return location in ("header", "cookie", "path", "query") and not isinstance(value.value, str)
296
-
297
-
298
- def _stringify_value(val: Any, location: str) -> str | list[str]:
345
+ def _stringify_value(val: Any, container_name: str) -> Any:
346
+ if val is None:
347
+ return "null"
348
+ if val is True:
349
+ return "true"
350
+ if val is False:
351
+ return "false"
352
+ if isinstance(val, (int, float)):
353
+ return str(val)
299
354
  if isinstance(val, list):
300
- if location == "query":
355
+ if container_name == "query":
301
356
  # Having a list here ensures there will be multiple query parameters wit the same name
302
- return [json.dumps(item) for item in val]
357
+ return [_stringify_value(item, container_name) for item in val]
303
358
  # use comma-separated values style for arrays
304
- return ",".join(json.dumps(sub) for sub in val)
305
- return json.dumps(val)
359
+ return ",".join(_stringify_value(sub, container_name) for sub in val)
360
+ if isinstance(val, dict):
361
+ return {key: _stringify_value(sub, container_name) for key, sub in val.items()}
362
+ return val
306
363
 
307
364
 
308
365
  def _iter_coverage_cases(
@@ -310,18 +367,11 @@ def _iter_coverage_cases(
310
367
  ) -> Generator[Case, None, None]:
311
368
  from .specs.openapi.constants import LOCATION_TO_CONTAINER
312
369
  from .specs.openapi.examples import find_in_responses, find_matching_in_responses
313
-
314
- def _stringify_value(val: Any, location: str) -> str | list[str]:
315
- if isinstance(val, list):
316
- if location == "query":
317
- # Having a list here ensures there will be multiple query parameters wit the same name
318
- return [json.dumps(item) for item in val]
319
- # use comma-separated values style for arrays
320
- return ",".join(json.dumps(sub) for sub in val)
321
- return json.dumps(val)
370
+ from schemathesis.specs.openapi.serialization import get_serializers_for_operation
322
371
 
323
372
  generators: dict[tuple[str, str], Generator[coverage.GeneratedValue, None, None]] = {}
324
- template = Template()
373
+ serializers = get_serializers_for_operation(operation)
374
+ template = Template(serializers)
325
375
  responses = find_in_responses(operation)
326
376
  for parameter in operation.iter_parameters():
327
377
  location = parameter.location
@@ -415,10 +465,12 @@ def _iter_coverage_cases(
415
465
  # I.e. contains just `default` value without any other keywords
416
466
  value = container.get(parameter.name, NOT_SET)
417
467
  if value is not NOT_SET:
418
- data = template.unmodified()
419
- case = operation.make_case(
420
- **{**data.kwargs, "query": {**container, parameter.name: [value, value]}}
468
+ data = template.with_container(
469
+ container_name="query",
470
+ value={**container, parameter.name: [value, value]},
471
+ data_generation_method=DataGenerationMethod.negative,
421
472
  )
473
+ case = operation.make_case(**data.kwargs)
422
474
  case.data_generation_method = DataGenerationMethod.negative
423
475
  case.meta = _make_meta(
424
476
  description=f"Duplicate `{parameter.name}` query parameter",
@@ -435,17 +487,19 @@ def _iter_coverage_cases(
435
487
  location = parameter.location
436
488
  container_name = LOCATION_TO_CONTAINER[location]
437
489
  container = template[container_name]
438
- data = template.unmodified()
439
- case = operation.make_case(
440
- **{**data.kwargs, container_name: {k: v for k, v in container.items() if k != name}}
490
+ data = template.with_container(
491
+ container_name=container_name,
492
+ value={k: v for k, v in container.items() if k != name},
493
+ data_generation_method=DataGenerationMethod.negative,
441
494
  )
495
+ case = operation.make_case(**data.kwargs)
442
496
  case.data_generation_method = DataGenerationMethod.negative
443
497
  case.meta = _make_meta(
444
498
  description=f"Missing `{name}` at {location}",
445
499
  location=None,
446
500
  parameter=name,
447
501
  parameter_location=location,
448
- **{**data.components, container_name: DataGenerationMethod.negative},
502
+ **data.components,
449
503
  )
450
504
  yield case
451
505
  # Generate combinations for each location
@@ -474,23 +528,17 @@ def _iter_coverage_cases(
474
528
  _parameter: str | None,
475
529
  _data_generation_method: DataGenerationMethod,
476
530
  ) -> Case:
477
- if _location in ("header", "cookie", "path", "query"):
478
- container = {
479
- name: _stringify_value(val, _location) if not isinstance(val, str) else val
480
- for name, val in container_values.items()
481
- }
482
- else:
483
- container = container_values
484
-
485
- data = template.unmodified()
486
- case = operation.make_case(**{**data.kwargs, _container_name: container})
531
+ data = template.with_container(
532
+ container_name=_container_name, value=container_values, data_generation_method=_data_generation_method
533
+ )
534
+ case = operation.make_case(**data.kwargs)
487
535
  case.data_generation_method = _data_generation_method
488
536
  case.meta = _make_meta(
489
537
  description=description,
490
538
  location=None,
491
539
  parameter=_parameter,
492
540
  parameter_location=_location,
493
- **{**data.components, _container_name: _data_generation_method},
541
+ **data.components,
494
542
  )
495
543
  return case
496
544
 
@@ -143,6 +143,12 @@ class AcceptedNegativeData(FailureContext):
143
143
  title: str = "Accepted negative data"
144
144
  type: str = "accepted_negative_data"
145
145
 
146
+ def unique_by_key(self, check_message: str | None) -> tuple[str, ...]:
147
+ return (
148
+ check_message or self.message,
149
+ str(self.status_code),
150
+ )
151
+
146
152
 
147
153
  @dataclass(repr=False)
148
154
  class RejectedPositiveData(FailureContext):
@@ -21,7 +21,9 @@ CheckFunction = Callable[["CheckContext", "GenericResponse", "Case"], Optional[b
21
21
  @dataclass
22
22
  class NegativeDataRejectionConfig:
23
23
  # 5xx will pass through
24
- allowed_statuses: list[str] = field(default_factory=lambda: ["400", "401", "403", "404", "422", "428", "5xx"])
24
+ allowed_statuses: list[str] = field(
25
+ default_factory=lambda: ["400", "401", "403", "404", "406", "422", "428", "5xx"]
26
+ )
25
27
 
26
28
 
27
29
  @dataclass
@@ -150,13 +150,6 @@ class BaseRunner:
150
150
  def _should_warn_about_only_4xx(result: TestResult) -> bool:
151
151
  if all(check.response is None for check in result.checks):
152
152
  return False
153
- # Don't warn if we saw any 2xx or 5xx responses
154
- if any(
155
- check.response.status_code < 400 or check.response.status_code >= 500
156
- for check in result.checks
157
- if check.response is not None
158
- ):
159
- return False
160
153
  # Don't duplicate auth warnings
161
154
  if {check.response.status_code for check in result.checks if check.response is not None} <= {401, 403}:
162
155
  return False
@@ -164,11 +157,28 @@ class BaseRunner:
164
157
  return True
165
158
 
166
159
  def _check_warnings() -> None:
160
+ # Warn if all positive test cases got 4xx in return and no failure was found
161
+ def all_positive_are_rejected(result: TestResult) -> bool:
162
+ seen_positive = False
163
+ for check in result.checks:
164
+ if check.example.data_generation_method != DataGenerationMethod.positive:
165
+ continue
166
+ seen_positive = True
167
+ if check.response is None:
168
+ continue
169
+ # At least one positive response for positive test case
170
+ if 200 <= check.response.status_code < 300:
171
+ return False
172
+ # If there are positive test cases, and we ended up here, then there are no 2xx responses for them
173
+ # Otherwise, there are no positive test cases at all and this check should pass
174
+ return seen_positive
175
+
167
176
  for result in ctx.data.results:
168
177
  # Only warn about 4xx responses in successful positive test scenarios
169
178
  if (
170
179
  all(check.value == Status.success for check in result.checks)
171
- and result.data_generation_method == [DataGenerationMethod.positive]
180
+ and DataGenerationMethod.positive in result.data_generation_method
181
+ and all_positive_are_rejected(result)
172
182
  and _should_warn_about_only_4xx(result)
173
183
  ):
174
184
  ctx.add_warning(
@@ -294,7 +294,12 @@ def missing_required_header(ctx: CheckContext, response: GenericResponse, case:
294
294
 
295
295
 
296
296
  def unsupported_method(ctx: CheckContext, response: GenericResponse, case: Case) -> bool | None:
297
- if case.meta and case.meta.description and case.meta.description.startswith("Unspecified HTTP method:"):
297
+ if (
298
+ case.meta
299
+ and case.meta.description
300
+ and case.meta.description.startswith("Unspecified HTTP method:")
301
+ and response.request.method != "OPTIONS"
302
+ ):
298
303
  if response.status_code != 405:
299
304
  raise AssertionError(
300
305
  f"Unexpected response status for unspecified HTTP method: {response.status_code}\nExpected: 405"
@@ -9,6 +9,8 @@ from typing import TYPE_CHECKING, Any, Generator, Iterator, Union, cast
9
9
  import requests
10
10
  from hypothesis_jsonschema import from_schema
11
11
 
12
+ from schemathesis.specs.openapi.serialization import get_serializers_for_operation
13
+
12
14
  from ...constants import DEFAULT_RESPONSE_TIMEOUT
13
15
  from ...generation import get_single_example
14
16
  from ...internal.copy import fast_deepcopy
@@ -48,11 +50,7 @@ def get_strategies_from_examples(
48
50
  operation: APIOperation[OpenAPIParameter, Case], as_strategy_kwargs: dict[str, Any] | None = None
49
51
  ) -> list[SearchStrategy[Case]]:
50
52
  """Build a set of strategies that generate test cases based on explicit examples in the schema."""
51
- maps = {}
52
- for location, container in LOCATION_TO_CONTAINER.items():
53
- serializer = operation.get_parameter_serializer(location)
54
- if serializer is not None:
55
- maps[container] = serializer
53
+ maps = get_serializers_for_operation(operation)
56
54
 
57
55
  def serialize_components(case: Case) -> Case:
58
56
  """Applies special serialization rules for case components.
@@ -3,6 +3,8 @@ from __future__ import annotations
3
3
  import re
4
4
  from functools import lru_cache
5
5
 
6
+ from ...exceptions import InternalError
7
+
6
8
  try: # pragma: no cover
7
9
  import re._constants as sre
8
10
  import re._parser as sre_parse
@@ -29,7 +31,15 @@ def update_quantifier(pattern: str, min_length: int | None, max_length: int | No
29
31
 
30
32
  try:
31
33
  parsed = sre_parse.parse(pattern)
32
- return _handle_parsed_pattern(parsed, pattern, min_length, max_length)
34
+ updated = _handle_parsed_pattern(parsed, pattern, min_length, max_length)
35
+ try:
36
+ re.compile(updated)
37
+ except re.error as exc:
38
+ raise InternalError(
39
+ f"The combination of min_length={min_length} and max_length={max_length} applied to the original pattern '{pattern}' resulted in an invalid regex: '{updated}'. "
40
+ "This indicates a bug in the regex quantifier merging logic"
41
+ ) from exc
42
+ return updated
33
43
  except re.error:
34
44
  # Invalid pattern
35
45
  return pattern
@@ -261,13 +271,18 @@ def _handle_repeat_quantifier(
261
271
  min_length, max_length = _build_size(min_repeat, max_repeat, min_length, max_length)
262
272
  if min_length > max_length:
263
273
  return pattern
264
- return f"({_strip_quantifier(pattern).strip(')(')})" + _build_quantifier(min_length, max_length)
274
+ inner = _strip_quantifier(pattern)
275
+ if inner.startswith("(") and inner.endswith(")"):
276
+ inner = inner[1:-1]
277
+ return f"({inner})" + _build_quantifier(min_length, max_length)
265
278
 
266
279
 
267
280
  def _handle_literal_or_in_quantifier(pattern: str, min_length: int | None, max_length: int | None) -> str:
268
281
  """Handle literal or character class quantifiers."""
269
282
  min_length = 1 if min_length is None else max(min_length, 1)
270
- return f"({pattern.strip(')(')})" + _build_quantifier(min_length, max_length)
283
+ if pattern.startswith("(") and pattern.endswith(")"):
284
+ pattern = pattern[1:-1]
285
+ return f"({pattern})" + _build_quantifier(min_length, max_length)
271
286
 
272
287
 
273
288
  def _build_quantifier(minimum: int | None, maximum: int | None) -> str:
@@ -3,6 +3,9 @@ from __future__ import annotations
3
3
  import json
4
4
  from typing import Any, Callable, Dict, Generator, List
5
5
 
6
+ from schemathesis.schemas import APIOperation
7
+ from schemathesis.specs.openapi.constants import LOCATION_TO_CONTAINER
8
+
6
9
  from ...utils import compose
7
10
 
8
11
  Generated = Dict[str, Any]
@@ -11,6 +14,15 @@ DefinitionList = List[Definition]
11
14
  MapFunction = Callable[[Generated], Generated]
12
15
 
13
16
 
17
+ def get_serializers_for_operation(operation: APIOperation) -> dict[str, Callable]:
18
+ serializers = {}
19
+ for location, container in LOCATION_TO_CONTAINER.items():
20
+ serializer = operation.get_parameter_serializer(location)
21
+ if serializer is not None:
22
+ serializers[container] = serializer
23
+ return serializers
24
+
25
+
14
26
  def make_serializer(
15
27
  func: Callable[[DefinitionList], Generator[Callable | None, None, None]],
16
28
  ) -> Callable[[DefinitionList], Callable | None]:
@@ -206,6 +206,14 @@ async def write_only(request: web.Request) -> web.Response:
206
206
  raise web.HTTPInternalServerError
207
207
 
208
208
 
209
+ async def always_incorrect(request: web.Request) -> web.Response:
210
+ raise web.HTTPBadRequest(text='{"detail": "Always incorrect"}')
211
+
212
+
213
+ async def always_incorrect_options(request: web.Request) -> web.Response:
214
+ return web.Response(status=200)
215
+
216
+
209
217
  async def upload_file(request: web.Request) -> web.Response:
210
218
  if not request.headers.get("Content-Type", "").startswith("multipart/"):
211
219
  raise web.HTTPBadRequest(text="Not a multipart request!")
@@ -29,6 +29,8 @@ class Operation(Enum):
29
29
  teapot = ("POST", "/api/teapot")
30
30
  text = ("GET", "/api/text")
31
31
  cp866 = ("GET", "/api/cp866")
32
+ always_incorrect = ("GET", "/api/always_incorrect")
33
+ always_incorrect_options = ("OPTIONS", "/api/always_incorrect")
32
34
  conformance = ("GET", "/api/conformance")
33
35
  plain_text_body = ("POST", "/api/text")
34
36
  csv_payload = ("POST", "/api/csv")
@@ -0,0 +1,103 @@
1
+ Exit code: 1
2
+ ---
3
+ Stdout:
4
+ ======================= Schemathesis test session starts =======================
5
+ Schema location: http://127.0.0.1:57599/openapi.json
6
+ Base URL: http://127.0.0.1:57599/
7
+ Specification version: Open API 3.0.0
8
+ Random seed: 42
9
+ Workers: 1
10
+ Collected API operations: 1
11
+ Collected API links: 0
12
+ API probing: SUCCESS
13
+ Schema analysis: SKIP
14
+
15
+ GET /test F [100%]
16
+
17
+ =================================== FAILURES ===================================
18
+ __________________________________ GET /test ___________________________________
19
+ 1. Test Case ID: <PLACEHOLDER>
20
+
21
+ - Accepted negative data
22
+
23
+ Allowed statuses: 400, 401, 403, 404, 422, 428, 5xx
24
+
25
+ [200] OK:
26
+
27
+ `{"incorrect":"positive"}`
28
+
29
+ Reproduce with:
30
+
31
+ <PLACEHOLDER>
32
+
33
+ 2. Test Case ID: <PLACEHOLDER>
34
+
35
+ - Response violates schema
36
+
37
+ 'message' is a required property
38
+
39
+ Schema:
40
+
41
+ {
42
+ "properties": {
43
+ "message": {
44
+ "type": "string"
45
+ }
46
+ },
47
+ "required": [
48
+ "message"
49
+ ],
50
+ "type": "object"
51
+ }
52
+
53
+ Value:
54
+
55
+ {
56
+ "incorrect": "positive"
57
+ }
58
+
59
+ [200] OK:
60
+
61
+ `{"incorrect":"positive"}`
62
+
63
+ Reproduce with:
64
+
65
+ <PLACEHOLDER>
66
+
67
+ 3. Test Case ID: <PLACEHOLDER>
68
+
69
+ - Accepted negative data
70
+
71
+ Allowed statuses: 400, 401, 403, 404, 422, 428, 5xx
72
+
73
+ [406] Not Acceptable:
74
+
75
+ `{"message":"negative"}`
76
+
77
+ Reproduce with:
78
+
79
+ <PLACEHOLDER>
80
+
81
+ =================================== SUMMARY ====================================
82
+
83
+ Performed checks:
84
+ not_a_server_error N / N passed PASSED
85
+ status_code_conformance N / N passed PASSED
86
+ content_type_conformance N / N passed PASSED
87
+ response_headers_conformance N / N passed PASSED
88
+ response_schema_conformance N / N passed FAILED
89
+ negative_data_rejection N / N passed FAILED
90
+ ignored_auth N / N passed PASSED
91
+ unsupported_method N / N passed PASSED
92
+
93
+ Experimental Features:
94
+ - Coverage phase: Generate covering test cases
95
+ Feedback: https://github.com/schemathesis/schemathesis/discussions/2418
96
+
97
+ Your feedback is crucial for experimental features. Please visit the provided URL(s) to share your thoughts.
98
+
99
+ Note: Use the 'X-Schemathesis-TestCaseId' header to correlate test case ids from failure messages with server logs for debugging.
100
+
101
+ Note: To replicate these test failures, rerun with `--hypothesis-seed=42`
102
+
103
+ ============================== 1 failed in 1.00s ===============================