schemathesis 3.32.0__tar.gz → 3.32.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/codeql-analysis.yml +3 -3
  2. {schemathesis-3.32.0 → schemathesis-3.32.1}/.pre-commit-config.yaml +1 -1
  3. {schemathesis-3.32.0 → schemathesis-3.32.1}/PKG-INFO +1 -1
  4. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/auth.rst +1 -0
  5. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/changelog.rst +15 -2
  6. {schemathesis-3.32.0 → schemathesis-3.32.1}/pyproject.toml +1 -1
  7. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/filters.py +104 -5
  8. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/lazy.py +10 -3
  9. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/events.py +22 -1
  10. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/serialization.py +70 -1
  11. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/schemas.py +17 -30
  12. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/serialization.py +3 -124
  13. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/loaders.py +12 -10
  14. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/schemas.py +29 -23
  15. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/events.py +48 -2
  16. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_commands.py +3 -1
  17. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_crashes.py +14 -2
  18. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/filters/test_matching.py +5 -0
  19. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/test_extensions.py +6 -4
  20. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/test_serialization.py +2 -1
  21. schemathesis-3.32.0/src/schemathesis/specs/openapi/filters.py +0 -50
  22. {schemathesis-3.32.0 → schemathesis-3.32.1}/.dockerignore +0 -0
  23. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/FUNDING.yml +0 -0
  24. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  25. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  26. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  27. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/dependabot.yml +0 -0
  28. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/build.yml +0 -0
  29. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/codspeed.yml +0 -0
  30. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/commit.yml +0 -0
  31. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/example-build.yml +0 -0
  32. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/example-no-build.yml +0 -0
  33. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/master_update.yml +0 -0
  34. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/release.yml +0 -0
  35. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/test-corpus.yml +0 -0
  36. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/test-hypothesis.yml +0 -0
  37. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/update-corpus.yml +0 -0
  38. {schemathesis-3.32.0 → schemathesis-3.32.1}/.github/workflows/update-pre-commit.yml +0 -0
  39. {schemathesis-3.32.0 → schemathesis-3.32.1}/.gitignore +0 -0
  40. {schemathesis-3.32.0 → schemathesis-3.32.1}/.gitmodules +0 -0
  41. {schemathesis-3.32.0 → schemathesis-3.32.1}/.readthedocs.yml +0 -0
  42. {schemathesis-3.32.0 → schemathesis-3.32.1}/.relint.yml +0 -0
  43. {schemathesis-3.32.0 → schemathesis-3.32.1}/.rstcheck.cfg +0 -0
  44. {schemathesis-3.32.0 → schemathesis-3.32.1}/.yamllint +0 -0
  45. {schemathesis-3.32.0 → schemathesis-3.32.1}/CITATION.cff +0 -0
  46. {schemathesis-3.32.0 → schemathesis-3.32.1}/CODE_OF_CONDUCT.md +0 -0
  47. {schemathesis-3.32.0 → schemathesis-3.32.1}/CONTRIBUTING.rst +0 -0
  48. {schemathesis-3.32.0 → schemathesis-3.32.1}/Dockerfile +0 -0
  49. {schemathesis-3.32.0 → schemathesis-3.32.1}/Dockerfile.bookworm +0 -0
  50. {schemathesis-3.32.0 → schemathesis-3.32.1}/LICENSE +0 -0
  51. {schemathesis-3.32.0 → schemathesis-3.32.1}/README.md +0 -0
  52. {schemathesis-3.32.0 → schemathesis-3.32.1}/benches/cli.py +0 -0
  53. {schemathesis-3.32.0 → schemathesis-3.32.1}/benches/references.py +0 -0
  54. {schemathesis-3.32.0 → schemathesis-3.32.1}/benches/schema.py +0 -0
  55. {schemathesis-3.32.0 → schemathesis-3.32.1}/changelog.py +0 -0
  56. {schemathesis-3.32.0 → schemathesis-3.32.1}/codecov.yml +0 -0
  57. {schemathesis-3.32.0 → schemathesis-3.32.1}/corpus/data/graphql.tar.gz +0 -0
  58. {schemathesis-3.32.0 → schemathesis-3.32.1}/corpus/data/openapi-3.0.tar.gz +0 -0
  59. {schemathesis-3.32.0 → schemathesis-3.32.1}/corpus/data/openapi-3.1.tar.gz +0 -0
  60. {schemathesis-3.32.0 → schemathesis-3.32.1}/corpus/data/swagger-2.0.tar.gz +0 -0
  61. {schemathesis-3.32.0 → schemathesis-3.32.1}/corpus/tools.py +0 -0
  62. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/Makefile +0 -0
  63. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/additional-content.rst +0 -0
  64. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/api.rst +0 -0
  65. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/cli.rst +0 -0
  66. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/compatibility.rst +0 -0
  67. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/conf.py +0 -0
  68. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/continuous_integration.rst +0 -0
  69. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/contrib.rst +0 -0
  70. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/data-generation.rst +0 -0
  71. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/examples.rst +0 -0
  72. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/experimental.rst +0 -0
  73. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/extending.rst +0 -0
  74. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/faq.rst +0 -0
  75. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/getting-started.rst +0 -0
  76. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/graphql.rst +0 -0
  77. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/index.rst +0 -0
  78. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/python.rst +0 -0
  79. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/recipes.rst +0 -0
  80. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/requirements.txt +0 -0
  81. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/sanitizing.rst +0 -0
  82. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/service.rst +0 -0
  83. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/stateful.rst +0 -0
  84. {schemathesis-3.32.0 → schemathesis-3.32.1}/docs/targeted.rst +0 -0
  85. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/Dockerfile +0 -0
  86. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/README.md +0 -0
  87. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/app.py +0 -0
  88. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/compose.yml +0 -0
  89. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/openapi.json +0 -0
  90. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/requirements-app.in +0 -0
  91. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/requirements-app.txt +0 -0
  92. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/requirements-pytest.in +0 -0
  93. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/requirements-pytest.txt +0 -0
  94. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/tests/__init__.py +0 -0
  95. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/tests/conftest.py +0 -0
  96. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/tests/extensions.py +0 -0
  97. {schemathesis-3.32.0 → schemathesis-3.32.1}/example/tests/test_app.py +0 -0
  98. {schemathesis-3.32.0 → schemathesis-3.32.1}/img/demo.gif +0 -0
  99. {schemathesis-3.32.0 → schemathesis-3.32.1}/img/service_github_report.png +0 -0
  100. {schemathesis-3.32.0 → schemathesis-3.32.1}/mypy.ini +0 -0
  101. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/__init__.py +0 -0
  102. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/_compat.py +0 -0
  103. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/_dependency_versions.py +0 -0
  104. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/_hypothesis.py +0 -0
  105. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/_lazy_import.py +0 -0
  106. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/_override.py +0 -0
  107. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/_rate_limiter.py +0 -0
  108. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/_xml.py +0 -0
  109. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/auths.py +0 -0
  110. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/checks.py +0 -0
  111. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/__init__.py +0 -0
  112. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/__main__.py +0 -0
  113. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/callbacks.py +0 -0
  114. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/cassettes.py +0 -0
  115. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/constants.py +0 -0
  116. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/context.py +0 -0
  117. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/debug.py +0 -0
  118. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/handlers.py +0 -0
  119. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/junitxml.py +0 -0
  120. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/options.py +0 -0
  121. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/output/__init__.py +0 -0
  122. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/output/default.py +0 -0
  123. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/output/short.py +0 -0
  124. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/reporting.py +0 -0
  125. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/cli/sanitization.py +0 -0
  126. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/code_samples.py +0 -0
  127. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/constants.py +0 -0
  128. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/contrib/__init__.py +0 -0
  129. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  130. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  131. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  132. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  133. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/contrib/unique_data.py +0 -0
  134. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/exceptions.py +0 -0
  135. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/experimental/__init__.py +0 -0
  136. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/extra/__init__.py +0 -0
  137. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/extra/_aiohttp.py +0 -0
  138. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/extra/_flask.py +0 -0
  139. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/extra/_server.py +0 -0
  140. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
  141. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/failures.py +0 -0
  142. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/fixups/__init__.py +0 -0
  143. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/fixups/fast_api.py +0 -0
  144. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
  145. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/generation/__init__.py +0 -0
  146. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/graphql.py +0 -0
  147. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/hooks.py +0 -0
  148. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/__init__.py +0 -0
  149. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/copy.py +0 -0
  150. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/datetime.py +0 -0
  151. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/deprecation.py +0 -0
  152. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/extensions.py +0 -0
  153. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/jsonschema.py +0 -0
  154. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/output.py +0 -0
  155. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/result.py +0 -0
  156. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/transformation.py +0 -0
  157. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/internal/validation.py +0 -0
  158. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/loaders.py +0 -0
  159. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/models.py +0 -0
  160. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/parameters.py +0 -0
  161. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/py.typed +0 -0
  162. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/__init__.py +0 -0
  163. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/impl/__init__.py +0 -0
  164. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/impl/core.py +0 -0
  165. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/impl/solo.py +0 -0
  166. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/impl/threadpool.py +0 -0
  167. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/runner/probes.py +0 -0
  168. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/sanitization.py +0 -0
  169. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/serializers.py +0 -0
  170. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/__init__.py +0 -0
  171. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/auth.py +0 -0
  172. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/ci.py +0 -0
  173. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/client.py +0 -0
  174. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/constants.py +0 -0
  175. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/events.py +0 -0
  176. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/extensions.py +0 -0
  177. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/hosts.py +0 -0
  178. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/metadata.py +0 -0
  179. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/models.py +0 -0
  180. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/report.py +0 -0
  181. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/service/usage.py +0 -0
  182. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/__init__.py +0 -0
  183. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
  184. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/_cache.py +0 -0
  185. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
  186. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
  187. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
  188. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
  189. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/graphql/validation.py +0 -0
  190. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
  191. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/_cache.py +0 -0
  192. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
  193. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/checks.py +0 -0
  194. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/constants.py +0 -0
  195. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/converter.py +0 -0
  196. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
  197. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/examples.py +0 -0
  198. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  199. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  200. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  201. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  202. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  203. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  204. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  205. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/formats.py +0 -0
  206. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/links.py +0 -0
  207. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/media_types.py +0 -0
  208. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  209. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  210. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  211. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  212. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
  213. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/references.py +0 -0
  214. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/security.py +0 -0
  215. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/serialization.py +0 -0
  216. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  217. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  218. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  219. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/utils.py +0 -0
  220. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/specs/openapi/validation.py +0 -0
  221. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/__init__.py +0 -0
  222. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/config.py +0 -0
  223. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/context.py +0 -0
  224. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/runner.py +0 -0
  225. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/sink.py +0 -0
  226. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/state_machine.py +0 -0
  227. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/statistic.py +0 -0
  228. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/stateful/validation.py +0 -0
  229. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/targets.py +0 -0
  230. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/throttling.py +0 -0
  231. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/transports/__init__.py +0 -0
  232. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/transports/auth.py +0 -0
  233. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/transports/content_types.py +0 -0
  234. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/transports/headers.py +0 -0
  235. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/transports/responses.py +0 -0
  236. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/types.py +0 -0
  237. {schemathesis-3.32.0 → schemathesis-3.32.1}/src/schemathesis/utils.py +0 -0
  238. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/__init__.py +0 -0
  239. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  240. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  241. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  242. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  243. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  244. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  245. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/__init__.py +0 -0
  246. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/_graphql/__init__.py +0 -0
  247. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  248. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/_graphql/_fastapi/app.py +0 -0
  249. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/_graphql/_flask/__init__.py +0 -0
  250. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/_graphql/_flask/app.py +0 -0
  251. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/_graphql/schema.py +0 -0
  252. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/cp1252_app.py +0 -0
  253. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/hooks.py +0 -0
  254. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/__init__.py +0 -0
  255. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  256. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/_aiohttp/app.py +0 -0
  257. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  258. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
  259. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/_fastapi/app.py +0 -0
  260. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/_flask/__init__.py +0 -0
  261. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/_flask/app.py +0 -0
  262. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/apps/openapi/schema.py +0 -0
  263. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__init__.py +0 -0
  264. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  265. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  266. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  267. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  268. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  269. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  270. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  271. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/conftest.py +0 -0
  272. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/test_cli.py +0 -0
  273. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/test_provider.py +0 -0
  274. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/auth/test_pytest.py +0 -0
  275. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__init__.py +0 -0
  276. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  277. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  278. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  279. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  280. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  281. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  282. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  283. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  284. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  285. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  286. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  287. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  288. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  289. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  290. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  291. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  292. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  293. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  294. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  295. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  296. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  297. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  298. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  299. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  300. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  301. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  302. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  303. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  304. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  305. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  306. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  307. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  308. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  309. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  310. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  311. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  312. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  313. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  314. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  315. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  316. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  317. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  318. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  319. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  320. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  321. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  322. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  323. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  324. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  325. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  326. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  327. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  328. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  329. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  330. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  331. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  332. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  333. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  334. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  335. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  336. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  337. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  338. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  339. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  340. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  341. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  342. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  343. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  344. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  345. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  346. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  347. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  348. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  349. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  350. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  351. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  352. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  353. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  354. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  355. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  356. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  357. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  358. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  359. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  360. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  361. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  362. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  363. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  364. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  365. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  366. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  367. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  368. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  369. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  370. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  371. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  372. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  373. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  374. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  375. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  376. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  377. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  378. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  379. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  380. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  381. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  382. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  383. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  384. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  385. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  386. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  387. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  388. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  389. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  390. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  391. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  392. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  393. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  394. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  395. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  396. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  397. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  398. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  399. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  400. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  401. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  402. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  403. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  404. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  405. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  406. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  407. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  408. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  409. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  410. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  411. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  412. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  413. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  414. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  415. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  416. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  417. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  418. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  419. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  420. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  421. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  422. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  423. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  424. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  425. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  426. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  427. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  428. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  429. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  430. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  431. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  432. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  433. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  434. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  435. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  436. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  437. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  438. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  439. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  440. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  441. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  442. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  443. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  444. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  445. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  446. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  447. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  448. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  449. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  450. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  451. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  452. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  453. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  454. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  455. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  456. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  457. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  458. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  459. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  460. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  461. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  462. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  463. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  464. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  465. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  466. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  467. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  468. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  469. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/cert.pem +0 -0
  470. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/conftest.py +0 -0
  471. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/output/__init__.py +0 -0
  472. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/output/test_default.py +0 -0
  473. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_asgi.py +0 -0
  474. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_callbacks.py +0 -0
  475. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_cassettes.py +0 -0
  476. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_checks.py +0 -0
  477. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_hooks.py +0 -0
  478. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_junitxml.py +0 -0
  479. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_options.py +0 -0
  480. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/cli/test_targeted.py +0 -0
  481. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  482. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  483. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/code_samples/conftest.py +0 -0
  484. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/code_samples/test_curl.py +0 -0
  485. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/code_samples/test_python.py +0 -0
  486. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/conftest.py +0 -0
  487. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  488. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  489. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  490. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  491. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  492. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  493. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  494. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
  495. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  496. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/test_install.py +0 -0
  497. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/contrib/test_unique_data.py +0 -0
  498. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/petstore_v2.yaml +0 -0
  499. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/petstore_v3.yaml +0 -0
  500. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/relative_files/components/parameters.yaml +0 -0
  501. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/relative_files/components/responses.yaml +0 -0
  502. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/relative_files/components/schemas.yaml +0 -0
  503. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/relative_files/main.yaml +0 -0
  504. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/relative_files/paths/user-account.yaml +0 -0
  505. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/simple_openapi.yaml +0 -0
  506. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/data/simple_swagger.yaml +0 -0
  507. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  508. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/experimental/conftest.py +0 -0
  509. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/experimental/test_experiments.py +0 -0
  510. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/experimental/test_openapi_3_1.py +0 -0
  511. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/extra/__init__.py +0 -0
  512. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/extra/test_aiohttp.py +0 -0
  513. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/hooks/test_filter_operations.py +0 -0
  514. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/hooks/test_hooks.py +0 -0
  515. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/loaders/conftest.py +0 -0
  516. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/loaders/test_app.py +0 -0
  517. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/loaders/test_common.py +0 -0
  518. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/loaders/test_graphql.py +0 -0
  519. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/loaders/test_openapi.py +0 -0
  520. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/loaders/test_yaml.py +0 -0
  521. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/runner/__init__.py +0 -0
  522. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/runner/test_checks.py +0 -0
  523. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/runner/test_events.py +0 -0
  524. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/runner/test_probes.py +0 -0
  525. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/runner/test_runner.py +0 -0
  526. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__init__.py +0 -0
  527. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  528. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  529. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  530. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  531. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  532. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  533. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  534. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  535. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  536. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  537. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  538. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  539. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  540. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  541. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  542. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  543. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  544. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  545. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  546. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  547. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  548. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  549. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  550. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  551. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  552. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  553. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/conftest.py +0 -0
  554. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/test_auth.py +0 -0
  555. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/test_ci.py +0 -0
  556. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/test_cli.py +0 -0
  557. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/test_report.py +0 -0
  558. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/service/test_usage.py +0 -0
  559. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  560. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  561. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  562. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  563. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/graphql/test_basic.py +0 -0
  564. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/graphql/test_custom_scalars.py +0 -0
  565. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/graphql/test_pytest.py +0 -0
  566. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  567. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  568. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  569. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/blank.pdf +0 -0
  570. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/conftest.py +0 -0
  571. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/parameters/test_forms.py +0 -0
  572. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  573. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  574. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/stateful/__init__.py +0 -0
  575. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/stateful/conftest.py +0 -0
  576. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/stateful/test_config.py +0 -0
  577. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/stateful/test_runner.py +0 -0
  578. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/stateful/test_stateful.py +0 -0
  579. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_checks.py +0 -0
  580. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_examples.py +0 -0
  581. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_expressions.py +0 -0
  582. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_hypothesis.py +0 -0
  583. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_links.py +0 -0
  584. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_media_types.py +0 -0
  585. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_negative.py +0 -0
  586. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_parameters.py +0 -0
  587. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_randomized.py +0 -0
  588. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_schemas.py +0 -0
  589. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_security.py +0 -0
  590. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_serializing.py +0 -0
  591. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_utils.py +0 -0
  592. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/specs/openapi/test_validation.py +0 -0
  593. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_app.py +0 -0
  594. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_asgi.py +0 -0
  595. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_async.py +0 -0
  596. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_common_parameters.py +0 -0
  597. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_converter.py +0 -0
  598. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_dereferencing.py +0 -0
  599. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_direct_access.py +0 -0
  600. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_examples.py +0 -0
  601. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_filters.py +0 -0
  602. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_fixups.py +0 -0
  603. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_hypothesis.py +0 -0
  604. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_internal.py +0 -0
  605. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_lazy.py +0 -0
  606. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_models.py +0 -0
  607. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_output.py +0 -0
  608. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_package.py +0 -0
  609. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_parameters.py +0 -0
  610. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_parametrization.py +0 -0
  611. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_petstore.py +0 -0
  612. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_pytest.py +0 -0
  613. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_rate_limit.py +0 -0
  614. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_recoverable_errors.py +0 -0
  615. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_required.py +0 -0
  616. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_sanitizing_output.py +0 -0
  617. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_schemas.py +0 -0
  618. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_serialization.py +0 -0
  619. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_stateful.py +0 -0
  620. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_unittest.py +0 -0
  621. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_utils.py +0 -0
  622. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/test_wsgi.py +0 -0
  623. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/transports/test_content_types.py +0 -0
  624. {schemathesis-3.32.0 → schemathesis-3.32.1}/test/utils.py +0 -0
  625. {schemathesis-3.32.0 → schemathesis-3.32.1}/test-corpus/test_corpus.py +0 -0
  626. {schemathesis-3.32.0 → schemathesis-3.32.1}/test_server.sh +0 -0
  627. {schemathesis-3.32.0 → schemathesis-3.32.1}/tox.ini +0 -0
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  # Initializes the CodeQL tools for scanning.
40
40
  - name: Initialize CodeQL
