schemathesis 3.36.2__tar.gz → 3.36.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. {schemathesis-3.36.2 → schemathesis-3.36.3}/.pre-commit-config.yaml +2 -2
  2. {schemathesis-3.36.2 → schemathesis-3.36.3}/PKG-INFO +1 -1
  3. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/changelog.rst +10 -1
  4. {schemathesis-3.36.2 → schemathesis-3.36.3}/pyproject.toml +1 -1
  5. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/_hypothesis.py +15 -5
  6. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/cassettes.py +10 -0
  7. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/generation/coverage.py +95 -57
  8. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/models.py +5 -1
  9. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/serialization.py +2 -0
  10. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/_hypothesis.py +1 -0
  11. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/loaders/test_common.py +1 -1
  12. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_checks.py +1 -0
  13. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_sanitizing_output.py +1 -0
  14. {schemathesis-3.36.2 → schemathesis-3.36.3}/.dockerignore +0 -0
  15. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/FUNDING.yml +0 -0
  16. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  17. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  18. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  19. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/dependabot.yml +0 -0
  20. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/build.yml +0 -0
  21. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/codeql-analysis.yml +0 -0
  22. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/codspeed.yml +0 -0
  23. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/commit.yml +0 -0
  24. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/example-build.yml +0 -0
  25. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/example-no-build.yml +0 -0
  26. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/master_update.yml +0 -0
  27. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/release.yml +0 -0
  28. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/test-corpus.yml +0 -0
  29. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/test-hypothesis.yml +0 -0
  30. {schemathesis-3.36.2 → schemathesis-3.36.3}/.github/workflows/update-pre-commit.yml +0 -0
  31. {schemathesis-3.36.2 → schemathesis-3.36.3}/.gitignore +0 -0
  32. {schemathesis-3.36.2 → schemathesis-3.36.3}/.readthedocs.yml +0 -0
  33. {schemathesis-3.36.2 → schemathesis-3.36.3}/.relint.yml +0 -0
  34. {schemathesis-3.36.2 → schemathesis-3.36.3}/.rstcheck.cfg +0 -0
  35. {schemathesis-3.36.2 → schemathesis-3.36.3}/.yamllint +0 -0
  36. {schemathesis-3.36.2 → schemathesis-3.36.3}/CITATION.cff +0 -0
  37. {schemathesis-3.36.2 → schemathesis-3.36.3}/CODE_OF_CONDUCT.md +0 -0
  38. {schemathesis-3.36.2 → schemathesis-3.36.3}/CONTRIBUTING.rst +0 -0
  39. {schemathesis-3.36.2 → schemathesis-3.36.3}/Dockerfile +0 -0
  40. {schemathesis-3.36.2 → schemathesis-3.36.3}/Dockerfile.bookworm +0 -0
  41. {schemathesis-3.36.2 → schemathesis-3.36.3}/LICENSE +0 -0
  42. {schemathesis-3.36.2 → schemathesis-3.36.3}/README.md +0 -0
  43. {schemathesis-3.36.2 → schemathesis-3.36.3}/benches/cli.py +0 -0
  44. {schemathesis-3.36.2 → schemathesis-3.36.3}/benches/references.py +0 -0
  45. {schemathesis-3.36.2 → schemathesis-3.36.3}/benches/schema.py +0 -0
  46. {schemathesis-3.36.2 → schemathesis-3.36.3}/changelog.py +0 -0
  47. {schemathesis-3.36.2 → schemathesis-3.36.3}/codecov.yml +0 -0
  48. {schemathesis-3.36.2 → schemathesis-3.36.3}/corpus/data/graphql.tar.gz +0 -0
  49. {schemathesis-3.36.2 → schemathesis-3.36.3}/corpus/data/openapi-3.0.tar.gz +0 -0
  50. {schemathesis-3.36.2 → schemathesis-3.36.3}/corpus/data/openapi-3.1.tar.gz +0 -0
  51. {schemathesis-3.36.2 → schemathesis-3.36.3}/corpus/data/swagger-2.0.tar.gz +0 -0
  52. {schemathesis-3.36.2 → schemathesis-3.36.3}/corpus/tools.py +0 -0
  53. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/Makefile +0 -0
  54. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/additional-content.rst +0 -0
  55. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/api.rst +0 -0
  56. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/auth.rst +0 -0
  57. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/cli.rst +0 -0
  58. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/compatibility.rst +0 -0
  59. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/conf.py +0 -0
  60. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/continuous_integration.rst +0 -0
  61. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/contrib.rst +0 -0
  62. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/data-generation.rst +0 -0
  63. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/examples.rst +0 -0
  64. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/experimental.rst +0 -0
  65. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/extending.rst +0 -0
  66. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/faq.rst +0 -0
  67. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/getting-started.rst +0 -0
  68. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/graphql.rst +0 -0
  69. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/index.rst +0 -0
  70. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/python.rst +0 -0
  71. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/recipes.rst +0 -0
  72. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/requirements.txt +0 -0
  73. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/sanitizing.rst +0 -0
  74. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/service.rst +0 -0
  75. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/stateful.rst +0 -0
  76. {schemathesis-3.36.2 → schemathesis-3.36.3}/docs/targeted.rst +0 -0
  77. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/Dockerfile +0 -0
  78. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/README.md +0 -0
  79. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/app.py +0 -0
  80. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/compose.yml +0 -0
  81. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/openapi.json +0 -0
  82. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/requirements-app.in +0 -0
  83. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/requirements-app.txt +0 -0
  84. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/requirements-pytest.in +0 -0
  85. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/requirements-pytest.txt +0 -0
  86. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/tests/__init__.py +0 -0
  87. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/tests/conftest.py +0 -0
  88. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/tests/extensions.py +0 -0
  89. {schemathesis-3.36.2 → schemathesis-3.36.3}/example/tests/test_app.py +0 -0
  90. {schemathesis-3.36.2 → schemathesis-3.36.3}/img/demo.gif +0 -0
  91. {schemathesis-3.36.2 → schemathesis-3.36.3}/img/service_github_report.png +0 -0
  92. {schemathesis-3.36.2 → schemathesis-3.36.3}/mypy.ini +0 -0
  93. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/__init__.py +0 -0
  94. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/_compat.py +0 -0
  95. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/_dependency_versions.py +0 -0
  96. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/_lazy_import.py +0 -0
  97. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/_override.py +0 -0
  98. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/_rate_limiter.py +0 -0
  99. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/_xml.py +0 -0
  100. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/auths.py +0 -0
  101. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/checks.py +0 -0
  102. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/__init__.py +0 -0
  103. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/__main__.py +0 -0
  104. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/callbacks.py +0 -0
  105. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/constants.py +0 -0
  106. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/context.py +0 -0
  107. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/debug.py +0 -0
  108. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/handlers.py +0 -0
  109. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/junitxml.py +0 -0
  110. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/options.py +0 -0
  111. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/output/__init__.py +0 -0
  112. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/output/default.py +0 -0
  113. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/output/short.py +0 -0
  114. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/reporting.py +0 -0
  115. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/cli/sanitization.py +0 -0
  116. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/code_samples.py +0 -0
  117. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/constants.py +0 -0
  118. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/contrib/__init__.py +0 -0
  119. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  120. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  121. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  122. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  123. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/contrib/unique_data.py +0 -0
  124. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/exceptions.py +0 -0
  125. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/experimental/__init__.py +0 -0
  126. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/extra/__init__.py +0 -0
  127. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/extra/_aiohttp.py +0 -0
  128. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/extra/_flask.py +0 -0
  129. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/extra/_server.py +0 -0
  130. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/extra/pytest_plugin.py +0 -0
  131. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/failures.py +0 -0
  132. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/filters.py +0 -0
  133. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/fixups/__init__.py +0 -0
  134. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/fixups/fast_api.py +0 -0
  135. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/fixups/utf8_bom.py +0 -0
  136. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/generation/__init__.py +0 -0
  137. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/generation/_hypothesis.py +0 -0
  138. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/generation/_methods.py +0 -0
  139. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/graphql.py +0 -0
  140. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/hooks.py +0 -0
  141. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/__init__.py +0 -0
  142. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/checks.py +0 -0
  143. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/copy.py +0 -0
  144. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/datetime.py +0 -0
  145. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/deprecation.py +0 -0
  146. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/extensions.py +0 -0
  147. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/jsonschema.py +0 -0
  148. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/output.py +0 -0
  149. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/result.py +0 -0
  150. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/transformation.py +0 -0
  151. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/internal/validation.py +0 -0
  152. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/lazy.py +0 -0
  153. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/loaders.py +0 -0
  154. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/parameters.py +0 -0
  155. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/py.typed +0 -0
  156. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/__init__.py +0 -0
  157. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/events.py +0 -0
  158. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/impl/__init__.py +0 -0
  159. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/impl/context.py +0 -0
  160. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/impl/core.py +0 -0
  161. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/impl/solo.py +0 -0
  162. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/impl/threadpool.py +0 -0
  163. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/runner/probes.py +0 -0
  164. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/sanitization.py +0 -0
  165. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/schemas.py +0 -0
  166. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/serializers.py +0 -0
  167. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/__init__.py +0 -0
  168. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/auth.py +0 -0
  169. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/ci.py +0 -0
  170. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/client.py +0 -0
  171. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/constants.py +0 -0
  172. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/events.py +0 -0
  173. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/extensions.py +0 -0
  174. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/hosts.py +0 -0
  175. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/metadata.py +0 -0
  176. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/models.py +0 -0
  177. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/report.py +0 -0
  178. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/serialization.py +0 -0
  179. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/service/usage.py +0 -0
  180. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/__init__.py +0 -0
  181. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/graphql/__init__.py +0 -0
  182. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/graphql/_cache.py +0 -0
  183. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/graphql/loaders.py +0 -0
  184. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/graphql/nodes.py +0 -0
  185. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/graphql/scalars.py +0 -0
  186. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/graphql/schemas.py +0 -0
  187. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/graphql/validation.py +0 -0
  188. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/__init__.py +0 -0
  189. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/_cache.py +0 -0
  190. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/checks.py +0 -0
  191. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/constants.py +0 -0
  192. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/converter.py +0 -0
  193. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/definitions.py +0 -0
  194. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/examples.py +0 -0
  195. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  196. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  197. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  198. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  199. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  200. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  201. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  202. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/formats.py +0 -0
  203. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/links.py +0 -0
  204. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/loaders.py +0 -0
  205. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/media_types.py +0 -0
  206. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  207. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  208. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  209. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  210. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/parameters.py +0 -0
  211. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/patterns.py +0 -0
  212. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/references.py +0 -0
  213. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/schemas.py +0 -0
  214. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/security.py +0 -0
  215. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/serialization.py +0 -0
  216. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  217. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  218. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  219. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/utils.py +0 -0
  220. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/specs/openapi/validation.py +0 -0
  221. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/__init__.py +0 -0
  222. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/config.py +0 -0
  223. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/context.py +0 -0
  224. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/events.py +0 -0
  225. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/runner.py +0 -0
  226. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/sink.py +0 -0
  227. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/state_machine.py +0 -0
  228. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/statistic.py +0 -0
  229. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/stateful/validation.py +0 -0
  230. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/targets.py +0 -0
  231. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/throttling.py +0 -0
  232. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/transports/__init__.py +0 -0
  233. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/transports/asgi.py +0 -0
  234. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/transports/auth.py +0 -0
  235. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/transports/content_types.py +0 -0
  236. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/transports/headers.py +0 -0
  237. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/transports/responses.py +0 -0
  238. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/types.py +0 -0
  239. {schemathesis-3.36.2 → schemathesis-3.36.3}/src/schemathesis/utils.py +0 -0
  240. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/__init__.py +0 -0
  241. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  242. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  243. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  244. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  245. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  246. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  247. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/__init__.py +0 -0
  248. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/_graphql/__init__.py +0 -0
  249. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  250. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/_graphql/_fastapi/app.py +0 -0
  251. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/_graphql/_flask/__init__.py +0 -0
  252. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/_graphql/_flask/app.py +0 -0
  253. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/_graphql/schema.py +0 -0
  254. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/cp1252_app.py +0 -0
  255. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/hooks.py +0 -0
  256. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/__init__.py +0 -0
  257. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  258. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/_aiohttp/app.py +0 -0
  259. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  260. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/_fastapi/__init__.py +0 -0
  261. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/_fastapi/app.py +0 -0
  262. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/_flask/__init__.py +0 -0
  263. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/_flask/app.py +0 -0
  264. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/apps/openapi/schema.py +0 -0
  265. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__init__.py +0 -0
  266. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  267. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  268. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  269. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  270. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  271. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  272. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  273. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/conftest.py +0 -0
  274. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/test_cli.py +0 -0
  275. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/test_provider.py +0 -0
  276. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/auth/test_pytest.py +0 -0
  277. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/checks/__init__.py +0 -0
  278. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/checks/test_checks.py +0 -0
  279. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__init__.py +0 -0
  280. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  281. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  282. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  283. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  284. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  285. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  286. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  287. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  288. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  289. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  290. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  291. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  292. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  293. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  294. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  295. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  296. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  297. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  298. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  299. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  300. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  301. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  302. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  303. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  304. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  305. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  306. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  307. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  308. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  309. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  310. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  311. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  312. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
  313. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
  314. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  315. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  316. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  317. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  318. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  319. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
  320. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
  321. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
  322. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  323. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  324. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  325. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  326. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  327. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  328. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  329. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  330. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  331. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  332. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  333. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  334. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  335. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  336. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  337. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  338. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  339. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  340. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  341. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  342. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  343. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  344. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  345. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  346. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  347. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  348. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  349. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  350. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  351. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  352. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  353. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  354. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  355. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  356. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  357. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  358. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  359. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  360. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  361. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  362. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  363. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  364. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  365. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  366. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  367. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  368. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  369. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  370. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  371. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  372. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  373. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  374. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  375. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  376. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  377. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  378. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  379. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  380. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  381. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  382. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  383. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  384. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  385. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  386. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  387. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  388. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  389. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  390. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  391. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  392. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  393. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  394. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  395. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  396. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  397. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  398. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  399. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  400. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  401. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  402. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  403. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  404. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  405. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  406. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  407. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  408. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  409. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  410. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  411. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  412. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  413. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  414. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  415. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  416. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  417. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  418. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  419. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  420. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  421. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  422. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  423. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  424. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  425. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  426. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  427. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  428. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  429. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  430. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  431. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  432. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  433. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  434. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  435. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  436. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  437. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  438. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  439. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  440. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  441. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  442. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  443. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  444. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  445. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  446. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  447. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  448. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  449. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  450. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  451. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  452. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  453. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  454. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  455. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
  456. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  457. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  458. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  459. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  460. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  461. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  462. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  463. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  464. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  465. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  466. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  467. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  468. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  469. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  470. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  471. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  472. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  473. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  474. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  475. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  476. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  477. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  478. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  479. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  480. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  481. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/cert.pem +0 -0
  482. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/conftest.py +0 -0
  483. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/output/__init__.py +0 -0
  484. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/output/test_default.py +0 -0
  485. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_asgi.py +0 -0
  486. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_callbacks.py +0 -0
  487. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_cassettes.py +0 -0
  488. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_checks.py +0 -0
  489. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_commands.py +0 -0
  490. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_crashes.py +0 -0
  491. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_hooks.py +0 -0
  492. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_junitxml.py +0 -0
  493. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_options.py +0 -0
  494. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_reporting.py +0 -0
  495. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/cli/test_targeted.py +0 -0
  496. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  497. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  498. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/code_samples/conftest.py +0 -0
  499. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/code_samples/test_curl.py +0 -0
  500. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/code_samples/test_python.py +0 -0
  501. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/conftest.py +0 -0
  502. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  503. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  504. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  505. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  506. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
  507. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  508. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  509. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
  510. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  511. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/openapi/formats/test_uuid.py +0 -0
  512. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  513. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/test_install.py +0 -0
  514. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/contrib/test_unique_data.py +0 -0
  515. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/coverage/__init__.py +0 -0
  516. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/coverage/test_combinations.py +0 -0
  517. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/coverage/test_examples.py +0 -0
  518. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/coverage/test_phase.py +0 -0
  519. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/petstore_v2.yaml +0 -0
  520. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/petstore_v3.yaml +0 -0
  521. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/relative_files/components/parameters.yaml +0 -0
  522. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/relative_files/components/responses.yaml +0 -0
  523. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/relative_files/components/schemas.yaml +0 -0
  524. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/relative_files/main.yaml +0 -0
  525. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/relative_files/paths/user-account.yaml +0 -0
  526. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/simple_openapi.yaml +0 -0
  527. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/data/simple_swagger.yaml +0 -0
  528. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  529. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/experimental/conftest.py +0 -0
  530. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/experimental/test_experiments.py +0 -0
  531. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/experimental/test_openapi_3_1.py +0 -0
  532. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/extra/__init__.py +0 -0
  533. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/extra/test_aiohttp.py +0 -0
  534. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/filters/__init__.py +0 -0
  535. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/filters/test_expressions.py +0 -0
  536. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/filters/test_matching.py +0 -0
  537. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/hooks/test_filter_operations.py +0 -0
  538. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/hooks/test_filters.py +0 -0
  539. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/hooks/test_hooks.py +0 -0
  540. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/loaders/conftest.py +0 -0
  541. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/loaders/test_app.py +0 -0
  542. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/loaders/test_graphql.py +0 -0
  543. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/loaders/test_openapi.py +0 -0
  544. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/loaders/test_yaml.py +0 -0
  545. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/runner/__init__.py +0 -0
  546. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/runner/test_checks.py +0 -0
  547. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/runner/test_events.py +0 -0
  548. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/runner/test_probes.py +0 -0
  549. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/runner/test_runner.py +0 -0
  550. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__init__.py +0 -0
  551. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  552. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  553. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  554. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  555. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  556. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  557. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  558. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  559. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  560. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  561. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  562. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  563. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  564. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  565. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  566. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  567. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  568. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  569. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  570. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  571. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  572. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  573. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  574. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  575. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  576. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  577. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/conftest.py +0 -0
  578. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/test_auth.py +0 -0
  579. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/test_ci.py +0 -0
  580. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/test_cli.py +0 -0
  581. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/test_extensions.py +0 -0
  582. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/test_report.py +0 -0
  583. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/test_serialization.py +0 -0
  584. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/service/test_usage.py +0 -0
  585. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
  586. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
  587. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
  588. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  589. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  590. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  591. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  592. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/test_basic.py +0 -0
  593. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/test_custom_scalars.py +0 -0
  594. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/graphql/test_pytest.py +0 -0
  595. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  596. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  597. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
  598. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  599. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/blank.pdf +0 -0
  600. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/conftest.py +0 -0
  601. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/parameters/test_forms.py +0 -0
  602. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  603. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  604. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/stateful/__init__.py +0 -0
  605. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/stateful/conftest.py +0 -0
  606. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/stateful/test_config.py +0 -0
  607. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/stateful/test_runner.py +0 -0
  608. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/stateful/test_stateful.py +0 -0
  609. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_examples.py +0 -0
  610. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_expressions.py +0 -0
  611. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_hypothesis.py +0 -0
  612. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_ignored_auth.py +0 -0
  613. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_links.py +0 -0
  614. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_media_types.py +0 -0
  615. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_negative.py +0 -0
  616. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_parameters.py +0 -0
  617. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_patterns.py +0 -0
  618. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_randomized.py +0 -0
  619. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_schemas.py +0 -0
  620. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_security.py +0 -0
  621. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_serializing.py +0 -0
  622. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_utils.py +0 -0
  623. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/specs/openapi/test_validation.py +0 -0
  624. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_app.py +0 -0
  625. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_asgi.py +0 -0
  626. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_async.py +0 -0
  627. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_common_parameters.py +0 -0
  628. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_converter.py +0 -0
  629. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_dereferencing.py +0 -0
  630. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_direct_access.py +0 -0
  631. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_examples.py +0 -0
  632. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_filters.py +0 -0
  633. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_fixups.py +0 -0
  634. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_hypothesis.py +0 -0
  635. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_internal.py +0 -0
  636. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_lazy.py +0 -0
  637. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_models.py +0 -0
  638. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_output.py +0 -0
  639. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_package.py +0 -0
  640. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_parameters.py +0 -0
  641. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_parametrization.py +0 -0
  642. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_petstore.py +0 -0
  643. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_pytest.py +0 -0
  644. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_rate_limit.py +0 -0
  645. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_recoverable_errors.py +0 -0
  646. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_required.py +0 -0
  647. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_schemas.py +0 -0
  648. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_serialization.py +0 -0
  649. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_stateful.py +0 -0
  650. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_unittest.py +0 -0
  651. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_utils.py +0 -0
  652. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/test_wsgi.py +0 -0
  653. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/transports/test_content_types.py +0 -0
  654. {schemathesis-3.36.2 → schemathesis-3.36.3}/test/utils.py +0 -0
  655. {schemathesis-3.36.2 → schemathesis-3.36.3}/test-corpus/test_corpus.py +0 -0
  656. {schemathesis-3.36.2 → schemathesis-3.36.3}/test_server.sh +0 -0
  657. {schemathesis-3.36.2 → schemathesis-3.36.3}/tox.ini +0 -0
