schemathesis 3.30.0__tar.gz → 3.30.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. {schemathesis-3.30.0 → schemathesis-3.30.1}/PKG-INFO +3 -3
  2. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/changelog.rst +19 -1
  3. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/cli.rst +15 -6
  4. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/extending.rst +10 -0
  5. {schemathesis-3.30.0 → schemathesis-3.30.1}/pyproject.toml +3 -3
  6. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/__init__.py +20 -0
  7. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/context.py +2 -0
  8. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/junitxml.py +5 -4
  9. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/output/default.py +7 -3
  10. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/exceptions.py +2 -35
  11. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/failures.py +10 -5
  12. schemathesis-3.30.1/src/schemathesis/internal/output.py +68 -0
  13. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/lazy.py +8 -0
  14. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/models.py +2 -2
  15. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/events.py +1 -0
  16. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/impl/core.py +10 -2
  17. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/schemas.py +6 -0
  18. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/serialization.py +22 -14
  19. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/graphql/loaders.py +16 -0
  20. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/loaders.py +18 -0
  21. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/schemas.py +1 -1
  22. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/context.py +13 -3
  23. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/events.py +7 -1
  24. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/runner.py +8 -3
  25. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/_aiohttp/handlers.py +1 -1
  26. schemathesis-3.30.1/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +31 -0
  27. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +2 -0
  28. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_commands.py +19 -0
  29. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/stateful/test_runner.py +14 -1
  30. schemathesis-3.30.1/test/test_output.py +76 -0
  31. schemathesis-3.30.0/test/test_errors.py +0 -26
  32. {schemathesis-3.30.0 → schemathesis-3.30.1}/.dockerignore +0 -0
  33. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/FUNDING.yml +0 -0
  34. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  35. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  36. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  37. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/dependabot.yml +0 -0
  38. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/build.yml +0 -0
  39. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/codeql-analysis.yml +0 -0
  40. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/codspeed.yml +0 -0
  41. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/commit.yml +0 -0
  42. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/example-build.yml +0 -0
  43. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/example-no-build.yml +0 -0
  44. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/master_update.yml +0 -0
  45. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/release.yml +0 -0
  46. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/test-corpus.yml +0 -0
  47. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/test-hypothesis.yml +0 -0
  48. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/update-corpus.yml +0 -0
  49. {schemathesis-3.30.0 → schemathesis-3.30.1}/.github/workflows/update-pre-commit.yml +0 -0
  50. {schemathesis-3.30.0 → schemathesis-3.30.1}/.gitignore +0 -0
  51. {schemathesis-3.30.0 → schemathesis-3.30.1}/.gitmodules +0 -0
  52. {schemathesis-3.30.0 → schemathesis-3.30.1}/.pre-commit-config.yaml +0 -0
  53. {schemathesis-3.30.0 → schemathesis-3.30.1}/.readthedocs.yml +0 -0
  54. {schemathesis-3.30.0 → schemathesis-3.30.1}/.relint.yml +0 -0
  55. {schemathesis-3.30.0 → schemathesis-3.30.1}/.rstcheck.cfg +0 -0
  56. {schemathesis-3.30.0 → schemathesis-3.30.1}/.yamllint +0 -0
  57. {schemathesis-3.30.0 → schemathesis-3.30.1}/CITATION.cff +0 -0
  58. {schemathesis-3.30.0 → schemathesis-3.30.1}/CODE_OF_CONDUCT.md +0 -0
  59. {schemathesis-3.30.0 → schemathesis-3.30.1}/CONTRIBUTING.rst +0 -0
  60. {schemathesis-3.30.0 → schemathesis-3.30.1}/Dockerfile +0 -0
  61. {schemathesis-3.30.0 → schemathesis-3.30.1}/Dockerfile.bookworm +0 -0
  62. {schemathesis-3.30.0 → schemathesis-3.30.1}/LICENSE +0 -0
  63. {schemathesis-3.30.0 → schemathesis-3.30.1}/README.md +0 -0
  64. {schemathesis-3.30.0 → schemathesis-3.30.1}/benches/cli.py +0 -0
  65. {schemathesis-3.30.0 → schemathesis-3.30.1}/benches/references.py +0 -0
  66. {schemathesis-3.30.0 → schemathesis-3.30.1}/benches/schema.py +0 -0
  67. {schemathesis-3.30.0 → schemathesis-3.30.1}/changelog.py +0 -0
  68. {schemathesis-3.30.0 → schemathesis-3.30.1}/codecov.yml +0 -0
  69. {schemathesis-3.30.0 → schemathesis-3.30.1}/corpus/data/graphql.tar.gz +0 -0
  70. {schemathesis-3.30.0 → schemathesis-3.30.1}/corpus/data/openapi-3.0.tar.gz +0 -0
  71. {schemathesis-3.30.0 → schemathesis-3.30.1}/corpus/data/openapi-3.1.tar.gz +0 -0
  72. {schemathesis-3.30.0 → schemathesis-3.30.1}/corpus/data/swagger-2.0.tar.gz +0 -0
  73. {schemathesis-3.30.0 → schemathesis-3.30.1}/corpus/tools.py +0 -0
  74. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/Makefile +0 -0
  75. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/additional-content.rst +0 -0
  76. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/api.rst +0 -0
  77. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/auth.rst +0 -0
  78. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/compatibility.rst +0 -0
  79. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/conf.py +0 -0
  80. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/continuous_integration.rst +0 -0
  81. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/contrib.rst +0 -0
  82. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/data-generation.rst +0 -0
  83. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/examples.rst +0 -0
  84. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/experimental.rst +0 -0
  85. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/faq.rst +0 -0
  86. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/getting-started.rst +0 -0
  87. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/graphql.rst +0 -0
  88. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/index.rst +0 -0
  89. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/python.rst +0 -0
  90. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/recipes.rst +0 -0
  91. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/requirements.txt +0 -0
  92. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/sanitizing.rst +0 -0
  93. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/service.rst +0 -0
  94. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/stateful.rst +0 -0
  95. {schemathesis-3.30.0 → schemathesis-3.30.1}/docs/targeted.rst +0 -0
  96. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/Dockerfile +0 -0
  97. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/README.md +0 -0
  98. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/app.py +0 -0
  99. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/compose.yml +0 -0
  100. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/openapi.json +0 -0
  101. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/requirements-app.in +0 -0
  102. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/requirements-app.txt +0 -0
  103. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/requirements-pytest.in +0 -0
  104. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/requirements-pytest.txt +0 -0
  105. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/tests/__init__.py +0 -0
  106. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/tests/conftest.py +0 -0
  107. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/tests/extensions.py +0 -0
  108. {schemathesis-3.30.0 → schemathesis-3.30.1}/example/tests/test_app.py +0 -0
  109. {schemathesis-3.30.0 → schemathesis-3.30.1}/img/demo.gif +0 -0
  110. {schemathesis-3.30.0 → schemathesis-3.30.1}/img/service_github_report.png +0 -0
  111. {schemathesis-3.30.0 → schemathesis-3.30.1}/mypy.ini +0 -0
  112. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/__init__.py +0 -0
  113. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/_compat.py +0 -0
  114. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/_dependency_versions.py +0 -0
  115. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/_hypothesis.py +0 -0
  116. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/_lazy_import.py +0 -0
  117. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/_override.py +0 -0
  118. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/_rate_limiter.py +0 -0
  119. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/_xml.py +0 -0
  120. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/auths.py +0 -0
  121. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/checks.py +0 -0
  122. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/__main__.py +0 -0
  123. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/callbacks.py +0 -0
  124. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/cassettes.py +0 -0
  125. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/constants.py +0 -0
  126. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/debug.py +0 -0
  127. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/handlers.py +0 -0
  128. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/options.py +0 -0
  129. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/output/__init__.py +0 -0
  130. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/output/short.py +0 -0
  131. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/reporting.py +0 -0
  132. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/cli/sanitization.py +0 -0
  133. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/code_samples.py +0 -0
  134. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/constants.py +0 -0
  135. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/contrib/__init__.py +0 -0
  136. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  137. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  138. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  139. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  140. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/contrib/unique_data.py +0 -0
  141. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/experimental/__init__.py +0 -0
  142. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/extra/__init__.py +0 -0
  143. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/extra/_aiohttp.py +0 -0
  144. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/extra/_flask.py +0 -0
  145. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/extra/_server.py +0 -0
  146. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
  147. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/filters.py +0 -0
  148. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/fixups/__init__.py +0 -0
  149. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/fixups/fast_api.py +0 -0
  150. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
  151. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/generation/__init__.py +0 -0
  152. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/graphql.py +0 -0
  153. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/hooks.py +0 -0
  154. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/__init__.py +0 -0
  155. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/copy.py +0 -0
  156. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/datetime.py +0 -0
  157. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/deprecation.py +0 -0
  158. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/jsonschema.py +0 -0
  159. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/result.py +0 -0
  160. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/transformation.py +0 -0
  161. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/internal/validation.py +0 -0
  162. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/loaders.py +0 -0
  163. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/parameters.py +0 -0
  164. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/py.typed +0 -0
  165. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/__init__.py +0 -0
  166. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/impl/__init__.py +0 -0
  167. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/impl/solo.py +0 -0
  168. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/impl/threadpool.py +0 -0
  169. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/probes.py +0 -0
  170. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/runner/serialization.py +0 -0
  171. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/sanitization.py +0 -0
  172. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/serializers.py +0 -0
  173. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/__init__.py +0 -0
  174. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/auth.py +0 -0
  175. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/ci.py +0 -0
  176. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/client.py +0 -0
  177. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/constants.py +0 -0
  178. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/events.py +0 -0
  179. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/extensions.py +0 -0
  180. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/hosts.py +0 -0
  181. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/metadata.py +0 -0
  182. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/models.py +0 -0
  183. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/report.py +0 -0
  184. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/service/usage.py +0 -0
  185. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/__init__.py +0 -0
  186. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
  187. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/graphql/_cache.py +0 -0
  188. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
  189. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
  190. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
  191. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/graphql/validation.py +0 -0
  192. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
  193. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/_cache.py +0 -0
  194. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
  195. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/checks.py +0 -0
  196. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/constants.py +0 -0
  197. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/converter.py +0 -0
  198. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
  199. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/examples.py +0 -0
  200. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  201. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  202. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  203. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  204. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  205. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  206. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  207. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/filters.py +0 -0
  208. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/formats.py +0 -0
  209. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/links.py +0 -0
  210. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/media_types.py +0 -0
  211. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  212. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  213. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  214. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  215. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
  216. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/references.py +0 -0
  217. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/security.py +0 -0
  218. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/serialization.py +0 -0
  219. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  220. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  221. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  222. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/utils.py +0 -0
  223. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/specs/openapi/validation.py +0 -0
  224. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/__init__.py +0 -0
  225. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/config.py +0 -0
  226. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/sink.py +0 -0
  227. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/state_machine.py +0 -0
  228. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/statistic.py +0 -0
  229. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/stateful/validation.py +0 -0
  230. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/targets.py +0 -0
  231. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/throttling.py +0 -0
  232. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/transports/__init__.py +0 -0
  233. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/transports/auth.py +0 -0
  234. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/transports/content_types.py +0 -0
  235. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/transports/headers.py +0 -0
  236. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/transports/responses.py +0 -0
  237. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/types.py +0 -0
  238. {schemathesis-3.30.0 → schemathesis-3.30.1}/src/schemathesis/utils.py +0 -0
  239. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/__init__.py +0 -0
  240. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  241. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  242. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  243. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  244. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/__init__.py +0 -0
  245. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/_graphql/__init__.py +0 -0
  246. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  247. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/_graphql/_fastapi/app.py +0 -0
  248. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/_graphql/_flask/__init__.py +0 -0
  249. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/_graphql/_flask/app.py +0 -0
  250. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/_graphql/schema.py +0 -0
  251. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/__init__.py +0 -0
  252. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  253. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/_aiohttp/app.py +0 -0
  254. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
  255. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/_fastapi/app.py +0 -0
  256. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/_flask/__init__.py +0 -0
  257. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/_flask/app.py +0 -0
  258. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/apps/openapi/schema.py +0 -0
  259. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__init__.py +0 -0
  260. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  261. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  262. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  263. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  264. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  265. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  266. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  267. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/conftest.py +0 -0
  268. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/test_cli.py +0 -0
  269. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/test_provider.py +0 -0
  270. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/auth/test_pytest.py +0 -0
  271. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__init__.py +0 -0
  272. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  273. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  274. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  275. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  276. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  277. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  278. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  279. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  280. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  281. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  282. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  283. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  284. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  285. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  286. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  287. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  288. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  289. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  290. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  291. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  292. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  293. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  294. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  295. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  296. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  297. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  298. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  299. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  300. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  301. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  302. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  303. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  304. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  305. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  306. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  307. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  308. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  309. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  310. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  311. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  312. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  313. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  314. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  315. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  316. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  317. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  318. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  319. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  320. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  321. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  322. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  323. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  324. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  325. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  326. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  327. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  328. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  329. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  330. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  331. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  332. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  333. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  334. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  335. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  336. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  337. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  338. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  339. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  340. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  341. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  342. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  343. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  344. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  345. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  346. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  347. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  348. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  349. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  350. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  351. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  352. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  353. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  354. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  355. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  356. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  357. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  358. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  359. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  360. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  361. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  362. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  363. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  364. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  365. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  366. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  367. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  368. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  369. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  370. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  371. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  372. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  373. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  374. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  375. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  376. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  377. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  378. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  379. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  380. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  381. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  382. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  383. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  384. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  385. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  386. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  387. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  388. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  389. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  390. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  391. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  392. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  393. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  394. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  395. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  396. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  397. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  398. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  399. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  400. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  401. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  402. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  403. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  404. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  405. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  406. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  407. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  408. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  409. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  410. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  411. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  412. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  413. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  414. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  415. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  416. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  417. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  418. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  419. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  420. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  421. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  422. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  423. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  424. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  425. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  426. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  427. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  428. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  429. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  430. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  431. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  432. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  433. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  434. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  435. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  436. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  437. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  438. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  439. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  440. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  441. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  442. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  443. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  444. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  445. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  446. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  447. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  448. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  449. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  450. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  451. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  452. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  453. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  454. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  455. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  456. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/cert.pem +0 -0
  457. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/conftest.py +0 -0
  458. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/output/__init__.py +0 -0
  459. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/output/test_default.py +0 -0
  460. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_asgi.py +0 -0
  461. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_callbacks.py +0 -0
  462. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_cassettes.py +0 -0
  463. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_checks.py +0 -0
  464. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_crashes.py +0 -0
  465. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_hooks.py +0 -0
  466. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_junitxml.py +0 -0
  467. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_options.py +0 -0
  468. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/cli/test_targeted.py +0 -0
  469. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  470. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  471. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/code_samples/conftest.py +0 -0
  472. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/code_samples/test_curl.py +0 -0
  473. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/code_samples/test_python.py +0 -0
  474. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/conftest.py +0 -0
  475. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  476. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  477. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  478. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  479. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  480. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  481. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  482. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
  483. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  484. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/test_install.py +0 -0
  485. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/contrib/test_unique_data.py +0 -0
  486. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/petstore_v2.yaml +0 -0
  487. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/petstore_v3.yaml +0 -0
  488. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/relative_files/components/parameters.yaml +0 -0
  489. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/relative_files/components/responses.yaml +0 -0
  490. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/relative_files/components/schemas.yaml +0 -0
  491. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/relative_files/main.yaml +0 -0
  492. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/relative_files/paths/user-account.yaml +0 -0
  493. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/simple_openapi.yaml +0 -0
  494. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/data/simple_swagger.yaml +0 -0
  495. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  496. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/experimental/conftest.py +0 -0
  497. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/experimental/test_experiments.py +0 -0
  498. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/experimental/test_openapi_3_1.py +0 -0
  499. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/extra/__init__.py +0 -0
  500. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/extra/test_aiohttp.py +0 -0
  501. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/filters/test_matching.py +0 -0
  502. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/hooks/test_filter_operations.py +0 -0
  503. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/hooks/test_hooks.py +0 -0
  504. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/loaders/conftest.py +0 -0
  505. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/loaders/test_app.py +0 -0
  506. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/loaders/test_common.py +0 -0
  507. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/loaders/test_graphql.py +0 -0
  508. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/loaders/test_openapi.py +0 -0
  509. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/loaders/test_yaml.py +0 -0
  510. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/runner/__init__.py +0 -0
  511. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/runner/test_checks.py +0 -0
  512. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/runner/test_events.py +0 -0
  513. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/runner/test_probes.py +0 -0
  514. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/runner/test_runner.py +0 -0
  515. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__init__.py +0 -0
  516. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  517. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  518. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  519. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  520. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  521. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  522. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  523. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  524. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  525. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  526. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  527. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  528. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  529. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  530. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  531. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  532. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  533. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  534. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  535. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  536. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  537. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  538. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  539. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  540. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  541. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  542. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/conftest.py +0 -0
  543. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/test_auth.py +0 -0
  544. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/test_ci.py +0 -0
  545. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/test_cli.py +0 -0
  546. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/test_extensions.py +0 -0
  547. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/test_report.py +0 -0
  548. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/test_serialization.py +0 -0
  549. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/service/test_usage.py +0 -0
  550. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  551. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  552. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  553. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  554. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/graphql/test_basic.py +0 -0
  555. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/graphql/test_custom_scalars.py +0 -0
  556. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/graphql/test_pytest.py +0 -0
  557. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  558. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  559. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/blank.pdf +0 -0
  560. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/conftest.py +0 -0
  561. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/parameters/test_forms.py +0 -0
  562. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  563. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  564. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/randomized/__init__.py +0 -0
  565. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/randomized/factory.py +0 -0
  566. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/randomized/test_randomized.py +0 -0
  567. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/randomized/types.py +0 -0
  568. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/randomized/v2.py +0 -0
  569. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/stateful/__init__.py +0 -0
  570. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/stateful/conftest.py +0 -0
  571. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/stateful/test_config.py +0 -0
  572. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/stateful/test_stateful.py +0 -0
  573. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_checks.py +0 -0
  574. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_examples.py +0 -0
  575. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_expressions.py +0 -0
  576. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_hypothesis.py +0 -0
  577. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_links.py +0 -0
  578. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_media_types.py +0 -0
  579. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_negative.py +0 -0
  580. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_parameters.py +0 -0
  581. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_schemas.py +0 -0
  582. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_security.py +0 -0
  583. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_serializing.py +0 -0
  584. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_utils.py +0 -0
  585. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/specs/openapi/test_validation.py +0 -0
  586. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_app.py +0 -0
  587. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_asgi.py +0 -0
  588. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_async.py +0 -0
  589. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_common_parameters.py +0 -0
  590. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_converter.py +0 -0
  591. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_dereferencing.py +0 -0
  592. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_direct_access.py +0 -0
  593. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_examples.py +0 -0
  594. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_filters.py +0 -0
  595. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_fixups.py +0 -0
  596. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_hypothesis.py +0 -0
  597. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_internal.py +0 -0
  598. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_lazy.py +0 -0
  599. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_models.py +0 -0
  600. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_package.py +0 -0
  601. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_parameters.py +0 -0
  602. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_parametrization.py +0 -0
  603. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_petstore.py +0 -0
  604. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_pytest.py +0 -0
  605. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_rate_limit.py +0 -0
  606. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_recoverable_errors.py +0 -0
  607. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_required.py +0 -0
  608. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_sanitizing_output.py +0 -0
  609. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_schemas.py +0 -0
  610. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_serialization.py +0 -0
  611. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_stateful.py +0 -0
  612. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_unittest.py +0 -0
  613. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_utils.py +0 -0
  614. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/test_wsgi.py +0 -0
  615. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/transports/test_content_types.py +0 -0
  616. {schemathesis-3.30.0 → schemathesis-3.30.1}/test/utils.py +0 -0
  617. {schemathesis-3.30.0 → schemathesis-3.30.1}/test-corpus/test_corpus.py +0 -0
  618. {schemathesis-3.30.0 → schemathesis-3.30.1}/test_server.sh +0 -0
  619. {schemathesis-3.30.0 → schemathesis-3.30.1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: schemathesis
3
- Version: 3.30.0
3
+ Version: 3.30.1
4
4
  Summary: Property-based testing framework for Open API and GraphQL based apps
5
5
  Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
6
6
  Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
@@ -34,8 +34,8 @@ Requires-Dist: colorama<1.0,>=0.4
34
34
  Requires-Dist: httpx<1.0,>=0.22.0
35
35
  Requires-Dist: hypothesis-graphql<1,>=0.11.0
36
36
  Requires-Dist: hypothesis-jsonschema<0.24,>=0.23.1
37
- Requires-Dist: hypothesis<7,>=6.84.3; python_version > '3.8'
38
- Requires-Dist: hypothesis[zoneinfo]<7,>=6.84.3; python_version == '3.8'
37
+ Requires-Dist: hypothesis<7,>=6.103.4; python_version > '3.8'
38
+ Requires-Dist: hypothesis[zoneinfo]<7,>=6.103.4; python_version == '3.8'
39
39
  Requires-Dist: jsonschema<5.0,>=4.18.0
40
40
  Requires-Dist: junit-xml<2.0,>=1.9
41
41
  Requires-Dist: pyrate-limiter<4.0,>=2.10
@@ -1,9 +1,27 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.30.0...HEAD>` - TBD
4
+ :version:`Unreleased <v3.30.1...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.30.1:
8
+
9
+ :version:`3.30.1 <v3.30.0...v3.30.1>` - 2024-06-24
10
+ --------------------------------------------------
11
+
12
+ **Added**
13
+
14
+ - ``--output-truncate=false`` CLI option to disable schema and response payload truncation in error messages.
15
+
16
+ **Changed**
17
+
18
+ - More fine-grained events for stateful testing.
19
+
20
+ **Fixed**
21
+
22
+ - Internal error caused by an upstream race condition bug in Hypothesis. :issue:`2269`
23
+ - Do not output stateful tests sub-section in CLI if there are no stateful tests due to applied filters.
24
+
7
25
  .. _v3.30.0:
8
26
 
9
27
  :version:`3.30.0 <v3.29.2...v3.30.0>` - 2024-06-23
@@ -125,6 +125,7 @@ There are four built-in checks you can use via the `--checks / -c` CLI option:
125
125
  - ``response_schema_conformance``. The response content does not conform to the schema defined for this specific response;
126
126
  - ``negative_data_rejection``. The API accepts data that is invalid according to the schema;
127
127
  - ``response_headers_conformance``. The response headers does not contain all defined headers.
128
+ - ``use_after_free``. The API returned a non-404 response a successful DELETE operation on a resource. **NOTE**: Only enabled for new-style stateful testing.
128
129
 
129
130
  To make Schemathesis perform all built-in checks use ``--checks all`` CLI option:
130
131
 
@@ -234,17 +235,25 @@ Note that it is not guaranteed to improve performance because it depends on your
234
235
  Code samples style
235
236
  ------------------
236
237
 
237
- To reproduce test failures Schemathesis generates code samples:
238
+ To reproduce test failures Schemathesis generates cURL commands:
238
239
 
239
240
  .. code:: python
240
241
 
241
- requests.get("http://127.0.0.1:8081/api/failure")
242
+ curl -X GET http://127.0.0.1:8081/api/failure
242
243
 
243
- You can control these samples via the ``--code-sample-style`` CLI option. For example, passing ``curl`` will generate a cURL command like this:
244
+ You can control these samples via the ``--code-sample-style`` CLI option. For example, passing ``python`` will generate a Python snippet like this:
244
245
 
245
246
  .. code:: bash
246
247
 
247
- curl -X GET http://127.0.0.1:8081/api/failure
248
+ requests.get("http://127.0.0.1:8081/api/failure")
249
+
250
+ Output verbosity
251
+ ----------------
252
+
253
+ Sometimes the output contains parts of your API schema or responses in order to provide more context.
254
+ By default, Schemathesis truncates these parts to make the output more readable. However, you can control this behavior with:
255
+
256
+ - ``--output-truncate=false``. Disables schema and response truncation in error messages.
248
257
 
249
258
  ASGI / WSGI support
250
259
  -------------------
@@ -648,8 +657,8 @@ If your API spec is stored in a file, you could use it too by specifying a Docke
648
657
 
649
658
  .. code-block:: bash
650
659
 
651
- docker run -v $(pwd):/mnt schemathesis/schemathesis:stable \
652
- run /mnt/spec.json
660
+ docker run -v $(pwd):/app schemathesis/schemathesis:stable \
661
+ run /app/spec.json
653
662
 
654
663
  In the example above, the ``spec.json`` file from the current working directory is shared with the Schemathesis container.
655
664
  Note, that ``$(pwd)`` is shell-specific and works in ``sh`` / ``bash`` / ``zsh``, but could be different in e.g. ``PowerShell``.
@@ -123,6 +123,16 @@ Also, depending on your setup, you might need to run this command with a custom
123
123
  In the example above, the module is located at ``myproject/tests/hooks.py`` and the environment variable contains
124
124
  a path that could be used as an import in Python.
125
125
 
126
+ If you run Schemathesis in Docker, make sure you mount a volume to the ``/app`` directory, so Schemathesis can find it within the container.
127
+
128
+ .. code:: bash
129
+
130
+ docker run -v $(pwd):/app -e SCHEMATHESIS_HOOKS=hooks --network=host
131
+ schemathesis/schemathesis:stable run http://127.0.0.1:8081/schema.yaml
132
+
133
+ In this example, the hooks file is called ``hooks.py`` and is located in the current directory.
134
+ The current directory is mounted to the ``/app`` directory in the container.
135
+
126
136
  .. note::
127
137
 
128
138
  The name of the module is arbitrary but make sure it is a valid Python module name. Usually it is sufficient to put all your extensions in the ``hooks.py`` file in the current directory.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.30.0"
7
+ version = "3.30.1"
8
8
  description = "Property-based testing framework for Open API and GraphQL based apps"
9
9
  keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
10
10
  authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
@@ -35,8 +35,8 @@ dependencies = [
35
35
  "click>=7.0,<9.0",
36
36
  "colorama>=0.4,<1.0",
37
37
  "httpx>=0.22.0,<1.0",
38
- "hypothesis>=6.84.3,<7; python_version > '3.8'",
39
- "hypothesis[zoneinfo]>=6.84.3,<7; python_version == '3.8'",
38
+ "hypothesis>=6.103.4,<7; python_version > '3.8'",
39
+ "hypothesis[zoneinfo]>=6.103.4,<7; python_version == '3.8'",
40
40
  "hypothesis_graphql>=0.11.0,<1",
41
41
  "hypothesis_jsonschema>=0.23.1,<0.24",
42
42
  "jsonschema>=4.18.0,<5.0",
@@ -38,6 +38,7 @@ from ..fixups import ALL_FIXUPS
38
38
  from ..generation import DEFAULT_DATA_GENERATION_METHODS, DataGenerationMethod
39
39
  from ..hooks import GLOBAL_HOOK_DISPATCHER, HookContext, HookDispatcher, HookScope
40
40
  from ..internal.datetime import current_datetime
41
+ from ..internal.output import OutputConfig
41
42
  from ..internal.validation import file_exists
42
43
  from ..loaders import load_app, load_yaml
43
44
  from ..models import Case, CheckFunction
@@ -694,6 +695,14 @@ The report data, consisting of a tar gz file with multiple JSON files, is subjec
694
695
  callback=callbacks.convert_experimental,
695
696
  multiple=True,
696
697
  )
698
+ @click.option(
699
+ "--output-truncate",
700
+ help="Specifies whether to truncate schemas and responses in error messages.",
701
+ type=str,
702
+ default="true",
703
+ show_default=True,
704
+ callback=callbacks.convert_boolean_string,
705
+ )
697
706
  @click.option(
698
707
  "--generation-allow-x00",
699
708
  help="Determines whether to allow the generation of `\x00` bytes within strings.",
@@ -783,6 +792,7 @@ def run(
783
792
  stateful_recursion_limit: int = DEFAULT_STATEFUL_RECURSION_LIMIT,
784
793
  force_schema_version: str | None = None,
785
794
  sanitize_output: bool = True,
795
+ output_truncate: bool = True,
786
796
  contrib_unique_data: bool = False,
787
797
  contrib_openapi_formats_uuid: bool = False,
788
798
  contrib_openapi_fill_missing_examples: bool = False,
@@ -863,6 +873,8 @@ def run(
863
873
  click.secho(DEPRECATED_CASSETTE_PATH_OPTION_WARNING, fg="yellow")
864
874
  cassette_path = store_network_log
865
875
 
876
+ output_config = OutputConfig(truncate=output_truncate)
877
+
866
878
  schemathesis_io_hostname = urlparse(schemathesis_io_url).netloc
867
879
  token = schemathesis_io_token or service.hosts.get_token(hostname=schemathesis_io_hostname, hosts_file=hosts_file)
868
880
  schema_kind = callbacks.parse_schema_kind(schema, app)
@@ -982,6 +994,7 @@ def run(
982
994
  stateful_recursion_limit=stateful_recursion_limit,
983
995
  hypothesis_settings=hypothesis_settings,
984
996
  generation_config=generation_config,
997
+ output_config=output_config,
985
998
  service_client=client,
986
999
  )
987
1000
  execute(
@@ -1008,6 +1021,7 @@ def run(
1008
1021
  location=schema,
1009
1022
  base_url=base_url,
1010
1023
  started_at=started_at,
1024
+ output_config=output_config,
1011
1025
  )
1012
1026
 
1013
1027
 
@@ -1036,6 +1050,7 @@ class LoaderConfig:
1036
1050
  request_cert: RequestCert | None
1037
1051
  wait_for_schema: float | None
1038
1052
  rate_limit: str | None
1053
+ output_config: OutputConfig
1039
1054
  # Network request parameters
1040
1055
  auth: tuple[str, str] | None
1041
1056
  auth_type: str | None
@@ -1079,6 +1094,7 @@ def into_event_stream(
1079
1094
  workers_num: int,
1080
1095
  hypothesis_settings: hypothesis.settings | None,
1081
1096
  generation_config: generation.GenerationConfig,
1097
+ output_config: OutputConfig,
1082
1098
  seed: int | None,
1083
1099
  exit_first: bool,
1084
1100
  max_failures: int | None,
@@ -1112,6 +1128,7 @@ def into_event_stream(
1112
1128
  method=method or None,
1113
1129
  tag=tag or None,
1114
1130
  operation_id=operation_id or None,
1131
+ output_config=output_config,
1115
1132
  )
1116
1133
  schema = load_schema(config)
1117
1134
  yield from runner.from_schema(
@@ -1257,6 +1274,7 @@ def get_loader_kwargs(loader: Callable, config: LoaderConfig) -> dict[str, Any]:
1257
1274
  "force_schema_version": config.force_schema_version,
1258
1275
  "data_generation_methods": config.data_generation_methods,
1259
1276
  "rate_limit": config.rate_limit,
1277
+ "output_config": config.output_config,
1260
1278
  }
1261
1279
  if loader not in (oas_loaders.from_path, oas_loaders.from_dict):
1262
1280
  kwargs["headers"] = config.headers
@@ -1384,6 +1402,7 @@ def execute(
1384
1402
  location: str,
1385
1403
  base_url: str | None,
1386
1404
  started_at: str,
1405
+ output_config: OutputConfig,
1387
1406
  ) -> None:
1388
1407
  """Execute a prepared runner by drawing events from it and passing to a proper handler."""
1389
1408
  handlers: list[EventHandler] = []
@@ -1447,6 +1466,7 @@ def execute(
1447
1466
  verbosity=verbosity,
1448
1467
  code_sample_style=code_sample_style,
1449
1468
  report=report_context,
1469
+ output_config=output_config,
1450
1470
  )
1451
1471
 
1452
1472
  def shutdown() -> None:
@@ -8,6 +8,7 @@ from typing import TYPE_CHECKING
8
8
 
9
9
  from ..code_samples import CodeSampleStyle
10
10
  from ..internal.deprecation import deprecated_property
11
+ from ..internal.output import OutputConfig
11
12
  from ..internal.result import Result
12
13
  from ..runner.probes import ProbeRun
13
14
  from ..runner.serialization import SerializedTestResult
@@ -57,6 +58,7 @@ class ExecutionContext:
57
58
  report: ServiceReportContext | FileReportContext | None = None
58
59
  probes: list[ProbeRun] | None = None
59
60
  analysis: Result[AnalysisResult, Exception] | None = None
61
+ output_config: OutputConfig = field(default_factory=OutputConfig)
60
62
  # Special flag to display a warning about Windows-specific encoding issue
61
63
  encountered_windows_encoding_issue: bool = False
62
64
  state_machine_sink: StateMachineSink | None = None
@@ -7,7 +7,8 @@ from typing import TYPE_CHECKING, cast
7
7
 
8
8
  from junit_xml import TestCase, TestSuite, to_xml_report_file
9
9
 
10
- from ..exceptions import RuntimeErrorType, prepare_response_payload
10
+ from ..exceptions import RuntimeErrorType
11
+ from ..internal.output import prepare_response_payload
11
12
  from ..models import Status
12
13
  from ..runner import events
13
14
  from ..runner.serialization import SerializedCheck, SerializedError
@@ -37,7 +38,7 @@ class JunitXMLHandler(EventHandler):
37
38
  group_by_case(event.result.checks, context.code_sample_style), 1
38
39
  ):
39
40
  checks = sorted(group, key=lambda c: c.name != "not_a_server_error")
40
- test_case.add_failure_info(message=build_failure_message(idx, code_sample, checks))
41
+ test_case.add_failure_info(message=build_failure_message(context, idx, code_sample, checks))
41
42
  elif event.status == Status.error:
42
43
  test_case.add_error_info(message=build_error_message(context, event.result.errors[-1]))
43
44
  elif event.status == Status.skip:
@@ -48,7 +49,7 @@ class JunitXMLHandler(EventHandler):
48
49
  to_xml_report_file(file_descriptor=self.file_handle, test_suites=test_suites, prettyprint=True)
49
50
 
50
51
 
51
- def build_failure_message(idx: int, code_sample: str, checks: list[SerializedCheck]) -> str:
52
+ def build_failure_message(context: ExecutionContext, idx: int, code_sample: str, checks: list[SerializedCheck]) -> str:
52
53
  from ..transports.responses import get_reason
53
54
 
54
55
  message = ""
@@ -73,7 +74,7 @@ def build_failure_message(idx: int, code_sample: str, checks: list[SerializedChe
73
74
  # Checked that is not None
74
75
  body = cast(bytes, check.response.deserialize_body())
75
76
  payload = body.decode(encoding)
76
- payload = prepare_response_payload(payload)
77
+ payload = prepare_response_payload(payload, config=context.output_config)
77
78
  payload = textwrap.indent(f"\n`{payload}`\n", prefix=" ")
78
79
  message += payload
79
80
  except UnicodeDecodeError:
@@ -26,9 +26,9 @@ from ...exceptions import (
26
26
  RuntimeErrorType,
27
27
  extract_requests_exception_details,
28
28
  format_exception,
29
- prepare_response_payload,
30
29
  )
31
30
  from ...experimental import GLOBAL_EXPERIMENTS
31
+ from ...internal.output import prepare_response_payload
32
32
  from ...internal.result import Ok
33
33
  from ...models import Status
34
34
  from ...runner import events
@@ -314,7 +314,7 @@ def display_failures_for_single_test(context: ExecutionContext, result: Serializ
314
314
  # Checked that is not None
315
315
  body = cast(bytes, check.response.deserialize_body())
316
316
  payload = body.decode(encoding)
317
- payload = prepare_response_payload(payload)
317
+ payload = prepare_response_payload(payload, config=context.output_config)
318
318
  payload = textwrap.indent(f"\n`{payload}`", prefix=" ")
319
319
  click.echo(payload)
320
320
  except UnicodeDecodeError:
@@ -878,7 +878,11 @@ def handle_stateful_event(context: ExecutionContext, event: events.StatefulEvent
878
878
  if not experimental.STATEFUL_ONLY.is_enabled:
879
879
  click.echo()
880
880
  click.secho("Stateful tests\n", bold=True)
881
- elif isinstance(event.data, stateful_events.ScenarioFinished) and not event.data.is_final:
881
+ elif (
882
+ isinstance(event.data, stateful_events.ScenarioFinished)
883
+ and not event.data.is_final
884
+ and event.data.status != stateful_events.ScenarioStatus.REJECTED
885
+ ):
882
886
  display_execution_result(context, event.data.status.value)
883
887
  elif isinstance(event.data, stateful_events.RunFinished):
884
888
  click.echo()
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import enum
4
- import json
5
4
  import re
6
5
  import traceback
7
6
  from dataclasses import dataclass, field
@@ -12,6 +11,7 @@ from typing import TYPE_CHECKING, Any, Callable, Generator, NoReturn
12
11
 
13
12
  from .constants import SERIALIZERS_SUGGESTION_MESSAGE
14
13
  from .failures import FailureContext
14
+ from .internal.output import truncate_json
15
15
 
16
16
  if TYPE_CHECKING:
17
17
  import hypothesis.errors
@@ -207,7 +207,7 @@ class OperationSchemaError(Exception):
207
207
  message = "Invalid schema definition"
208
208
  error_path = " -> ".join(str(entry) for entry in error.path) or "[root]"
209
209
  message += f"\n\nLocation:\n {error_path}"
210
- instance = truncated_json(error.instance)
210
+ instance = truncate_json(error.instance)
211
211
  message += f"\n\nProblematic definition:\n{instance}"
212
212
  message += "\n\nError details:\n "
213
213
  # This default message contains the instance which we already printed
@@ -300,39 +300,6 @@ class InvalidHeadersExample(OperationSchemaError):
300
300
  return cls(message)
301
301
 
302
302
 
303
- def truncated_json(data: Any, max_lines: int = 10, max_width: int = 80) -> str:
304
- # Convert JSON to string with indentation
305
- indent = 4
306
- serialized = json.dumps(data, indent=indent)
307
-
308
- # Split string by lines
309
-
310
- lines = [line[: max_width - 3] + "..." if len(line) > max_width else line for line in serialized.split("\n")]
311
-
312
- if len(lines) <= max_lines:
313
- return "\n".join(lines)
314
-
315
- truncated_lines = lines[: max_lines - 1]
316
- indentation = " " * indent
317
- truncated_lines.append(f"{indentation}// Output truncated...")
318
- truncated_lines.append(lines[-1])
319
-
320
- return "\n".join(truncated_lines)
321
-
322
-
323
- MAX_PAYLOAD_SIZE = 512
324
-
325
-
326
- def prepare_response_payload(payload: str, max_size: int = MAX_PAYLOAD_SIZE) -> str:
327
- if payload.endswith("\r\n"):
328
- payload = payload[:-2]
329
- elif payload.endswith("\n"):
330
- payload = payload[:-1]
331
- if len(payload) > max_size:
332
- payload = payload[:max_size] + " // Output truncated..."
333
- return payload
334
-
335
-
336
303
  class DeadlineExceeded(Exception):
337
304
  """Test took too long to run."""
338
305
 
@@ -5,6 +5,8 @@ from dataclasses import dataclass
5
5
  from json import JSONDecodeError
6
6
  from typing import TYPE_CHECKING, Any
7
7
 
8
+ from schemathesis.internal.output import OutputConfig
9
+
8
10
  if TYPE_CHECKING:
9
11
  from graphql.error import GraphQLFormattedError
10
12
  from jsonschema import ValidationError
@@ -42,11 +44,14 @@ class ValidationErrorContext(FailureContext):
42
44
  return ("/".join(map(str, self.schema_path)),)
43
45
 
44
46
  @classmethod
45
- def from_exception(cls, exc: ValidationError) -> ValidationErrorContext:
46
- from .exceptions import truncated_json
47
-
48
- schema = textwrap.indent(truncated_json(exc.schema, max_lines=20), prefix=" ")
49
- value = textwrap.indent(truncated_json(exc.instance, max_lines=20), prefix=" ")
47
+ def from_exception(
48
+ cls, exc: ValidationError, *, output_config: OutputConfig | None = None
49
+ ) -> ValidationErrorContext:
50
+ from .internal.output import truncate_json
51
+
52
+ output_config = OutputConfig.from_parent(output_config, max_lines=20)
53
+ schema = textwrap.indent(truncate_json(exc.schema, config=output_config), prefix=" ")
54
+ value = textwrap.indent(truncate_json(exc.instance, config=output_config), prefix=" ")
50
55
  schema_path = list(exc.absolute_schema_path)
51
56
  if len(schema_path) > 1:
52
57
  # Exclude the last segment, which is already in the schema
@@ -0,0 +1,68 @@
1
+ from __future__ import annotations
2
+
3
+ import json
4
+ from dataclasses import dataclass, replace
5
+ from typing import Any
6
+
7
+ TRUNCATED = "// Output truncated..."
8
+ MAX_PAYLOAD_SIZE = 512
9
+ MAX_LINES = 10
10
+ MAX_WIDTH = 80
11
+
12
+
13
+ @dataclass
14
+ class OutputConfig:
15
+ """Options for configuring various aspects of Schemathesis output."""
16
+
17
+ truncate: bool = True
18
+ max_payload_size: int = MAX_PAYLOAD_SIZE
19
+ max_lines: int = MAX_LINES
20
+ max_width: int = MAX_WIDTH
21
+
22
+ @classmethod
23
+ def from_parent(cls, parent: OutputConfig | None = None, **changes: Any) -> OutputConfig:
24
+ parent = parent or OutputConfig()
25
+ return parent.replace(**changes)
26
+
27
+ def replace(self, **changes: Any) -> OutputConfig:
28
+ """Create a new instance with updated values."""
29
+ return replace(self, **changes)
30
+
31
+
32
+ def truncate_json(data: Any, *, config: OutputConfig | None = None) -> str:
33
+ config = config or OutputConfig()
34
+ # Convert JSON to string with indentation
35
+ indent = 4
36
+ serialized = json.dumps(data, indent=indent)
37
+ if not config.truncate:
38
+ return serialized
39
+
40
+ # Split string by lines
41
+
42
+ lines = [
43
+ line[: config.max_width - 3] + "..." if len(line) > config.max_width else line
44
+ for line in serialized.split("\n")
45
+ ]
46
+
47
+ if len(lines) <= config.max_lines:
48
+ return "\n".join(lines)
49
+
50
+ truncated_lines = lines[: config.max_lines - 1]
51
+ indentation = " " * indent
52
+ truncated_lines.append(f"{indentation}{TRUNCATED}")
53
+ truncated_lines.append(lines[-1])
54
+
55
+ return "\n".join(truncated_lines)
56
+
57
+
58
+ def prepare_response_payload(payload: str, *, config: OutputConfig | None = None) -> str:
59
+ if payload.endswith("\r\n"):
60
+ payload = payload[:-2]
61
+ elif payload.endswith("\n"):
62
+ payload = payload[:-1]
63
+ config = config or OutputConfig()
64
+ if not config.truncate:
65
+ return payload
66
+ if len(payload) > config.max_payload_size:
67
+ payload = payload[: config.max_payload_size] + f" {TRUNCATED}"
68
+ return payload
@@ -21,6 +21,7 @@ from .constants import FLAKY_FAILURE_MESSAGE, NOT_SET
21
21
  from .exceptions import CheckFailed, OperationSchemaError, SkipTest, get_grouped_exception
22
22
  from .generation import DataGenerationMethodInput, GenerationConfig
23
23
  from .hooks import HookDispatcher, HookScope
24
+ from .internal.output import OutputConfig
24
25
  from .internal.result import Ok
25
26
  from .models import APIOperation
26
27
  from .schemas import BaseSchema
@@ -52,6 +53,7 @@ class LazySchema:
52
53
  skip_deprecated_operations: bool = False
53
54
  data_generation_methods: DataGenerationMethodInput | NotSet = NOT_SET
54
55
  generation_config: GenerationConfig | NotSet = NOT_SET
56
+ output_config: OutputConfig | NotSet = NOT_SET
55
57
  code_sample_style: CodeSampleStyle = CodeSampleStyle.default()
56
58
  rate_limiter: Limiter | None = None
57
59
  sanitize_output: bool = True
@@ -69,6 +71,7 @@ class LazySchema:
69
71
  skip_deprecated_operations: bool | NotSet = NOT_SET,
70
72
  data_generation_methods: DataGenerationMethodInput | NotSet = NOT_SET,
71
73
  generation_config: GenerationConfig | NotSet = NOT_SET,
74
+ output_config: OutputConfig | NotSet = NOT_SET,
72
75
  code_sample_style: str | NotSet = NOT_SET,
73
76
  ) -> Callable:
74
77
  if method is NOT_SET:
@@ -83,6 +86,8 @@ class LazySchema:
83
86
  data_generation_methods = self.data_generation_methods
84
87
  if generation_config is NOT_SET:
85
88
  generation_config = self.generation_config
89
+ if output_config is NOT_SET:
90
+ output_config = self.output_config
86
91
  if isinstance(code_sample_style, str):
87
92
  _code_sample_style = CodeSampleStyle.from_str(code_sample_style)
88
93
  else:
@@ -122,6 +127,7 @@ class LazySchema:
122
127
  skip_deprecated_operations=skip_deprecated_operations,
123
128
  data_generation_methods=data_generation_methods,
124
129
  generation_config=generation_config,
130
+ output_config=output_config,
125
131
  code_sample_style=_code_sample_style,
126
132
  app=self.app,
127
133
  rate_limiter=self.rate_limiter,
@@ -326,6 +332,7 @@ def get_schema(
326
332
  skip_deprecated_operations: bool | NotSet = NOT_SET,
327
333
  data_generation_methods: DataGenerationMethodInput | NotSet = NOT_SET,
328
334
  generation_config: GenerationConfig | NotSet = NOT_SET,
335
+ output_config: OutputConfig | NotSet = NOT_SET,
329
336
  code_sample_style: CodeSampleStyle,
330
337
  rate_limiter: Limiter | None,
331
338
  sanitize_output: bool,
@@ -348,6 +355,7 @@ def get_schema(
348
355
  skip_deprecated_operations=skip_deprecated_operations,
349
356
  data_generation_methods=data_generation_methods,
350
357
  generation_config=generation_config,
358
+ output_config=output_config,
351
359
  code_sample_style=code_sample_style,
352
360
  rate_limiter=rate_limiter,
353
361
  sanitize_output=sanitize_output,
@@ -46,12 +46,12 @@ from .exceptions import (
46
46
  deduplicate_failed_checks,
47
47
  get_grouped_exception,
48
48
  maybe_set_assertion_message,
49
- prepare_response_payload,
50
49
  )
51
50
  from .generation import DataGenerationMethod, GenerationConfig, generate_random_case_id
52
51
  from .hooks import GLOBAL_HOOK_DISPATCHER, HookContext, HookDispatcher, dispatch
53
52
  from .internal.copy import fast_deepcopy
54
53
  from .internal.deprecation import deprecated_function, deprecated_property
54
+ from .internal.output import prepare_response_payload
55
55
  from .parameters import Parameter, ParameterSet, PayloadAlternatives
56
56
  from .sanitization import sanitize_request, sanitize_response
57
57
  from .serializers import Serializer
@@ -420,7 +420,7 @@ class Case:
420
420
  if not payload:
421
421
  formatted += "\n\n <EMPTY>"
422
422
  else:
423
- payload = prepare_response_payload(payload)
423
+ payload = prepare_response_payload(payload, config=self.operation.schema.output_config)
424
424
  payload = textwrap.indent(f"\n`{payload}`", prefix=" ")
425
425
  formatted += f"\n{payload}"
426
426
  code_sample_style = (
@@ -301,6 +301,7 @@ class StatefulEvent(ExecutionEvent):
301
301
  class AfterStatefulExecution(ExecutionEvent):
302
302
  """Happens after the stateful test run."""
303
303
 
304
+ status: Status
304
305
  result: SerializedTestResult
305
306
 
306
307
 
@@ -216,7 +216,7 @@ class BaseRunner:
216
216
 
217
217
  def _run_stateful_tests(self, results: TestResultSet) -> Generator[events.ExecutionEvent, None, None]:
218
218
  # Run new-style stateful tests
219
- if self.stateful is not None and experimental.STATEFUL_TEST_RUNNER.is_enabled:
219
+ if self.stateful is not None and experimental.STATEFUL_TEST_RUNNER.is_enabled and self.schema.links_count > 0:
220
220
  result = TestResult(
221
221
  method="",
222
222
  path="",
@@ -232,13 +232,21 @@ class BaseRunner:
232
232
  )
233
233
  state_machine = self.schema.as_state_machine()
234
234
  runner = state_machine.runner(config=config)
235
+ status = Status.success
235
236
  for stateful_event in runner.execute():
236
237
  if isinstance(stateful_event, stateful_events.SuiteFinished):
238
+ if stateful_event.failures and status != Status.error:
239
+ status = Status.failure
237
240
  for failure in stateful_event.failures:
238
241
  result.checks.append(failure)
242
+ elif isinstance(stateful_event, stateful_events.Errored):
243
+ status = Status.error
239
244
  yield events.StatefulEvent(data=stateful_event)
240
245
  results.append(result)
241
- yield events.AfterStatefulExecution(result=SerializedTestResult.from_test_result(result))
246
+ yield events.AfterStatefulExecution(
247
+ status=status,
248
+ result=SerializedTestResult.from_test_result(result),
249
+ )
242
250
 
243
251
  def _run_tests(
244
252
  self,
@@ -44,6 +44,7 @@ from .generation import (
44
44
  GenerationConfig,
45
45
  )
46
46
  from .hooks import HookContext, HookDispatcher, HookScope, dispatch
47
+ from .internal.output import OutputConfig
47
48
  from .internal.result import Ok, Result
48
49
  from .models import APIOperation, Case
49
50
  from .stateful import Stateful, StatefulTest
@@ -94,6 +95,7 @@ class BaseSchema(Mapping):
94
95
  default_factory=lambda: list(DEFAULT_DATA_GENERATION_METHODS)
95
96
  )
96
97
  generation_config: GenerationConfig = field(default_factory=GenerationConfig)
98
+ output_config: OutputConfig = field(default_factory=OutputConfig)
97
99
  code_sample_style: CodeSampleStyle = CodeSampleStyle.default()
98
100
  rate_limiter: Limiter | None = None
99
101
  sanitize_output: bool = True
@@ -286,6 +288,7 @@ class BaseSchema(Mapping):
286
288
  skip_deprecated_operations: bool | NotSet = NOT_SET,
287
289
  data_generation_methods: DataGenerationMethodInput | NotSet = NOT_SET,
288
290
  generation_config: GenerationConfig | NotSet = NOT_SET,
291
+ output_config: OutputConfig | NotSet = NOT_SET,
289
292
  code_sample_style: CodeSampleStyle | NotSet = NOT_SET,
290
293
  rate_limiter: Limiter | None = NOT_SET,
291
294
  sanitize_output: bool | NotSet | None = NOT_SET,
@@ -314,6 +317,8 @@ class BaseSchema(Mapping):
314
317
  data_generation_methods = self.data_generation_methods
315
318
  if generation_config is NOT_SET:
316
319
  generation_config = self.generation_config
320
+ if output_config is NOT_SET:
321
+ output_config = self.output_config
317
322
  if code_sample_style is NOT_SET:
318
323
  code_sample_style = self.code_sample_style
319
324
  if rate_limiter is NOT_SET:
@@ -337,6 +342,7 @@ class BaseSchema(Mapping):
337
342
  skip_deprecated_operations=skip_deprecated_operations, # type: ignore
338
343
  data_generation_methods=data_generation_methods, # type: ignore
339
344
  generation_config=generation_config, # type: ignore
345
+ output_config=output_config, # type: ignore
340
346
  code_sample_style=code_sample_style, # type: ignore
341
347
  rate_limiter=rate_limiter, # type: ignore
342
348
  sanitize_output=sanitize_output, # type: ignore