41
- uses: github/codeql-action/init@v3.25.11
41
+ uses: github/codeql-action/init@v3.25.12
42
42
  with:
43
43
  languages: ${{ matrix.language }}
44
44
  # If you wish to specify custom queries, you can do so here or in a config file.
@@ -49,7 +49,7 @@ jobs:
49
49
  # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
50
50
  # If this step fails, then you should remove it and run the build manually (see below)
51
51
  - name: Autobuild
52
- uses: github/codeql-action/autobuild@v3.25.11
52
+ uses: github/codeql-action/autobuild@v3.25.12
53
53
 
54
54
  # ℹ️ Command-line programs to run using the OS shell.
55
55
  # 📚 https://git.io/JvXDl
@@ -63,4 +63,4 @@ jobs:
63
63
  # make release
64
64
 
65
65
  - name: Perform CodeQL Analysis
66
- uses: github/codeql-action/analyze@v3.25.11
66
+ uses: github/codeql-action/analyze@v3.25.12
@@ -48,7 +48,7 @@ repos:
48
48
  - id: ruff
49
49
 
50
50
  - repo: https://github.com/myint/rstcheck
51
- rev: v6.2.0
51
+ rev: v6.2.4
52
52
  hooks:
53
53
  - id: rstcheck
54
54
  additional_dependencies:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: schemathesis