@@ -38,12 +38,12 @@ repos:
38
38
  additional_dependencies: [types-click, types-requests, types-PyYAML]
39
39
 
40
40
  - repo: https://github.com/astral-sh/ruff-pre-commit
41
- rev: v0.6.7
41
+ rev: v0.6.8
42
42
  hooks:
43
43
  - id: ruff-format
44
44
 
45
45
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
- rev: v0.6.7
46
+ rev: v0.6.8
47
47
  hooks:
48
48
  - id: ruff
49
49
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: schemathesis
3
- Version: 3.36.2
3
+ Version: 3.36.3
4
4
  Summary: Property-based testing framework for Open API and GraphQL based apps
5
5
  Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
6
6
  Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
@@ -1,9 +1,18 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.36.2...HEAD>` - TBD
4
+ :version:`Unreleased <v3.36.3...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.36.3:
8
+
9
+ :version:`3.36.3 <v3.36.2...v3.36.3>` - 2024-09-29
10
+ --------------------------------------------------
11
+
12
+ **Added**
13
+
14
+ - Meta information about generated data in the coverage phase.
15
+
7
16
  .. _v3.36.2:
8
17
 
9
18
  :version:`3.36.2 <v3.36.1...v3.36.2>` - 2024-09-26
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.36.2"
7
+ version = "3.36.3"
8
8
  description = "Property-based testing framework for Open API and GraphQL based apps"