3
- Version: 3.32.0
3
+ Version: 3.32.1
4
4
  Summary: Property-based testing framework for Open API and GraphQL based apps
5
5
  Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
6
6
  Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
@@ -237,6 +237,7 @@ Conditions:
237
237
  - ``method``: the upper-cased HTTP method of the API operation
238
238
  - ``name``: the name of the API operation, such as ``GET /users/`` or ``Query.getUsers``
239
239
  - ``tag``: the tag assigned to the API operation. For Open API it comes from the ``tags`` field.
240
+ - ``operation_id``: the ID of an API operation. For Open API it comes from the ``operationId`` field.
240
241
  - Each condition can take either a single string or a list of options as input
241
242
  - You can also use a regular expression to match the conditions by adding ``_regex`` to the end of the condition and passing a string or a compiled regex.
242
243
 
@@ -1,9 +1,22 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.32.0...HEAD>` - TBD
4
+ :version:`Unreleased <v3.32.1...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.32.1:
8
+
9
+ :version:`3.32.1 <v3.32.0...v3.32.1>` - 2024-07-17
10
+ --------------------------------------------------
11
+
12
+ **Added**
13
+
14
+ - Filtering by ``operation_id`` in conditional auth implementation.
15
+
16
+ **Fixed**
17
+
18
+ - Internal error when saving debug logs with ``--experimental=stateful-test-runner`` or ``--experimental=schema-analysis`` enabled. :issue:`2353`
19
+
7
20
  .. _v3.32.0:
8
21
 
9
22
  :version:`3.32.0 <v3.31.1...v3.32.0>` - 2024-07-14
@@ -29,7 +42,7 @@ Changelog
29
42
  - Ignoring configured data generation methods in new-style stateful tests.
30
43
  - Using constant ``data_generation_method`` value for HTTP interactions in VCR cassettes.
31
44
  - Not reporting errors with ``--experimental=stateful-only``. :issue:`2326`
32
- - Internal error on CRTL-C during new-style stateful tests.
45
+ - Internal error on CTRL-C during new-style stateful tests.
33
46
  - Use ``--request-proxy`` for API probing.
34
47
  - Fill the ``seed`` field in cassettes for new-style stateful tests.
35
48
  - Ignoring remote scope when getting API operation by reference.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.32.0"
7
+ version = "3.32.1"
8
8
  description = "Property-based testing framework for Open API and GraphQL based apps"
9
9
  keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
10
10
  authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
@@ -8,6 +8,8 @@ from functools import partial
8
8
  from types import SimpleNamespace
9
9
  from typing import TYPE_CHECKING, Callable, List, Protocol, Union
10
10
 
11
+ from .types import NotSet, Filter as FilterType
12
+
11
13
  from .exceptions import UsageError
12
14
 
13
15
  if TYPE_CHECKING:
@@ -58,7 +60,12 @@ class Matcher:
58
60
  def for_regex(cls, attribute: str, regex: RegexValue) -> Matcher:
59
61
  """Matcher that checks whether the specified attribute has the provided regex."""
60
62
  if isinstance(regex, str):
61
- regex = re.compile(regex)
63
+ flags: re.RegexFlag | int
64
+ if attribute == "method":
65
+ flags = re.IGNORECASE
66
+ else:
67
+ flags = 0
68
+ regex = re.compile(regex, flags=flags)
62
69
  func = partial(by_regex, attribute=attribute, regex=regex)
63
70
  label = f"{attribute}_regex={repr(regex)}"
64
71
  return cls(func, label=label, _hash=hash(label))
@@ -71,6 +78,8 @@ class Matcher:
71
78
  def get_operation_attribute(operation: APIOperation, attribute: str) -> str | list[str] | None:
72
79
  if attribute == "tag":
73
80
  return operation.tags
81
+ if attribute == "operation_id":
82
+ return operation.definition.raw.get("operationId")
74
83
  # Just uppercase `method`
75
84
  value = getattr(operation, attribute)
76
85
  if attribute == "method":
@@ -101,8 +110,8 @@ def by_regex(ctx: HasAPIOperation, attribute: str, regex: re.Pattern) -> bool:
101
110
  if value is None:
102
111
  return False
103
112
  if isinstance(value, list):
104
- return any(bool(regex.match(entry)) for entry in value)
105
- return bool(regex.match(value))
113
+ return any(bool(regex.search(entry)) for entry in value)
114
+ return bool(regex.search(value))
106
115
 
107
116
 
108
117
  @dataclass(repr=False, frozen=True)
@@ -111,6 +120,8 @@ class Filter:
111
120
 
112
121
  matchers: tuple[Matcher, ...]
113
122
 
123
+ __slots__ = ("matchers",)
124
+
114
125
  def __repr__(self) -> str:
115
126
  inner = " && ".join(matcher.label for matcher in self.matchers)
116
127
  return f"<{self.__class__.__name__}: [{inner}]>"
@@ -127,8 +138,14 @@ class Filter:
127
138
  class FilterSet:
128
139
  """Combines multiple filters to apply inclusion and exclusion rules on API operations."""
129
140
 
130
- _includes: set[Filter] = field(default_factory=set)
131
- _excludes: set[Filter] = field(default_factory=set)
141
+ _includes: set[Filter]
142
+ _excludes: set[Filter]
143
+
144
+ __slots__ = ("_includes", "_excludes")
145
+
146
+ def __init__(self) -> None:
147
+ self._includes = set()
148
+ self._excludes = set()
132
149
 
133
150
  def apply_to(self, operations: list[APIOperation]) -> list[APIOperation]:
134
151
  """Get a filtered list of the given operations that match the filters."""
@@ -168,6 +185,8 @@ class FilterSet:
168
185
  path_regex: RegexValue | None = None,
169
186
  tag: FilterValue | None = None,
170
187
  tag_regex: RegexValue | None = None,
188
+ operation_id: FilterValue | None = None,
189
+ operation_id_regex: RegexValue | None = None,
171
190
  ) -> None:
172
191
  """Add a new INCLUDE filter."""
173
192
  self._add_filter(
@@ -181,6 +200,8 @@ class FilterSet:
181
200
  path_regex=path_regex,
182
201
  tag=tag,
183
202
  tag_regex=tag_regex,
203
+ operation_id=operation_id,
204
+ operation_id_regex=operation_id_regex,
184
205
  )
185
206
 
186
207
  def exclude(
@@ -195,6 +216,8 @@ class FilterSet:
195
216
  path_regex: RegexValue | None = None,
196
217
  tag: FilterValue | None = None,
197
218
  tag_regex: RegexValue | None = None,
219
+ operation_id: FilterValue | None = None,
220
+ operation_id_regex: RegexValue | None = None,
198
221
  ) -> None:
199
222
  """Add a new EXCLUDE filter."""
200
223
  self._add_filter(
@@ -208,6 +231,8 @@ class FilterSet:
208
231
  path_regex=path_regex,
209
232
  tag=tag,
210
233
  tag_regex=tag_regex,
234
+ operation_id=operation_id,
235
+ operation_id_regex=operation_id_regex,
211
236
  )