9
9
  keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
10
10
  authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import asyncio
6
6
  import json
7
+ from copy import copy
7
8
  import warnings
8
9
  from typing import TYPE_CHECKING, Any, Callable, Generator, Mapping
9
10
 
@@ -221,7 +222,13 @@ def _iter_coverage_cases(
221
222
 
222
223
  ctx = coverage.CoverageContext(data_generation_methods=data_generation_methods)
223
224
  meta = GenerationMetadata(
224
- query=None, path_parameters=None, headers=None, cookies=None, body=None, phase=TestPhase.COVERAGE
225
+ query=None,
226
+ path_parameters=None,
227
+ headers=None,
228
+ cookies=None,
229
+ body=None,
230
+ phase=TestPhase.COVERAGE,
231
+ description=None,
225
232
  )
226
233
  generators: dict[tuple[str, str], Generator[coverage.GeneratedValue, None, None]] = {}
227
234
  template: dict[str, Any] = {}
@@ -259,17 +266,19 @@ def _iter_coverage_cases(
259
266
  template["media_type"] = body.media_type
260
267
  case = operation.make_case(**{**template, "body": value.value, "media_type": body.media_type})
261
268
  case.data_generation_method = value.data_generation_method
262
- case.meta = meta
269
+ case.meta = copy(meta)
270
+ case.meta.description = value.description
263
271
  yield case
264
272
  for next_value in gen:
265
273
  case = operation.make_case(**{**template, "body": next_value.value, "media_type": body.media_type})
266
274
  case.data_generation_method = next_value.data_generation_method
267
- case.meta = meta
275
+ case.meta = copy(meta)
276
+ case.meta.description = next_value.description
268
277
  yield case
269
278
  elif DataGenerationMethod.positive in data_generation_methods:
270
279
  case = operation.make_case(**template)
271
280
  case.data_generation_method = DataGenerationMethod.positive
272
- case.meta = meta
281
+ case.meta = copy(meta)
273
282
  yield case
274
283
  for (location, name), gen in generators.items():
275
284
  container_name = LOCATION_TO_CONTAINER[location]
@@ -281,7 +290,8 @@ def _iter_coverage_cases(
281
290
  generated = value.value
282
291
  case = operation.make_case(**{**template, container_name: {**container, name: generated}})
283
292
  case.data_generation_method = value.data_generation_method
284
- case.meta = meta
293
+ case.meta = copy(meta)
294
+ case.meta.description = value.description
285
295
  yield case
286
296
 
287
297
 
@@ -239,6 +239,16 @@ http_interactions:"""
239
239
  thread_id: {item.thread_id}
240
240
  correlation_id: '{item.correlation_id}'
241
241
  data_generation_method: '{interaction.data_generation_method.value}'
242
+ meta:
243
+ description: """
244
+ )
245
+
246
+ if interaction.description is not None:
247
+ write_double_quoted(stream, interaction.description)
248
+ else:
249
+ stream.write("null")
250
+ stream.write(
251
+ f"""
242
252
  phase: {phase}
243
253
  elapsed: '{interaction.response.elapsed if interaction.response else 0}'
244
254
  recorded_at: '{interaction.recorded_at}'
@@ -36,16 +36,17 @@ UNKNOWN_PROPERTY_VALUE = 42
36
36
  class GeneratedValue:
37
37
  value: Any
38
38
  data_generation_method: DataGenerationMethod
39
+ description: str
39
40
 
40
- __slots__ = ("value", "data_generation_method")
41
+ __slots__ = ("value", "data_generation_method", "description")
41
42
 
42
43
  @classmethod
43
- def with_positive(cls, value: Any) -> GeneratedValue:
44
- return cls(value, DataGenerationMethod.positive)
44
+ def with_positive(cls, value: Any, *, description: str) -> GeneratedValue:
45
+ return cls(value=value, data_generation_method=DataGenerationMethod.positive, description=description)
45
46
 
46
47
  @classmethod
47
- def with_negative(cls, value: Any) -> GeneratedValue:
48
- return cls(value, DataGenerationMethod.negative)
48
+ def with_negative(cls, value: Any, *, description: str) -> GeneratedValue:
49
+ return cls(value=value, data_generation_method=DataGenerationMethod.negative, description=description)
49
50
 
50
51
 
51
52
  PositiveValue = GeneratedValue.with_positive
@@ -117,15 +118,15 @@ def _cover_positive_for_type(
117
118
  yield from cover_schema_iter(ctx, canonical)
118
119
  if enum is not NOT_SET:
119
120
  for value in enum:
120
- yield PositiveValue(value)
121
+ yield PositiveValue(value, description="Enum value")
121
122
  elif const is not NOT_SET:
122
- yield PositiveValue(const)
123
+ yield PositiveValue(const, description="Const value")
123
124
  elif ty is not None:
124
125
  if ty == "null":
125
- yield PositiveValue(None)
126
+ yield PositiveValue(None, description="Value null value")
126
127
  elif ty == "boolean":
127
- yield PositiveValue(True)
128
- yield PositiveValue(False)
128
+ yield PositiveValue(True, description="Valid boolean value")
129
+ yield PositiveValue(False, description="Valid boolean value")
129
130
  elif ty == "string":
130
131
  yield from _positive_string(ctx, schema)
131
132
  elif ty == "integer" or ty == "number":
@@ -200,15 +201,17 @@ def cover_schema_iter(
200
201
  elif key == "maximum":
201
202
  next = value + 1
202
203
  if next not in seen:
203
- yield NegativeValue(next)
204
+ yield NegativeValue(next, description="Value greater than maximum")
204
205
  seen.add(next)
205
206
  elif key == "minimum":
206
207
  next = value - 1
207
208
  if next not in seen:
208
- yield NegativeValue(next)
209
+ yield NegativeValue(next, description="Value smaller than minimum")
209
210
  seen.add(next)
210
211
  elif key == "exclusiveMaximum" or key == "exclusiveMinimum" and value not in seen:
211
- yield NegativeValue(value)
212
+ verb = "greater" if key == "exclusiveMaximum" else "smaller"
213
+ limit = "maximum" if key == "exclusiveMaximum" else "minimum"
214
+ yield NegativeValue(value, description=f"Value {verb} than {limit}")
212
215
  seen.add(value)
213
216
  elif key == "multipleOf":
214
217
  for value_ in _negative_multiple_of(ctx, schema, value):
@@ -221,14 +224,14 @@ def cover_schema_iter(
221
224
  value = ctx.generate_from_schema({**schema, "minLength": value - 1, "maxLength": value - 1})
222
225
  k = _to_hashable_key(value)
223
226
  if k not in seen:
224
- yield NegativeValue(value)
227
+ yield NegativeValue(value, description="String smaller than minLength")
225
228
  seen.add(k)
226
229
  elif key == "maxLength" and value < BUFFER_SIZE:
227
230
  with suppress(InvalidArgument):
228
231
  value = ctx.generate_from_schema({**schema, "minLength": value + 1, "maxLength": value + 1})
229
232
  k = _to_hashable_key(value)
230
233
  if k not in seen:
231
- yield NegativeValue(value)
234
+ yield NegativeValue(value, description="String larger than maxLength")
232
235
  seen.add(k)
233
236
  elif key == "uniqueItems" and value:
234
237
  yield from _negative_unique_items(ctx, schema)
@@ -237,7 +240,10 @@ def cover_schema_iter(
237
240
  yield from _negative_required(ctx, template, value)
238
241
  elif key == "additionalProperties" and not value:
239
242
  template = template or ctx.generate_from_schema(_get_template_schema(schema, "object"))
240
- yield NegativeValue({**template, UNKNOWN_PROPERTY_KEY: UNKNOWN_PROPERTY_VALUE})
243
+ yield NegativeValue(
244
+ {**template, UNKNOWN_PROPERTY_KEY: UNKNOWN_PROPERTY_VALUE},
245
+ description="Object with unexpected properties",
246
+ )
241
247
  elif key == "allOf":
242
248
  nctx = ctx.with_negative()
243
249
  if len(value) == 1:
@@ -291,43 +297,50 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
291
297
  default = schema.get("default")
292
298
  if example or examples or default:
293
299
  if example:
294
- yield PositiveValue(example)
300
+ yield PositiveValue(example, description="Example value")
295
301
  if examples:
296
302
  for example in examples:
297
- yield PositiveValue(example)
303
+ yield PositiveValue(example, description="Example value")
298
304
  if (
299
305
  default
300
306
  and not (example is not None and default == example)
301
307
  and not (examples is not None and any(default == ex for ex in examples))
302
308
  ):
303
- yield PositiveValue(default)
309
+ yield PositiveValue(default, description="Default value")
304
310
  elif not min_length and not max_length:
305
311
  # Default positive value
306
- yield PositiveValue(ctx.generate_from_schema(schema))
312
+ yield PositiveValue(ctx.generate_from_schema(schema), description="Valid string")
307
313
  elif "pattern" in schema:
308
314
  # Without merging `maxLength` & `minLength` into a regex it is problematic
309
315
  # to generate a valid value as the unredlying machinery will resort to filtering
310
316
  # and it is unlikely that it will generate a string of that length
311
- yield PositiveValue(ctx.generate_from_schema(schema))
317
+ yield PositiveValue(ctx.generate_from_schema(schema), description="Valid string")
312
318
  return
313
319
 
314
320
  seen = set()
315
321
 
316
322
  if min_length is not None and min_length < BUFFER_SIZE:
317
323
  # Exactly the minimum length
318
- yield PositiveValue(ctx.generate_from_schema({**schema, "maxLength": min_length}))
324
+ yield PositiveValue(
325
+ ctx.generate_from_schema({**schema, "maxLength": min_length}), description="Minimum length string"
326
+ )
319
327
  seen.add(min_length)
320
328
 
321
329
  # One character more than minimum if possible
322
330
  larger = min_length + 1
323
331
  if larger < BUFFER_SIZE and larger not in seen and (not max_length or larger <= max_length):
324
- yield PositiveValue(ctx.generate_from_schema({**schema, "minLength": larger, "maxLength": larger}))
332
+ yield PositiveValue(
333
+ ctx.generate_from_schema({**schema, "minLength": larger, "maxLength": larger}),
334
+ description="Near-boundary length string",
335
+ )
325
336
  seen.add(larger)
326
337
 
327
338
  if max_length is not None:
328
339
  # Exactly the maximum length
329
340
  if max_length < BUFFER_SIZE and max_length not in seen:
330
- yield PositiveValue(ctx.generate_from_schema({**schema, "minLength": max_length}))
341
+ yield PositiveValue(
342
+ ctx.generate_from_schema({**schema, "minLength": max_length}), description="Maximum length string"
343
+ )
331
344
  seen.add(max_length)
332
345
 
333
346
  # One character less than maximum if possible
@@ -337,7 +350,10 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
337
350
  and smaller not in seen
338
351
  and (smaller > 0 and (min_length is None or smaller >= min_length))
339
352
  ):
340
- yield PositiveValue(ctx.generate_from_schema({**schema, "minLength": smaller, "maxLength": smaller}))
353
+ yield PositiveValue(
354
+ ctx.generate_from_schema({**schema, "minLength": smaller, "maxLength": smaller}),
355
+ description="Near-boundary length string",
356
+ )
341
357
  seen.add(smaller)
342
358
 
343
359
 
@@ -367,19 +383,19 @@ def _positive_number(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
367
383
 
368
384
  if example or examples or default:
369
385
  if example:
370
- yield PositiveValue(example)
386
+ yield PositiveValue(example, description="Example value")
371
387
  if examples:
372
388
  for example in examples:
373
- yield PositiveValue(example)
389
+ yield PositiveValue(example, description="Example value")
374
390
  if (
375
391
  default
376
392
  and not (example is not None and default == example)
377
393
  and not (examples is not None and any(default == ex for ex in examples))
378
394
  ):
379
- yield PositiveValue(default)
395
+ yield PositiveValue(default, description="Default value")
380
396
  elif not minimum and not maximum:
381
397
  # Default positive value
382
- yield PositiveValue(ctx.generate_from_schema(schema))
398
+ yield PositiveValue(ctx.generate_from_schema(schema), description="Valid number")
383
399
 
384
400
  seen = set()
385
401
 
@@ -390,7 +406,7 @@ def _positive_number(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
390
406
  else:
391
407
  smallest = minimum
392
408
  seen.add(smallest)
393
- yield PositiveValue(smallest)
409
+ yield PositiveValue(smallest, description="Minimum value")
394
410
 
395
411
  # One more than minimum if possible
396
412
  if multiple_of is not None:
@@ -399,7 +415,7 @@ def _positive_number(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
399
415
  larger = minimum + 1
400
416
  if larger not in seen and (not maximum or larger <= maximum):
401
417
  seen.add(larger)
402
- yield PositiveValue(larger)
418
+ yield PositiveValue(larger, description="Near-boundary number")
403
419
 
404
420
  if maximum is not None:
405
421
  # Exactly the maximum
@@ -409,7 +425,7 @@ def _positive_number(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
409
425
  largest = maximum
410
426
  if largest not in seen:
411
427
  seen.add(largest)
412
- yield PositiveValue(largest)
428
+ yield PositiveValue(largest, description="Maximum value")
413
429
 
414
430
  # One less than maximum if possible
415
431
  if multiple_of is not None:
@@ -418,7 +434,7 @@ def _positive_number(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
418
434
  smaller = maximum - 1
419
435
  if smaller not in seen and (smaller > 0 and (minimum is None or smaller >= minimum)):
420
436
  seen.add(smaller)
421
- yield PositiveValue(smaller)
437
+ yield PositiveValue(smaller, description="Near-boundary number")
422
438
 
423
439
 
424
440
  def _positive_array(ctx: CoverageContext, schema: dict, template: list) -> Generator[GeneratedValue, None, None]:
@@ -429,18 +445,18 @@ def _positive_array(ctx: CoverageContext, schema: dict, template: list) -> Gener
429
445
 
430
446
  if example or examples or default:
431
447
  if example:
432
- yield PositiveValue(example)
448
+ yield PositiveValue(example, description="Example value")
433
449
  if examples:
434
450
  for example in examples:
435
- yield PositiveValue(example)
451
+ yield PositiveValue(example, description="Example value")
436
452
  if (
437
453
  default
438
454
  and not (example is not None and default == example)
439
455
  and not (examples is not None and any(default == ex for ex in examples))
440
456
  ):
441
- yield PositiveValue(default)
457
+ yield PositiveValue(default, description="Default value")
442
458
  else:
443
- yield PositiveValue(template)
459
+ yield PositiveValue(template, description="Valid array")
444
460
  seen.add(len(template))
445
461
 
446
462
  # Boundary and near-boundary sizes
@@ -452,12 +468,18 @@ def _positive_array(ctx: CoverageContext, schema: dict, template: list) -> Gener
452
468
  # One item more than minimum if possible
453
469
  larger = min_items + 1
454
470
  if larger not in seen and (max_items is None or larger <= max_items):
455
- yield PositiveValue(ctx.generate_from_schema({**schema, "minItems": larger, "maxItems": larger}))
471
+ yield PositiveValue(
472
+ ctx.generate_from_schema({**schema, "minItems": larger, "maxItems": larger}),
473
+ description="Near-boundary items array",
474
+ )
456
475
  seen.add(larger)
457
476
 
458
477
  if max_items is not None:
459
478
  if max_items < BUFFER_SIZE and max_items not in seen:
460
- yield PositiveValue(ctx.generate_from_schema({**schema, "minItems": max_items}))
479
+ yield PositiveValue(
480
+ ctx.generate_from_schema({**schema, "minItems": max_items}),
481
+ description="Maximum items array",
482
+ )
461
483
  seen.add(max_items)
462
484
 
463
485
  # One item smaller than maximum if possible
@@ -468,7 +490,10 @@ def _positive_array(ctx: CoverageContext, schema: dict, template: list) -> Gener
468
490
  and smaller not in seen
469
491
  and (min_items is None or smaller >= min_items)
470
492
  ):
471
- yield PositiveValue(ctx.generate_from_schema({**schema, "minItems": smaller, "maxItems": smaller}))
493
+ yield PositiveValue(
494
+ ctx.generate_from_schema({**schema, "minItems": smaller, "maxItems": smaller}),
495
+ description="Near-boundary items array",
496
+ )
472
497
  seen.add(smaller)
473
498
 
474
499
 
@@ -479,19 +504,18 @@ def _positive_object(ctx: CoverageContext, schema: dict, template: dict) -> Gene
479
504
 
480
505
  if example or examples or default:
481
506
  if example:
482
- yield PositiveValue(example)
507
+ yield PositiveValue(example, description="Example value")
483
508
  if examples:
484
509
  for example in examples:
485
- yield PositiveValue(example)
510
+ yield PositiveValue(example, description="Example value")
486
511
  if (
487
512
  default
488
513
  and not (example is not None and default == example)
489
514
  and not (examples is not None and any(default == ex for ex in examples))
490
515
  ):
491
- yield PositiveValue(default)
492
-
516
+ yield PositiveValue(default, description="Default value")
493
517
  else:
494
- yield PositiveValue(template)
518
+ yield PositiveValue(template, description="Valid object")
495
519
 
496
520
  properties = schema.get("properties", {})
497
521
  required = set(schema.get("required", []))
@@ -502,22 +526,24 @@ def _positive_object(ctx: CoverageContext, schema: dict, template: dict) -> Gene
502
526
  for name in optional:
503
527
  combo = {k: v for k, v in template.items() if k in required or k == name}
504
528
  if combo != template:
505
- yield PositiveValue(combo)
529
+ yield PositiveValue(combo, description=f"Object with all required properties and '{name}'")
506
530
  # Generate one combination for each size from 2 to N-1
507
531
  for selection in select_combinations(optional):
508
532
  combo = {k: v for k, v in template.items() if k in required or k in selection}
509
- yield PositiveValue(combo)
533
+ yield PositiveValue(combo, description="Object with all required and a subset of optional properties")
510
534
  # Generate only required properties
511
535
  if set(properties) != required:
512
536
  only_required = {k: v for k, v in template.items() if k in required}
513
- yield PositiveValue(only_required)
537
+ yield PositiveValue(only_required, description="Object with only required properties")
514
538
  seen = set()
515
539
  for name, sub_schema in properties.items():
516
540
  seen.add(_to_hashable_key(template.get(name)))
517
541
  for new in cover_schema_iter(ctx, sub_schema):
518
542
  key = _to_hashable_key(new.value)
519
543
  if key not in seen:
520
- yield PositiveValue({**template, name: new.value})
544
+ yield PositiveValue(
545
+ {**template, name: new.value}, description=f"Object with valid '{name}' value: {new.description}"
546
+ )
521
547
  seen.add(key)
522
548
  seen.clear()
523
549
 
@@ -530,7 +556,7 @@ def select_combinations(optional: list[str]) -> Iterator[tuple[str, ...]]:
530
556
  def _negative_enum(ctx: CoverageContext, value: list) -> Generator[GeneratedValue, None, None]:
531
557
  strategy = JSON_STRATEGY.filter(lambda x: x not in value)
532
558
  # The exact negative value is not important here
533
- yield NegativeValue(ctx.generate_from(strategy, cached=True))
559
+ yield NegativeValue(ctx.generate_from(strategy, cached=True), description="Invalid enum value")
534
560
 
535
561
 
536
562
  def _negative_properties(
@@ -539,11 +565,17 @@ def _negative_properties(
539
565
  nctx = ctx.with_negative()
540
566
  for key, sub_schema in properties.items():
541
567
  for value in cover_schema_iter(nctx, sub_schema):
542
- yield NegativeValue({**template, key: value.value})
568
+ yield NegativeValue(
569
+ {**template, key: value.value},
570
+ description=f"Object with invalid '{key}' value: {value.description}",
571
+ )
543
572
 
544
573
 
545
574
  def _negative_pattern(ctx: CoverageContext, pattern: str) -> Generator[GeneratedValue, None, None]:
546
- yield NegativeValue(ctx.generate_from(st.text().filter(lambda x: x != pattern), cached=True))
575
+ yield NegativeValue(
576
+ ctx.generate_from(st.text().filter(lambda x: x != pattern), cached=True),
577
+ description=f"Value not matching the '{pattern}' pattern",
578
+ )
547
579
 
548
580
 
549
581
  def _with_negated_key(schema: dict, key: str, value: Any) -> dict:
@@ -553,19 +585,25 @@ def _with_negated_key(schema: dict, key: str, value: Any) -> dict:
553
585
  def _negative_multiple_of(
554
586
  ctx: CoverageContext, schema: dict, multiple_of: int | float
555
587
  ) -> Generator[GeneratedValue, None, None]:
556
- yield NegativeValue(ctx.generate_from_schema(_with_negated_key(schema, "multipleOf", multiple_of)))
588
+ yield NegativeValue(
589
+ ctx.generate_from_schema(_with_negated_key(schema, "multipleOf", multiple_of)),
590
+ description=f"Non-multiple of {multiple_of}",
591
+ )
557
592
 
558
593
 
559
594
  def _negative_unique_items(ctx: CoverageContext, schema: dict) -> Generator[GeneratedValue, None, None]:
560
595
  unique = ctx.generate_from_schema({**schema, "type": "array", "minItems": 1, "maxItems": 1})
561
- yield NegativeValue(unique + unique)
596
+ yield NegativeValue(unique + unique, description="Non-unique items")
562
597
 
563
598
 
564
599
  def _negative_required(
565
600
  ctx: CoverageContext, template: dict, required: list[str]
566
601
  ) -> Generator[GeneratedValue, None, None]:
567
602
  for key in required:
568
- yield NegativeValue({k: v for k, v in template.items() if k != key})
603
+ yield NegativeValue(
604
+ {k: v for k, v in template.items() if k != key},
605
+ description=f"Missing required property: {key}",
606
+ )
569
607
 
570
608
 
571
609
  def _negative_format(ctx: CoverageContext, schema: dict, format: str) -> Generator[GeneratedValue, None, None]:
@@ -578,7 +616,7 @@ def _negative_format(ctx: CoverageContext, schema: dict, format: str) -> Generat
578
616
  lambda v: (format == "hostname" and v == "")
579
617
  or not jsonschema.Draft202012Validator.FORMAT_CHECKER.conforms(v, format)
580
618
  )
581
- yield NegativeValue(ctx.generate_from(strategy))
619
+ yield NegativeValue(ctx.generate_from(strategy), description=f"Value not matching the '{format}' format")
582
620
 
583
621
 
584
622
  def _negative_type(ctx: CoverageContext, seen: set, ty: str | list[str]) -> Generator[GeneratedValue, None, None]:
@@ -606,7 +644,7 @@ def _negative_type(ctx: CoverageContext, seen: set, ty: str | list[str]) -> Gene
606
644
  hashed = _to_hashable_key(value)
607
645
  if hashed in seen:
608
646
  continue
609
- yield NegativeValue(value)
647
+ yield NegativeValue(value, description="Incorrect type")
610
648
  seen.add(hashed)
611
649
 
612
650
 
@@ -154,8 +154,9 @@ class GenerationMetadata:
154
154
  cookies: DataGenerationMethod | None
155
155
  body: DataGenerationMethod | None
156
156
  phase: TestPhase
157
+ description: str | None
157
158
 
158
- __slots__ = ("query", "path_parameters", "headers", "cookies", "body", "phase")
159
+ __slots__ = ("query", "path_parameters", "headers", "cookies", "body", "phase", "description")
159
160
 
160
161
 
161
162
  @dataclass(repr=False)
@@ -1017,6 +1018,7 @@ class Interaction:
1017
1018
  status: Status
1018
1019
  data_generation_method: DataGenerationMethod
1019
1020
  phase: TestPhase | None
1021
+ description: str | None
1020
1022
  recorded_at: str = field(default_factory=lambda: datetime.datetime.now(TIMEZONE).isoformat())
1021
1023
 
1022
1024
  @classmethod
@@ -1046,6 +1048,7 @@ class Interaction:
1046
1048
  checks=checks,
1047
1049
  data_generation_method=cast(DataGenerationMethod, case.data_generation_method),
1048
1050
  phase=case.meta.phase if case.meta is not None else None,
1051
+ description=case.meta.description if case.meta is not None else None,
1049
1052
  )
1050
1053
 
1051
1054
  @classmethod
@@ -1069,6 +1072,7 @@ class Interaction:
1069
1072
  checks=checks,
1070
1073
  data_generation_method=cast(DataGenerationMethod, case.data_generation_method),
1071
1074
  phase=case.meta.phase if case.meta is not None else None,
1075
+ description=case.meta.description if case.meta is not None else None,
1072
1076
  )
1073
1077
 
1074
1078
 
@@ -395,6 +395,7 @@ class SerializedInteraction:
395
395
  status: Status
396
396
  data_generation_method: DataGenerationMethod
397
397
  phase: TestPhase | None
398
+ description: str | None
398
399
  recorded_at: str
399
400
 
400
401
  @classmethod
@@ -406,6 +407,7 @@ class SerializedInteraction:
406
407
  status=interaction.status,
407
408
  data_generation_method=interaction.data_generation_method,
408
409
  phase=interaction.phase,
410
+ description=interaction.description,
409
411
  recorded_at=interaction.recorded_at,
410
412
  )
411
413
 
@@ -215,6 +215,7 @@ def get_case_strategy(
215
215
  cookies=cookies_.generator,
216
216
  body=body_.generator,
217
217
  phase=phase,
218
+ description=None,
218
219
  ),
219
220
  )
220
221
  auth_context = auths.AuthContext(
@@ -69,7 +69,7 @@ def to_ipv6(url):
69
69
  url = URL(url)
70
70
  parts = list(map(int, url.host.split(".")))
71
71
  ipv6_host = "2002:{:02x}{:02x}:{:02x}{:02x}::".format(*parts)
72
- return str(url.with_host(f"[{ipv6_host}]"))
72
+ return str(url.with_host(ipv6_host))
73
73
 
74
74
 
75
75
  @pytest.mark.parametrize(
@@ -82,6 +82,7 @@ def build_metadata(path_parameters=None, query=None, headers=None, cookies=None,
82
82
  cookies=cookies,
83
83
  body=body,
84
84
  phase=TestPhase.GENERATE,
85
+ description=None,
85
86
  )
86
87
 
87
88
 
@@ -297,6 +297,7 @@ def test_sanitize_serialized_interaction(serialized_check):
297
297
  recorded_at="",
298
298
  data_generation_method=DataGenerationMethod.positive,
299
299
  phase=TestPhase.GENERATE,
300
+ description=None,
300
301
  )
301
302
  sanitize_serialized_interaction(interaction)
302
303