212
237
 
213
238
  def _add_filter(
@@ -223,6 +248,8 @@ class FilterSet:
223
248
  path_regex: RegexValue | None = None,
224
249
  tag: FilterValue | None = None,
225
250
  tag_regex: RegexValue | None = None,
251
+ operation_id: FilterValue | None = None,
252
+ operation_id_regex: RegexValue | None = None,
226
253
  ) -> None:
227
254
  matchers = []
228
255
  if func is not None:
@@ -232,6 +259,7 @@ class FilterSet:
232
259
  ("method", method, method_regex),
233
260
  ("path", path, path_regex),
234
261
  ("tag", tag, tag_regex),
262
+ ("operation_id", operation_id, operation_id_regex),
235
263
  ):
236
264
  if expected is not None and regex is not None:
237
265
  # To match anything the regex should match the expected value, hence passing them together is useless
@@ -295,3 +323,74 @@ def attach_filter_chain(
295
323
  proxy.__name__ = attribute
296
324
 
297
325
  setattr(target, attribute, proxy)
326
+
327
+
328
+ def filter_set_from_components(
329
+ *,
330
+ include: bool,
331
+ method: FilterType | None = None,
332
+ endpoint: FilterType | None = None,
333
+ tag: FilterType | None = None,
334
+ operation_id: FilterType | None = None,
335
+ skip_deprecated_operations: bool | None | NotSet = None,
336
+ parent: FilterSet | None = None,
337
+ ) -> FilterSet:
338
+ def _is_defined(x: FilterType | None) -> bool:
339
+ return x is not None and not isinstance(x, NotSet)
340
+
341
+ def _is_deprecated(ctx: HasAPIOperation) -> bool:
342
+ return ctx.operation.definition.raw.get("deprecated") is True
343
+
344
+ def _prepare_filter(filter_: FilterType | None) -> RegexValue | None:
345
+ if filter_ is None or isinstance(filter_, NotSet):
346
+ return None
347
+ if isinstance(filter_, str):
348
+ return filter_
349
+ return "|".join(f"({f})" for f in filter_)
350
+
351
+ new = FilterSet()
352
+
353
+ if _is_defined(method) or _is_defined(endpoint) or _is_defined(tag) or _is_defined(operation_id):
354
+ new._add_filter(
355
+ include,
356
+ method_regex=_prepare_filter(method),
357
+ path_regex=_prepare_filter(endpoint),
358
+ tag_regex=_prepare_filter(tag),
359
+ operation_id_regex=_prepare_filter(operation_id),
360
+ )
361
+ if skip_deprecated_operations is True and not any(
362
+ matcher.label == _is_deprecated.__name__ for exclude_ in new._excludes for matcher in exclude_.matchers
363
+ ):
364
+ new.exclude(func=_is_deprecated)
365
+ # Merge with the parent filter set
366
+ if parent is not None:
367
+ for include_ in parent._includes:
368
+ matchers = include_.matchers
369
+ ids = []
370
+ for idx, matcher in enumerate(matchers):
371
+ label = matcher.label
372
+ if (
373
+ (not isinstance(method, NotSet) and label.startswith("method_regex="))
374
+ or (not isinstance(endpoint, NotSet) and label.startswith("path_regex="))
375
+ or (not isinstance(tag, NotSet) and matcher.label.startswith("tag_regex="))
376
+ or (not isinstance(operation_id, NotSet) and matcher.label.startswith("operation_id_regex="))
377
+ ):
378
+ ids.append(idx)
379
+ if ids:
380
+ matchers = tuple(matcher for idx, matcher in enumerate(matchers) if idx not in ids)
381
+ if matchers:
382
+ if new._includes:
383
+ existing = new._includes.pop()
384
+ matchers = existing.matchers + matchers
385
+ new._includes.add(Filter(matchers=matchers))
386
+ for exclude_ in parent._excludes:
387
+ matchers = exclude_.matchers
388
+ ids = []
389
+ for idx, matcher in enumerate(exclude_.matchers):
390
+ if skip_deprecated_operations is False and matcher.label == _is_deprecated.__name__:
391
+ ids.append(idx)
392
+ if ids:
393
+ matchers = tuple(matcher for idx, matcher in enumerate(matchers) if idx not in ids)
394
+ if matchers:
395
+ new._excludes.add(exclude_)
396
+ return new
@@ -19,6 +19,7 @@ from .auths import AuthStorage
19
19
  from .code_samples import CodeSampleStyle
20
20
  from .constants import FLAKY_FAILURE_MESSAGE, NOT_SET
21
21
  from .exceptions import CheckFailed, OperationSchemaError, SkipTest, get_grouped_exception
22
+ from .filters import filter_set_from_components
22
23
  from .generation import DataGenerationMethodInput, GenerationConfig
23
24
  from .hooks import HookDispatcher, HookScope
24
25
  from .internal.output import OutputConfig
@@ -341,18 +342,24 @@ def get_schema(
341
342
  schema = request.getfixturevalue(name)
342
343
  if not isinstance(schema, BaseSchema):
343
344
  raise ValueError(f"The given schema must be an instance of BaseSchema, got: {type(schema)}")
344
- return schema.clone(
345
- base_url=base_url,
345
+
346
+ filter_set = filter_set_from_components(
347
+ include=True,
346
348
  method=method,
347
349
  endpoint=endpoint,
348
350
  tag=tag,
349
351
  operation_id=operation_id,
352
+ skip_deprecated_operations=skip_deprecated_operations,
353
+ parent=schema.filter_set,
354
+ )
355
+ return schema.clone(
356
+ base_url=base_url,
357
+ filter_set=filter_set,
350
358
  app=app,
351
359
  test_function=test_function,
352
360
  hooks=schema.hooks.merge(hooks),
353
361
  auth=auth,
354
362
  validate_schema=validate_schema,
355
- skip_deprecated_operations=skip_deprecated_operations,
356
363
  data_generation_methods=data_generation_methods,
357
364
  generation_config=generation_config,
358
365
  output_config=output_config,
@@ -9,7 +9,8 @@ from typing import TYPE_CHECKING, Any
9
9
  from ..exceptions import RuntimeErrorType, SchemaError, SchemaErrorType, format_exception
10
10
  from ..generation import DataGenerationMethod
11
11
  from ..internal.datetime import current_datetime
12
- from ..internal.result import Result
12
+ from ..internal.result import Err, Ok, Result
13
+ from ..service.models import AnalysisSuccess
13
14
  from .serialization import SerializedError, SerializedTestResult
14
15
 
15
16
  if TYPE_CHECKING:
@@ -105,6 +106,23 @@ class BeforeAnalysis(ExecutionEvent):
105
106
  class AfterAnalysis(ExecutionEvent):
106
107
  analysis: Result[AnalysisResult, Exception] | None
107
108
 
109
+ def _serialize(self) -> dict[str, Any]:
110
+ data = {}
111
+ if isinstance(self.analysis, Ok):
112
+ result = self.analysis.ok()
113
+ if isinstance(result, AnalysisSuccess):
114
+ data["analysis_id"] = result.id
115
+ else:
116
+ data["error"] = result.message
117
+ elif isinstance(self.analysis, Err):
118
+ data["error"] = format_exception(self.analysis.err())
119
+ return data
120
+
121
+ def asdict(self, **kwargs: Any) -> dict[str, Any]:
122
+ data = self._serialize()
123
+ data["event_type"] = self.__class__.__name__
124
+ return data
125
+
108
126
 
109
127
  class CurrentOperationMixin:
110
128
  method: str
@@ -296,6 +314,9 @@ class StatefulEvent(ExecutionEvent):
296
314
 
297
315
  __slots__ = ("data",)
298
316
 
317
+ def asdict(self, **kwargs: Any) -> dict[str, Any]:
318
+ return {"data": self.data.asdict(**kwargs), "event_type": self.__class__.__name__}
319
+
299
320
 
300
321
  @dataclass
301
322
  class AfterStatefulExecution(ExecutionEvent):
@@ -8,7 +8,7 @@ from __future__ import annotations
8
8
  import logging
9
9
  import re
10
10
  import textwrap
11
- from dataclasses import dataclass, field
11
+ from dataclasses import asdict, dataclass, field
12
12
  from typing import TYPE_CHECKING, Any, cast
13
13
 
14
14
  from ..code_samples import get_excluded_headers
@@ -453,3 +453,72 @@ def deduplicate_failures(checks: list[SerializedCheck]) -> list[SerializedCheck]
453
453
  unique_checks.append(check)
454
454
  seen.add(key)
455
455
  return unique_checks
456
+
457
+
458
+ def _serialize_case(case: SerializedCase) -> dict[str, Any]:
459
+ return {
460
+ "id": case.id,
461
+ "generation_time": case.generation_time,
462
+ "verbose_name": case.verbose_name,
463
+ "path_template": case.path_template,
464
+ "path_parameters": stringify_path_parameters(case.path_parameters),
465
+ "query": prepare_query(case.query),
466
+ "cookies": case.cookies,
467
+ "media_type": case.media_type,
468
+ }
469
+
470
+
471
+ def _serialize_response(response: Response) -> dict[str, Any]:
472
+ return {
473
+ "status_code": response.status_code,
474
+ "headers": response.headers,
475
+ "body": response.body,
476
+ "encoding": response.encoding,
477
+ "elapsed": response.elapsed,
478
+ }
479
+
480
+
481
+ def _serialize_check(check: SerializedCheck) -> dict[str, Any]:
482
+ return {
483
+ "name": check.name,
484
+ "value": check.value,
485
+ "request": {
486
+ "method": check.request.method,
487
+ "uri": check.request.uri,
488
+ "body": check.request.body,
489
+ "headers": check.request.headers,
490
+ },
491
+ "response": _serialize_response(check.response) if check.response is not None else None,
492
+ "example": _serialize_case(check.example),
493
+ "message": check.message,
494
+ "context": asdict(check.context) if check.context is not None else None, # type: ignore
495
+ "history": [
496
+ {"case": _serialize_case(entry.case), "response": _serialize_response(entry.response)}
497
+ for entry in check.history
498
+ ],
499
+ }
500
+
501
+
502
+ def stringify_path_parameters(path_parameters: dict[str, Any] | None) -> dict[str, str]:
503
+ """Cast all path parameter values to strings.
504
+
505
+ Path parameter values may be of arbitrary type, but to display them properly they should be casted to strings.
506
+ """
507
+ return {key: str(value) for key, value in (path_parameters or {}).items()}
508
+
509
+
510
+ def prepare_query(query: dict[str, Any] | None) -> dict[str, list[str]]:
511
+ """Convert all query values to list of strings.
512
+
513
+ Query parameters may be generated in different shapes, including integers, strings, list of strings, etc.
514
+ It can also be an object, if the schema contains an object, but `style` and `explode` combo is not applicable.
515
+ """
516
+
517
+ def to_list_of_strings(value: Any) -> list[str]:
518
+ if isinstance(value, list):
519
+ return list(map(str, value))
520
+ if isinstance(value, str):
521
+ return [value]
522
+ return [str(value)]
523
+
524
+ return {key: to_list_of_strings(value) for key, value in (query or {}).items()}
@@ -37,6 +37,7 @@ from .auths import AuthStorage
37
37
  from .code_samples import CodeSampleStyle
38
38
  from .constants import NOT_SET
39
39
  from .exceptions import OperationSchemaError, UsageError
40
+ from .filters import FilterSet, filter_set_from_components
40
41
  from .generation import (
41
42
  DEFAULT_DATA_GENERATION_METHODS,
42
43
  DataGenerationMethod,
@@ -81,16 +82,12 @@ class BaseSchema(Mapping):
81
82
  transport: Transport
82
83
  location: str | None = None
83
84
  base_url: str | None = None
84
- method: Filter | None = None
85
- endpoint: Filter | None = None
86
- tag: Filter | None = None
87
- operation_id: Filter | None = None
85
+ filter_set: FilterSet = field(default_factory=FilterSet)
88
86
  app: Any = None
89
87
  hooks: HookDispatcher = field(default_factory=lambda: HookDispatcher(scope=HookScope.SCHEMA))
90
88
  auth: AuthStorage = field(default_factory=AuthStorage)
91
89
  test_function: GenericTest | None = None
92
90
  validate_schema: bool = True
93
- skip_deprecated_operations: bool = False
94
91
  data_generation_methods: list[DataGenerationMethod] = field(
95
92
  default_factory=lambda: list(DEFAULT_DATA_GENERATION_METHODS)
96
93
  )
@@ -242,6 +239,16 @@ class BaseSchema(Mapping):
242
239
  CodeSampleStyle.from_str(code_sample_style) if isinstance(code_sample_style, str) else code_sample_style
243
240
  )
244
241
 
242
+ filter_set = filter_set_from_components(
243
+ include=True,
244
+ method=method,
245
+ endpoint=endpoint,
246
+ tag=tag,
247
+ operation_id=operation_id,
248
+ skip_deprecated_operations=skip_deprecated_operations,
249
+ parent=self.filter_set,
250
+ )
251
+
245
252
  def wrapper(func: GenericTest) -> GenericTest:
246
253
  if hasattr(func, PARAMETRIZE_MARKER):
247
254
 
@@ -256,13 +263,9 @@ class BaseSchema(Mapping):
256
263
  HookDispatcher.add_dispatcher(func)
257
264
  cloned = self.clone(
258
265
  test_function=func,
259
- method=method,
260
- endpoint=endpoint,
261
- tag=tag,
262
- operation_id=operation_id,
263
266
  validate_schema=validate_schema,
264
- skip_deprecated_operations=skip_deprecated_operations,
265
267
  data_generation_methods=data_generation_methods,
268
+ filter_set=filter_set,
266
269
  code_sample_style=_code_sample_style, # type: ignore
267
270
  )
268
271
  setattr(func, PARAMETRIZE_MARKER, cloned)
@@ -279,38 +282,26 @@ class BaseSchema(Mapping):
279
282
  *,
280
283
  base_url: str | None | NotSet = NOT_SET,
281
284
  test_function: GenericTest | None = None,
282
- method: Filter | None = NOT_SET,
283
- endpoint: Filter | None = NOT_SET,
284
- tag: Filter | None = NOT_SET,
285
- operation_id: Filter | None = NOT_SET,
286
285
  app: Any = NOT_SET,
287
286
  hooks: HookDispatcher | NotSet = NOT_SET,
288
287
  auth: AuthStorage | NotSet = NOT_SET,
289
288
  validate_schema: bool | NotSet = NOT_SET,
290
- skip_deprecated_operations: bool | NotSet = NOT_SET,
291
289
  data_generation_methods: DataGenerationMethodInput | NotSet = NOT_SET,
292
290
  generation_config: GenerationConfig | NotSet = NOT_SET,
293
291
  output_config: OutputConfig | NotSet = NOT_SET,
294
292
  code_sample_style: CodeSampleStyle | NotSet = NOT_SET,
295
293
  rate_limiter: Limiter | None = NOT_SET,
296
294
  sanitize_output: bool | NotSet | None = NOT_SET,
295
+ filter_set: FilterSet | None = None,
297
296
  ) -> BaseSchema:
298
297
  if base_url is NOT_SET:
299
298
  base_url = self.base_url
300
- if method is NOT_SET:
301
- method = self.method
302
- if endpoint is NOT_SET:
303
- endpoint = self.endpoint
304
- if tag is NOT_SET:
305
- tag = self.tag
306
- if operation_id is NOT_SET:
307
- operation_id = self.operation_id
308
299
  if app is NOT_SET:
309
300
  app = self.app
310
301
  if validate_schema is NOT_SET:
311
302
  validate_schema = self.validate_schema
312
- if skip_deprecated_operations is NOT_SET:
313
- skip_deprecated_operations = self.skip_deprecated_operations
303
+ if filter_set is None:
304
+ filter_set = self.filter_set
314
305
  if hooks is NOT_SET:
315
306
  hooks = self.hooks
316
307
  if auth is NOT_SET:
@@ -332,22 +323,18 @@ class BaseSchema(Mapping):
332
323
  self.raw_schema,
333
324
  location=self.location,
334
325
  base_url=base_url, # type: ignore
335
- method=method,
336
- endpoint=endpoint,
337
- tag=tag,
338
- operation_id=operation_id,
339
326
  app=app,
340
327
  hooks=hooks, # type: ignore
341
328
  auth=auth, # type: ignore
342
329
  test_function=test_function,
343
330
  validate_schema=validate_schema, # type: ignore
344
- skip_deprecated_operations=skip_deprecated_operations, # type: ignore
345
331
  data_generation_methods=data_generation_methods, # type: ignore
346
332
  generation_config=generation_config, # type: ignore
347
333
  output_config=output_config, # type: ignore
348
334
  code_sample_style=code_sample_style, # type: ignore
349
335
  rate_limiter=rate_limiter, # type: ignore
350
336
  sanitize_output=sanitize_output, # type: ignore
337
+ filter_set=filter_set, # type: ignore
351
338
  transport=self.transport,
352
339
  )
353
340