schemathesis 3.39.6__tar.gz → 3.39.8__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 (689) hide show
  1. {schemathesis-3.39.6 → schemathesis-3.39.8}/PKG-INFO +1 -1
  2. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/changelog.rst +18 -1
  3. {schemathesis-3.39.6 → schemathesis-3.39.8}/pyproject.toml +1 -1
  4. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_hypothesis.py +13 -10
  5. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/generation/coverage.py +4 -4
  6. schemathesis-3.39.8/src/schemathesis/specs/openapi/patterns.py +305 -0
  7. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/coverage/test_combinations.py +9 -1
  8. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/coverage/test_phase.py +100 -0
  9. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_patterns.py +31 -0
  10. schemathesis-3.39.6/.github/workflows/master_update.yml +0 -53
  11. schemathesis-3.39.6/src/schemathesis/specs/openapi/patterns.py +0 -137
  12. {schemathesis-3.39.6 → schemathesis-3.39.8}/.dockerignore +0 -0
  13. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/FUNDING.yml +0 -0
  14. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  15. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  16. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  17. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/dependabot.yml +0 -0
  18. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/build.yml +0 -0
  19. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/codeql-analysis.yml +0 -0
  20. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/codspeed.yml +0 -0
  21. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/commit.yml +0 -0
  22. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/example-build.yml +0 -0
  23. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/example-no-build.yml +0 -0
  24. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/release.yml +0 -0
  25. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/test-corpus.yml +0 -0
  26. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/test-hypothesis.yml +0 -0
  27. {schemathesis-3.39.6 → schemathesis-3.39.8}/.github/workflows/update-pre-commit.yml +0 -0
  28. {schemathesis-3.39.6 → schemathesis-3.39.8}/.gitignore +0 -0
  29. {schemathesis-3.39.6 → schemathesis-3.39.8}/.pre-commit-config.yaml +0 -0
  30. {schemathesis-3.39.6 → schemathesis-3.39.8}/.readthedocs.yml +0 -0
  31. {schemathesis-3.39.6 → schemathesis-3.39.8}/.relint.yml +0 -0
  32. {schemathesis-3.39.6 → schemathesis-3.39.8}/.rstcheck.cfg +0 -0
  33. {schemathesis-3.39.6 → schemathesis-3.39.8}/.yamllint +0 -0
  34. {schemathesis-3.39.6 → schemathesis-3.39.8}/CITATION.cff +0 -0
  35. {schemathesis-3.39.6 → schemathesis-3.39.8}/CODE_OF_CONDUCT.md +0 -0
  36. {schemathesis-3.39.6 → schemathesis-3.39.8}/CONTRIBUTING.rst +0 -0
  37. {schemathesis-3.39.6 → schemathesis-3.39.8}/Dockerfile +0 -0
  38. {schemathesis-3.39.6 → schemathesis-3.39.8}/Dockerfile.bookworm +0 -0
  39. {schemathesis-3.39.6 → schemathesis-3.39.8}/LICENSE +0 -0
  40. {schemathesis-3.39.6 → schemathesis-3.39.8}/README.md +0 -0
  41. {schemathesis-3.39.6 → schemathesis-3.39.8}/SECURITY.md +0 -0
  42. {schemathesis-3.39.6 → schemathesis-3.39.8}/benches/cli.py +0 -0
  43. {schemathesis-3.39.6 → schemathesis-3.39.8}/benches/coverage_phase.py +0 -0
  44. {schemathesis-3.39.6 → schemathesis-3.39.8}/benches/references.py +0 -0
  45. {schemathesis-3.39.6 → schemathesis-3.39.8}/benches/schema.py +0 -0
  46. {schemathesis-3.39.6 → schemathesis-3.39.8}/changelog.py +0 -0
  47. {schemathesis-3.39.6 → schemathesis-3.39.8}/codecov.yml +0 -0
  48. {schemathesis-3.39.6 → schemathesis-3.39.8}/corpus/data/graphql.tar.gz +0 -0
  49. {schemathesis-3.39.6 → schemathesis-3.39.8}/corpus/data/openapi-3.0.tar.gz +0 -0
  50. {schemathesis-3.39.6 → schemathesis-3.39.8}/corpus/data/openapi-3.1.tar.gz +0 -0
  51. {schemathesis-3.39.6 → schemathesis-3.39.8}/corpus/data/swagger-2.0.tar.gz +0 -0
  52. {schemathesis-3.39.6 → schemathesis-3.39.8}/corpus/tools.py +0 -0
  53. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/Makefile +0 -0
  54. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/additional-content.rst +0 -0
  55. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/api.rst +0 -0
  56. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/auth.rst +0 -0
  57. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/cli.rst +0 -0
  58. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/compatibility.rst +0 -0
  59. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/conf.py +0 -0
  60. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/continuous_integration.rst +0 -0
  61. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/contrib.rst +0 -0
  62. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/data-generation.rst +0 -0
  63. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/examples.rst +0 -0
  64. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/experimental.rst +0 -0
  65. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/extending.rst +0 -0
  66. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/faq.rst +0 -0
  67. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/getting-started.rst +0 -0
  68. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/graphql.rst +0 -0
  69. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/index.rst +0 -0
  70. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/python.rst +0 -0
  71. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/recipes.rst +0 -0
  72. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/requirements.txt +0 -0
  73. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/sanitizing.rst +0 -0
  74. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/service.rst +0 -0
  75. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/stateful.rst +0 -0
  76. {schemathesis-3.39.6 → schemathesis-3.39.8}/docs/targeted.rst +0 -0
  77. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/Dockerfile +0 -0
  78. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/README.md +0 -0
  79. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/app.py +0 -0
  80. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/compose.yml +0 -0
  81. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/openapi.json +0 -0
  82. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/requirements-app.in +0 -0
  83. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/requirements-app.txt +0 -0
  84. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/requirements-pytest.in +0 -0
  85. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/requirements-pytest.txt +0 -0
  86. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/tests/__init__.py +0 -0
  87. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/tests/conftest.py +0 -0
  88. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/tests/extensions.py +0 -0
  89. {schemathesis-3.39.6 → schemathesis-3.39.8}/example/tests/test_app.py +0 -0
  90. {schemathesis-3.39.6 → schemathesis-3.39.8}/img/demo.gif +0 -0
  91. {schemathesis-3.39.6 → schemathesis-3.39.8}/img/service_github_report.png +0 -0
  92. {schemathesis-3.39.6 → schemathesis-3.39.8}/mypy.ini +0 -0
  93. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/__init__.py +0 -0
  94. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_compat.py +0 -0
  95. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_dependency_versions.py +0 -0
  96. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_lazy_import.py +0 -0
  97. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_override.py +0 -0
  98. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_patches.py +0 -0
  99. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_rate_limiter.py +0 -0
  100. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/_xml.py +0 -0
  101. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/auths.py +0 -0
  102. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/checks.py +0 -0
  103. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/__init__.py +0 -0
  104. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/__main__.py +0 -0
  105. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/callbacks.py +0 -0
  106. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/cassettes.py +0 -0
  107. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/constants.py +0 -0
  108. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/context.py +0 -0
  109. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/debug.py +0 -0
  110. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/handlers.py +0 -0
  111. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/junitxml.py +0 -0
  112. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/options.py +0 -0
  113. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/output/__init__.py +0 -0
  114. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/output/default.py +0 -0
  115. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/output/short.py +0 -0
  116. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/reporting.py +0 -0
  117. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/cli/sanitization.py +0 -0
  118. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/code_samples.py +0 -0
  119. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/constants.py +0 -0
  120. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/contrib/__init__.py +0 -0
  121. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  122. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  123. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  124. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  125. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/contrib/unique_data.py +0 -0
  126. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/exceptions.py +0 -0
  127. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/experimental/__init__.py +0 -0
  128. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/extra/__init__.py +0 -0
  129. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/extra/_aiohttp.py +0 -0
  130. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/extra/_flask.py +0 -0
  131. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/extra/_server.py +0 -0
  132. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/extra/pytest_plugin.py +0 -0
  133. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/failures.py +0 -0
  134. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/filters.py +0 -0
  135. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/fixups/__init__.py +0 -0
  136. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/fixups/fast_api.py +0 -0
  137. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/fixups/utf8_bom.py +0 -0
  138. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/generation/__init__.py +0 -0
  139. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/generation/_hypothesis.py +0 -0
  140. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/generation/_methods.py +0 -0
  141. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/graphql.py +0 -0
  142. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/hooks.py +0 -0
  143. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/__init__.py +0 -0
  144. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/checks.py +0 -0
  145. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/copy.py +0 -0
  146. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/datetime.py +0 -0
  147. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/deprecation.py +0 -0
  148. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/diff.py +0 -0
  149. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/extensions.py +0 -0
  150. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/jsonschema.py +0 -0
  151. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/output.py +0 -0
  152. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/result.py +0 -0
  153. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/transformation.py +0 -0
  154. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/internal/validation.py +0 -0
  155. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/lazy.py +0 -0
  156. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/loaders.py +0 -0
  157. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/models.py +0 -0
  158. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/parameters.py +0 -0
  159. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/py.typed +0 -0
  160. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/__init__.py +0 -0
  161. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/events.py +0 -0
  162. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/impl/__init__.py +0 -0
  163. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/impl/context.py +0 -0
  164. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/impl/core.py +0 -0
  165. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/impl/solo.py +0 -0
  166. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/impl/threadpool.py +0 -0
  167. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/probes.py +0 -0
  168. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/runner/serialization.py +0 -0
  169. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/sanitization.py +0 -0
  170. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/schemas.py +0 -0
  171. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/serializers.py +0 -0
  172. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/__init__.py +0 -0
  173. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/auth.py +0 -0
  174. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/ci.py +0 -0
  175. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/client.py +0 -0
  176. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/constants.py +0 -0
  177. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/events.py +0 -0
  178. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/extensions.py +0 -0
  179. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/hosts.py +0 -0
  180. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/metadata.py +0 -0
  181. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/models.py +0 -0
  182. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/report.py +0 -0
  183. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/serialization.py +0 -0
  184. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/service/usage.py +0 -0
  185. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/__init__.py +0 -0
  186. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/graphql/__init__.py +0 -0
  187. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/graphql/_cache.py +0 -0
  188. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/graphql/loaders.py +0 -0
  189. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/graphql/nodes.py +0 -0
  190. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/graphql/scalars.py +0 -0
  191. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/graphql/schemas.py +0 -0
  192. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/graphql/validation.py +0 -0
  193. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/__init__.py +0 -0
  194. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/_cache.py +0 -0
  195. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
  196. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/checks.py +0 -0
  197. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/constants.py +0 -0
  198. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/converter.py +0 -0
  199. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/definitions.py +0 -0
  200. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/examples.py +0 -0
  201. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  202. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  203. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  204. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  205. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  206. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  207. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  208. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/formats.py +0 -0
  209. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/links.py +0 -0
  210. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/loaders.py +0 -0
  211. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/media_types.py +0 -0
  212. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  213. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  214. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  215. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  216. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/parameters.py +0 -0
  217. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/references.py +0 -0
  218. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/schemas.py +0 -0
  219. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/security.py +0 -0
  220. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/serialization.py +0 -0
  221. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  222. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/stateful/statistic.py +0 -0
  223. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/stateful/types.py +0 -0
  224. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/utils.py +0 -0
  225. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/specs/openapi/validation.py +0 -0
  226. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/__init__.py +0 -0
  227. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/config.py +0 -0
  228. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/context.py +0 -0
  229. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/events.py +0 -0
  230. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/runner.py +0 -0
  231. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/sink.py +0 -0
  232. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/state_machine.py +0 -0
  233. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/statistic.py +0 -0
  234. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/stateful/validation.py +0 -0
  235. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/targets.py +0 -0
  236. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/throttling.py +0 -0
  237. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/transports/__init__.py +0 -0
  238. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/transports/asgi.py +0 -0
  239. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/transports/auth.py +0 -0
  240. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/transports/content_types.py +0 -0
  241. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/transports/headers.py +0 -0
  242. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/transports/responses.py +0 -0
  243. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/types.py +0 -0
  244. {schemathesis-3.39.6 → schemathesis-3.39.8}/src/schemathesis/utils.py +0 -0
  245. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/__init__.py +0 -0
  246. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  247. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  248. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  249. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  250. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  251. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  252. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/__init__.py +0 -0
  253. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/_graphql/__init__.py +0 -0
  254. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  255. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/_graphql/_fastapi/app.py +0 -0
  256. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/_graphql/_flask/__init__.py +0 -0
  257. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/_graphql/_flask/app.py +0 -0
  258. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/_graphql/schema.py +0 -0
  259. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/cp1252_app.py +0 -0
  260. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/hooks.py +0 -0
  261. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/__init__.py +0 -0
  262. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  263. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/_aiohttp/app.py +0 -0
  264. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  265. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/_fastapi/__init__.py +0 -0
  266. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/_fastapi/app.py +0 -0
  267. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/_flask/__init__.py +0 -0
  268. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/_flask/app.py +0 -0
  269. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/apps/openapi/schema.py +0 -0
  270. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__init__.py +0 -0
  271. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  272. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  273. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  274. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  275. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  276. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  277. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  278. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/conftest.py +0 -0
  279. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/test_cli.py +0 -0
  280. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/test_provider.py +0 -0
  281. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/auth/test_pytest.py +0 -0
  282. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/checks/__init__.py +0 -0
  283. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/checks/test_checks.py +0 -0
  284. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__init__.py +0 -0
  285. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  286. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  287. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  288. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args0].raw +0 -0
  289. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args10].raw +0 -0
  290. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args1].raw +0 -0
  291. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args2].raw +0 -0
  292. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args3].raw +0 -0
  293. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args4].raw +0 -0
  294. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args5].raw +0 -0
  295. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args6].raw +0 -0
  296. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args7].raw +0 -0
  297. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args8].raw +0 -0
  298. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[args9].raw +0 -0
  299. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
  300. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  301. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  302. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  303. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  304. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  305. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  306. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  307. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  308. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  309. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  310. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  311. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  312. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  313. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  314. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  315. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  316. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  317. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  318. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  319. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  320. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  321. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  322. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  323. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  324. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  325. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  326. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  327. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  328. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  329. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
  330. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
  331. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  332. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  333. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  334. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  335. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  336. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
  337. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
  338. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
  339. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  340. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  341. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  342. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  343. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  344. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  345. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  346. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  347. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  348. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  349. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  350. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  351. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  352. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  353. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  354. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  355. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  356. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  357. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  358. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  359. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  360. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  361. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  362. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  363. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  364. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  365. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  366. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  367. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  368. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  369. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  370. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  371. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  372. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  373. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  374. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  375. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  376. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  377. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  378. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  379. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  380. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  381. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  382. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  383. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  384. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  385. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  386. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  387. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  388. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  389. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +0 -0
  390. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +0 -0
  391. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  392. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  393. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  394. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  395. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  396. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  397. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  398. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  399. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  400. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  401. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  402. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  403. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  404. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  405. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  406. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  407. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  408. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  409. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  410. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  411. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  412. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  413. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  414. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  415. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  416. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  417. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  418. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  419. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  420. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  421. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  422. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  423. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  424. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  425. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  426. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  427. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  428. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  429. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  430. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  431. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  432. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  433. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  434. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  435. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  436. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  437. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  438. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  439. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  440. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  441. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  442. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  443. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  444. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  445. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  446. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  447. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  448. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  449. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  450. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  451. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  452. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  453. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  454. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  455. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  456. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  457. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  458. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  459. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  460. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  461. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  462. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  463. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  464. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  465. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  466. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  467. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  468. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  469. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  470. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  471. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  472. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
  473. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  474. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  475. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  476. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  477. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  478. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  479. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  480. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  481. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  482. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  483. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  484. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  485. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  486. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  487. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  488. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  489. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  490. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  491. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  492. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  493. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  494. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  495. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  496. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  497. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  498. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/cert.pem +0 -0
  499. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/conftest.py +0 -0
  500. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/output/__init__.py +0 -0
  501. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/output/test_default.py +0 -0
  502. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_asgi.py +0 -0
  503. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_callbacks.py +0 -0
  504. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_cassettes.py +0 -0
  505. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_checks.py +0 -0
  506. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_commands.py +0 -0
  507. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_crashes.py +0 -0
  508. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_hooks.py +0 -0
  509. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_junitxml.py +0 -0
  510. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_options.py +0 -0
  511. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_reporting.py +0 -0
  512. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/cli/test_targeted.py +0 -0
  513. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  514. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  515. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/code_samples/conftest.py +0 -0
  516. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/code_samples/test_curl.py +0 -0
  517. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/code_samples/test_python.py +0 -0
  518. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/conftest.py +0 -0
  519. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  520. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  521. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  522. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  523. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -0
  524. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  525. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  526. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -0
  527. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  528. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/openapi/formats/test_uuid.py +0 -0
  529. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  530. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/test_install.py +0 -0
  531. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/contrib/test_unique_data.py +0 -0
  532. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/coverage/__init__.py +0 -0
  533. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -0
  534. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/coverage/test_examples.py +0 -0
  535. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/petstore_v2.yaml +0 -0
  536. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/petstore_v3.yaml +0 -0
  537. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/relative_files/components/parameters.yaml +0 -0
  538. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/relative_files/components/responses.yaml +0 -0
  539. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/relative_files/components/schemas.yaml +0 -0
  540. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/relative_files/main.yaml +0 -0
  541. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/relative_files/paths/user-account.yaml +0 -0
  542. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/simple_openapi.yaml +0 -0
  543. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/data/simple_swagger.yaml +0 -0
  544. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  545. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/experimental/conftest.py +0 -0
  546. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/experimental/test_experiments.py +0 -0
  547. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/experimental/test_openapi_3_1.py +0 -0
  548. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/extra/__init__.py +0 -0
  549. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/extra/test_aiohttp.py +0 -0
  550. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/filters/__init__.py +0 -0
  551. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/filters/test_expressions.py +0 -0
  552. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/filters/test_matching.py +0 -0
  553. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/fixtures/__init__.py +0 -0
  554. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/fixtures/ctx.py +0 -0
  555. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/hooks/test_filter_operations.py +0 -0
  556. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/hooks/test_filters.py +0 -0
  557. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/hooks/test_hooks.py +0 -0
  558. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/loaders/conftest.py +0 -0
  559. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/loaders/test_app.py +0 -0
  560. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/loaders/test_common.py +0 -0
  561. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/loaders/test_graphql.py +0 -0
  562. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/loaders/test_openapi.py +0 -0
  563. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/loaders/test_yaml.py +0 -0
  564. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/runner/__init__.py +0 -0
  565. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/runner/test_checks.py +0 -0
  566. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/runner/test_events.py +0 -0
  567. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/runner/test_probes.py +0 -0
  568. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/runner/test_runner.py +0 -0
  569. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__init__.py +0 -0
  570. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_client_error_on_project_details.raw +0 -0
  571. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  572. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  573. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  574. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  575. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  576. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_unauthorized.raw +0 -0
  577. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  578. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  579. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  580. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  581. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  582. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  583. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  584. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  585. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  586. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  587. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  588. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  589. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  590. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  591. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  592. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  593. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  594. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  595. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  596. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/conftest.py +0 -0
  597. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/test_auth.py +0 -0
  598. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/test_ci.py +0 -0
  599. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/test_cli.py +0 -0
  600. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/test_extensions.py +0 -0
  601. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/test_report.py +0 -0
  602. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/test_serialization.py +0 -0
  603. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/service/test_usage.py +0 -0
  604. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
  605. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
  606. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
  607. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  608. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  609. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  610. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  611. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/test_basic.py +0 -0
  612. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/test_custom_scalars.py +0 -0
  613. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/graphql/test_pytest.py +0 -0
  614. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -0
  615. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -0
  616. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -0
  617. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -0
  618. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-200].raw +0 -0
  619. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-406].raw +0 -0
  620. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  621. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  622. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[cookie].raw +0 -0
  623. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_auth_via_override_cli[query].raw +0 -0
  624. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -0
  625. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -0
  626. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -0
  627. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  628. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/blank.pdf +0 -0
  629. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/conftest.py +0 -0
  630. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/parameters/test_forms.py +0 -0
  631. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  632. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  633. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/stateful/__init__.py +0 -0
  634. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/stateful/conftest.py +0 -0
  635. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/stateful/test_config.py +0 -0
  636. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/stateful/test_runner.py +0 -0
  637. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/stateful/test_stateful.py +0 -0
  638. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_checks.py +0 -0
  639. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_examples.py +0 -0
  640. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_expressions.py +0 -0
  641. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_hypothesis.py +0 -0
  642. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_ignored_auth.py +0 -0
  643. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_links.py +0 -0
  644. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_media_types.py +0 -0
  645. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_negative.py +0 -0
  646. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_parameters.py +0 -0
  647. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_randomized.py +0 -0
  648. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_schemas.py +0 -0
  649. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_security.py +0 -0
  650. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_serializing.py +0 -0
  651. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_utils.py +0 -0
  652. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/specs/openapi/test_validation.py +0 -0
  653. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_app.py +0 -0
  654. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_asgi.py +0 -0
  655. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_async.py +0 -0
  656. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_common_parameters.py +0 -0
  657. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_converter.py +0 -0
  658. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_dereferencing.py +0 -0
  659. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_direct_access.py +0 -0
  660. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_examples.py +0 -0
  661. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_filters.py +0 -0
  662. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_fixups.py +0 -0
  663. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_hypothesis.py +0 -0
  664. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_internal.py +0 -0
  665. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_lazy.py +0 -0
  666. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_models.py +0 -0
  667. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_output.py +0 -0
  668. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_package.py +0 -0
  669. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_parameters.py +0 -0
  670. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_parametrization.py +0 -0
  671. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_petstore.py +0 -0
  672. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_pytest.py +0 -0
  673. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_rate_limit.py +0 -0
  674. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_recoverable_errors.py +0 -0
  675. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_required.py +0 -0
  676. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_sanitizing_output.py +0 -0
  677. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_schemas.py +0 -0
  678. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_serialization.py +0 -0
  679. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_stateful.py +0 -0
  680. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_unittest.py +0 -0
  681. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_utils.py +0 -0
  682. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/test_wsgi.py +0 -0
  683. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/transports/test_content_types.py +0 -0
  684. {schemathesis-3.39.6 → schemathesis-3.39.8}/test/utils.py +0 -0
  685. {schemathesis-3.39.6 → schemathesis-3.39.8}/test-corpus/conftest.py +0 -0
  686. {schemathesis-3.39.6 → schemathesis-3.39.8}/test-corpus/test_corpus.py +0 -0
  687. {schemathesis-3.39.6 → schemathesis-3.39.8}/test_server.sh +0 -0
  688. {schemathesis-3.39.6 → schemathesis-3.39.8}/tox.ini +0 -0
  689. {schemathesis-3.39.6 → schemathesis-3.39.8}/typos.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: schemathesis
3
- Version: 3.39.6
3
+ Version: 3.39.8
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,26 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.39.6...HEAD>` - TBD
4
+ :version:`Unreleased <v3.39.8...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.39.8:
8
+
9
+ :version:`3.39.8 <v3.39.7...v3.39.8>` - 2025-01-25
10
+ --------------------------------------------------
11
+
12
+ **Fixed**
13
+
14
+ - Handling of complex regex patterns with multiple quantifiers to respect length constraints during test generation.
15
+ - Internal error during the coverage phase if negated parameter has no ``type``.
16
+
17
+ :version:`3.39.7 <v3.39.6...v3.39.7>` - 2025-01-16
18
+ --------------------------------------------------
19
+
20
+ **Changed**
21
+
22
+ - Rebuild Docker ``stable`` with the v3 branch.
23
+
7
24
  .. _v3.39.6:
8
25
 
9
26
  :version:`3.39.6 <v3.39.5...v3.39.6>` - 2025-01-12
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.39.6"
7
+ version = "3.39.8"
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" }]
@@ -332,16 +332,19 @@ def _iter_coverage_cases(
332
332
  if operation.query:
333
333
  container = template["query"]
334
334
  for parameter in operation.query:
335
- value = container[parameter.name]
336
- case = operation.make_case(**{**template, "query": {**container, parameter.name: [value, value]}})
337
- case.data_generation_method = DataGenerationMethod.negative
338
- case.meta = _make_meta(
339
- description=f"Duplicate `{parameter.name}` query parameter",
340
- location=None,
341
- parameter=parameter.name,
342
- parameter_location="query",
343
- )
344
- yield case
335
+ # Could be absent if value schema can't be negated
336
+ # I.e. contains just `default` value without any other keywords
337
+ value = container.get(parameter.name, NOT_SET)
338
+ if value is not NOT_SET:
339
+ case = operation.make_case(**{**template, "query": {**container, parameter.name: [value, value]}})
340
+ case.data_generation_method = DataGenerationMethod.negative
341
+ case.meta = _make_meta(
342
+ description=f"Duplicate `{parameter.name}` query parameter",
343
+ location=None,
344
+ parameter=parameter.name,
345
+ parameter_location="query",
346
+ )
347
+ yield case
345
348
  # Generate missing required parameters
346
349
  for parameter in operation.iter_parameters():
347
350
  if parameter.is_required and parameter.location != "path":
@@ -194,6 +194,10 @@ class CoverageContext:
194
194
  re.compile(pattern)
195
195
  except re.error:
196
196
  raise Unsatisfiable from None
197
+ if "minLength" in schema or "maxLength" in schema:
198
+ min_length = schema.get("minLength")
199
+ max_length = schema.get("maxLength")
200
+ pattern = update_quantifier(pattern, min_length, max_length)
197
201
  return cached_draw(st.from_regex(pattern))
198
202
  if (keys == ["items", "type"] or keys == ["items", "minItems", "type"]) and isinstance(schema["items"], dict):
199
203
  items = schema["items"]
@@ -514,11 +518,7 @@ def _positive_string(ctx: CoverageContext, schema: dict) -> Generator[GeneratedV
514
518
  # Default positive value
515
519
  yield PositiveValue(ctx.generate_from_schema(schema), description="Valid string")
516
520
  elif "pattern" in schema:
517
- # Without merging `maxLength` & `minLength` into a regex it is problematic
518
- # to generate a valid value as the unredlying machinery will resort to filtering
519
- # and it is unlikely that it will generate a string of that length
520
521
  yield PositiveValue(ctx.generate_from_schema(schema), description="Valid string")
521
- return
522
522
 
523
523
  seen = set()
524
524
 
@@ -0,0 +1,305 @@
1
+ from __future__ import annotations
2
+
3
+ import re
4
+ from functools import lru_cache
5
+
6
+ try: # pragma: no cover
7
+ import re._constants as sre
8
+ import re._parser as sre_parse
9
+ except ImportError:
10
+ import sre_constants as sre
11
+ import sre_parse
12
+
13
+ ANCHOR = sre.AT
14
+ REPEATS: tuple
15
+ if hasattr(sre, "POSSESSIVE_REPEAT"):
16
+ REPEATS = (sre.MIN_REPEAT, sre.MAX_REPEAT, sre.POSSESSIVE_REPEAT)
17
+ else:
18
+ REPEATS = (sre.MIN_REPEAT, sre.MAX_REPEAT)
19
+ LITERAL = sre.LITERAL
20
+ IN = sre.IN
21
+ MAXREPEAT = sre_parse.MAXREPEAT
22
+
23
+
24
+ @lru_cache()
25
+ def update_quantifier(pattern: str, min_length: int | None, max_length: int | None) -> str:
26
+ """Update the quantifier of a regular expression based on given min and max lengths."""
27
+ if not pattern or (min_length in (None, 0) and max_length is None):
28
+ return pattern
29
+
30
+ try:
31
+ parsed = sre_parse.parse(pattern)
32
+ return _handle_parsed_pattern(parsed, pattern, min_length, max_length)
33
+ except re.error:
34
+ # Invalid pattern
35
+ return pattern
36
+
37
+
38
+ def _handle_parsed_pattern(parsed: list, pattern: str, min_length: int | None, max_length: int | None) -> str:
39
+ """Handle the parsed pattern and update quantifiers based on different cases."""
40
+ if len(parsed) == 1:
41
+ op, value = parsed[0]
42
+ return _update_quantifier(op, value, pattern, min_length, max_length)
43
+ elif len(parsed) == 2:
44
+ if parsed[0][0] == ANCHOR:
45
+ # Starts with an anchor
46
+ op, value = parsed[1]
47
+ anchor_length = _get_anchor_length(parsed[0][1])
48
+ leading_anchor = pattern[:anchor_length]
49
+ return leading_anchor + _update_quantifier(op, value, pattern[anchor_length:], min_length, max_length)
50
+ if parsed[1][0] == ANCHOR:
51
+ # Ends with an anchor
52
+ op, value = parsed[0]
53
+ anchor_length = _get_anchor_length(parsed[1][1])
54
+ trailing_anchor = pattern[-anchor_length:]
55
+ return _update_quantifier(op, value, pattern[:-anchor_length], min_length, max_length) + trailing_anchor
56
+ elif len(parsed) == 3 and parsed[0][0] == ANCHOR and parsed[2][0] == ANCHOR:
57
+ op, value = parsed[1]
58
+ leading_anchor_length = _get_anchor_length(parsed[0][1])
59
+ trailing_anchor_length = _get_anchor_length(parsed[2][1])
60
+ leading_anchor = pattern[:leading_anchor_length]
61
+ trailing_anchor = pattern[-trailing_anchor_length:]
62
+ return (
63
+ leading_anchor
64
+ + _update_quantifier(
65
+ op, value, pattern[leading_anchor_length:-trailing_anchor_length], min_length, max_length
66
+ )
67
+ + trailing_anchor
68
+ )
69
+ elif (
70
+ len(parsed) > 3
71
+ and parsed[0][0] == ANCHOR
72
+ and parsed[-1][0] == ANCHOR
73
+ and all(op == LITERAL or op in REPEATS for op, _ in parsed[1:-1])
74
+ ):
75
+ return _handle_anchored_pattern(parsed, pattern, min_length, max_length)
76
+ return pattern
77
+
78
+
79
+ def _handle_anchored_pattern(parsed: list, pattern: str, min_length: int | None, max_length: int | None) -> str:
80
+ """Update regex pattern with multiple quantified patterns to satisfy length constraints."""
81
+ # Extract anchors
82
+ leading_anchor_length = _get_anchor_length(parsed[0][1])
83
+ trailing_anchor_length = _get_anchor_length(parsed[-1][1])
84
+ leading_anchor = pattern[:leading_anchor_length]
85
+ trailing_anchor = pattern[-trailing_anchor_length:]
86
+
87
+ pattern_parts = parsed[1:-1]
88
+
89
+ # Adjust length constraints by subtracting fixed literals length
90
+ fixed_length = sum(1 for op, _ in pattern_parts if op == LITERAL)
91
+ if min_length is not None:
92
+ min_length -= fixed_length
93
+ if min_length < 0:
94
+ return pattern
95
+ if max_length is not None:
96
+ max_length -= fixed_length
97
+ if max_length < 0:
98
+ return pattern
99
+
100
+ # Extract only min/max bounds from quantified parts
101
+ quantifier_bounds = [value[:2] for op, value in pattern_parts if op in REPEATS]
102
+
103
+ if not quantifier_bounds:
104
+ return pattern
105
+
106
+ length_distribution = _distribute_length_constraints(quantifier_bounds, min_length, max_length)
107
+ if not length_distribution:
108
+ return pattern
109
+
110
+ # Rebuild pattern with updated quantifiers
111
+ result = leading_anchor
112
+ current_position = leading_anchor_length
113
+ distribution_idx = 0
114
+
115
+ for op, value in pattern_parts:
116
+ if op == LITERAL:
117
+ if pattern[current_position] == "\\":
118
+ # Escaped value
119
+ current_position += 2
120
+ result += "\\"
121
+ else:
122
+ current_position += 1
123
+ result += chr(value)
124
+ else:
125
+ new_min, new_max = length_distribution[distribution_idx]
126
+ next_position = _find_quantified_end(pattern, current_position)
127
+ quantified_segment = pattern[current_position:next_position]
128
+ _, _, subpattern = value
129
+ new_value = (new_min, new_max, subpattern)
130
+
131
+ result += _update_quantifier(op, new_value, quantified_segment, new_min, new_max)
132
+ current_position = next_position
133
+ distribution_idx += 1
134
+
135
+ return result + trailing_anchor
136
+
137
+
138
+ def _find_quantified_end(pattern: str, start: int) -> int:
139
+ """Find the end position of current quantified part."""
140
+ char_class_level = 0
141
+ group_level = 0
142
+
143
+ for i in range(start, len(pattern)):
144
+ char = pattern[i]
145
+
146
+ # Handle character class nesting
147
+ if char == "[":
148
+ char_class_level += 1
149
+ elif char == "]":
150
+ char_class_level -= 1
151
+
152
+ # Handle group nesting
153
+ elif char == "(":
154
+ group_level += 1
155
+ elif char == ")":
156
+ group_level -= 1
157
+
158
+ # Only process quantifiers when we're not inside any nested structure
159
+ elif char_class_level == 0 and group_level == 0:
160
+ if char in "*+?":
161
+ return i + 1
162
+ elif char == "{":
163
+ # Find matching }
164
+ while i < len(pattern) and pattern[i] != "}":
165
+ i += 1
166
+ return i + 1
167
+
168
+ return len(pattern)
169
+
170
+
171
+ def _distribute_length_constraints(
172
+ bounds: list[tuple[int, int]], min_length: int | None, max_length: int | None
173
+ ) -> list[tuple[int, int]] | None:
174
+ """Distribute length constraints among quantified pattern parts."""
175
+ # Handle exact length case with dynamic programming
176
+ if min_length == max_length:
177
+ assert min_length is not None
178
+ target = min_length
179
+ dp: dict[tuple[int, int], list[tuple[int, ...]] | None] = {}
180
+
181
+ def find_valid_combination(pos: int, remaining: int) -> list[tuple[int, ...]] | None:
182
+ if (pos, remaining) in dp:
183
+ return dp[(pos, remaining)]
184
+
185
+ if pos == len(bounds):
186
+ return [()] if remaining == 0 else None
187
+
188
+ max_len: int
189
+ min_len, max_len = bounds[pos]
190
+ if max_len == MAXREPEAT:
191
+ max_len = remaining + 1
192
+ else:
193
+ max_len += 1
194
+
195
+ # Try each possible length for current quantifier
196
+ for length in range(min_len, max_len):
197
+ rest = find_valid_combination(pos + 1, remaining - length)
198
+ if rest is not None:
199
+ dp[(pos, remaining)] = [(length,) + r for r in rest]
200
+ return dp[(pos, remaining)]
201
+
202
+ dp[(pos, remaining)] = None
203
+ return None
204
+
205
+ distribution = find_valid_combination(0, target)
206
+ if distribution:
207
+ return [(length, length) for length in distribution[0]]
208
+ return None
209
+
210
+ # Handle range case by distributing min/max bounds
211
+ result = []
212
+ remaining_min = min_length or 0
213
+ remaining_max = max_length or MAXREPEAT
214
+
215
+ for min_repeat, max_repeat in bounds:
216
+ if remaining_min > 0:
217
+ part_min = min(max_repeat, max(min_repeat, remaining_min))
218
+ else:
219
+ part_min = min_repeat
220
+
221
+ if remaining_max < MAXREPEAT:
222
+ part_max = min(max_repeat, remaining_max)
223
+ else:
224
+ part_max = max_repeat
225
+
226
+ if part_min > part_max:
227
+ return None
228
+
229
+ result.append((part_min, part_max))
230
+
231
+ remaining_min = max(0, remaining_min - part_min)
232
+ remaining_max -= part_max if part_max != MAXREPEAT else 0
233
+
234
+ if remaining_min > 0 or remaining_max < 0:
235
+ return None
236
+
237
+ return result
238
+
239
+
240
+ def _get_anchor_length(node_type: int) -> int:
241
+ """Determine the length of the anchor based on its type."""
242
+ if node_type in {sre.AT_BEGINNING_STRING, sre.AT_END_STRING, sre.AT_BOUNDARY, sre.AT_NON_BOUNDARY}:
243
+ return 2 # \A, \Z, \b, or \B
244
+ return 1 # ^ or $ or their multiline/locale/unicode variants
245
+
246
+
247
+ def _update_quantifier(op: int, value: tuple, pattern: str, min_length: int | None, max_length: int | None) -> str:
248
+ """Update the quantifier based on the operation type and given constraints."""
249
+ if op in REPEATS:
250
+ return _handle_repeat_quantifier(value, pattern, min_length, max_length)
251
+ if op in (LITERAL, IN) and max_length != 0:
252
+ return _handle_literal_or_in_quantifier(pattern, min_length, max_length)
253
+ return pattern
254
+
255
+
256
+ def _handle_repeat_quantifier(
257
+ value: tuple[int, int, tuple], pattern: str, min_length: int | None, max_length: int | None
258
+ ) -> str:
259
+ """Handle repeat quantifiers (e.g., '+', '*', '?')."""
260
+ min_repeat, max_repeat, _ = value
261
+ min_length, max_length = _build_size(min_repeat, max_repeat, min_length, max_length)
262
+ if min_length > max_length:
263
+ return pattern
264
+ return f"({_strip_quantifier(pattern).strip(')(')})" + _build_quantifier(min_length, max_length)
265
+
266
+
267
+ def _handle_literal_or_in_quantifier(pattern: str, min_length: int | None, max_length: int | None) -> str:
268
+ """Handle literal or character class quantifiers."""
269
+ min_length = 1 if min_length is None else max(min_length, 1)
270
+ return f"({pattern.strip(')(')})" + _build_quantifier(min_length, max_length)
271
+
272
+
273
+ def _build_quantifier(minimum: int | None, maximum: int | None) -> str:
274
+ """Construct a quantifier string based on min and max values."""
275
+ if maximum == MAXREPEAT or maximum is None:
276
+ return f"{{{minimum or 0},}}"
277
+ if minimum == maximum:
278
+ return f"{{{minimum}}}"
279
+ return f"{{{minimum or 0},{maximum}}}"
280
+
281
+
282
+ def _build_size(min_repeat: int, max_repeat: int, min_length: int | None, max_length: int | None) -> tuple[int, int]:
283
+ """Merge the current repetition constraints with the provided min and max lengths."""
284
+ if min_length is not None:
285
+ min_repeat = max(min_repeat, min_length)
286
+ if max_length is not None:
287
+ if max_repeat == MAXREPEAT:
288
+ max_repeat = max_length
289
+ else:
290
+ max_repeat = min(max_repeat, max_length)
291
+ return min_repeat, max_repeat
292
+
293
+
294
+ def _strip_quantifier(pattern: str) -> str:
295
+ """Remove quantifier from the pattern."""
296
+ # Lazy & posessive quantifiers
297
+ if pattern.endswith(("*?", "+?", "??", "*+", "?+", "++")):
298
+ return pattern[:-2]
299
+ if pattern.endswith(("?", "*", "+")):
300
+ pattern = pattern[:-1]
301
+ if pattern.endswith("}") and "{" in pattern:
302
+ # Find the start of the exact quantifier and drop everything since that index
303
+ idx = pattern.rfind("{")
304
+ pattern = pattern[:idx]
305
+ return pattern
@@ -153,7 +153,7 @@ def test_negative_primitive_schemas(nctx, schema, expected):
153
153
  ({"type": "string", "minLength": 5, "maxLength": 10}, {5, 6, 9, 10}),
154
154
  ({"type": "string", "minLength": 5, "maxLength": 6}, {5, 6}),
155
155
  ({"type": "string", "minLength": 5, "maxLength": 5}, {5}),
156
- ({"type": "string", "minLength": 0, "maxLength": 512, "pattern": "^[\\w\\W]+$"}, {1}),
156
+ ({"type": "string", "minLength": 0, "maxLength": 512, "pattern": r"^[\w\W]+$"}, {1}),
157
157
  ],
158
158
  )
159
159
  def test_positive_string(ctx, schema, lengths):
@@ -929,6 +929,14 @@ def test_negative_pattern(nctx, schema, expected):
929
929
  assert_not_conform(covered, schema)
930
930
 
931
931
 
932
+ def test_positive_pattern(pctx):
933
+ schema = {"pattern": r"^[a-zA-Z0-9]{2,4}-\d{4,15}$", "minLength": 7, "maxLength": 20, "type": "string"}
934
+ covered = cover_schema(pctx, schema)
935
+ assert covered == ["0000-0000", "00-0000", "00-00000", "0000-000000000000000", "000-000000000000000"]
936
+ assert_unique(covered)
937
+ assert_not_conform(covered, schema)
938
+
939
+
932
940
  def test_negative_pattern_with_incompatible_length(nctx):
933
941
  schema = {
934
942
  "minLength": 6,
@@ -1031,6 +1031,106 @@ def test_incorrect_headers(ctx):
1031
1031
  )
1032
1032
 
1033
1033
 
1034
+ def test_optional_parameter_without_type(ctx):
1035
+ schema = ctx.openapi.build_schema(
1036
+ {
1037
+ "/foo": {
1038
+ "post": {
1039
+ "parameters": [
1040
+ {
1041
+ "in": "query",
1042
+ "name": "query",
1043
+ "required": True,
1044
+ "schema": {"title": "Query", "type": "string"},
1045
+ },
1046
+ {
1047
+ "in": "query",
1048
+ "name": "locking_period",
1049
+ "required": False,
1050
+ "schema": {"default": 24, "title": "Locking Period"},
1051
+ },
1052
+ ],
1053
+ "responses": {"200": {"description": "OK"}},
1054
+ }
1055
+ }
1056
+ }
1057
+ )
1058
+ assert_coverage(
1059
+ schema,
1060
+ [DataGenerationMethod.negative],
1061
+ [
1062
+ {
1063
+ "query": {
1064
+ "query": "",
1065
+ "x-schemathesis-unknown-property": "42",
1066
+ },
1067
+ },
1068
+ {
1069
+ "query": {
1070
+ "query": "{}",
1071
+ },
1072
+ },
1073
+ {
1074
+ "query": {
1075
+ "query": [
1076
+ "null",
1077
+ "null",
1078
+ ],
1079
+ },
1080
+ },
1081
+ {
1082
+ "query": {
1083
+ "query": "null",
1084
+ },
1085
+ },
1086
+ {
1087
+ "query": {
1088
+ "query": "false",
1089
+ },
1090
+ },
1091
+ {
1092
+ "query": {
1093
+ "query": "0",
1094
+ },
1095
+ },
1096
+ {
1097
+ "query": {},
1098
+ },
1099
+ {
1100
+ "query": {
1101
+ "query": [
1102
+ "0",
1103
+ "0",
1104
+ ],
1105
+ },
1106
+ },
1107
+ {
1108
+ "query": {
1109
+ "query": "{}",
1110
+ },
1111
+ },
1112
+ {
1113
+ "query": {
1114
+ "query": [
1115
+ "null",
1116
+ "null",
1117
+ ],
1118
+ },
1119
+ },
1120
+ {
1121
+ "query": {
1122
+ "query": "null",
1123
+ },
1124
+ },
1125
+ {
1126
+ "query": {
1127
+ "query": "false",
1128
+ },
1129
+ },
1130
+ ],
1131
+ )
1132
+
1133
+
1034
1134
  def test_incorrect_headers_with_enum(ctx):
1035
1135
  schema = ctx.openapi.build_schema(
1036
1136
  {
@@ -75,10 +75,41 @@ SKIP_BEFORE_PY11 = pytest.mark.skipif(
75
75
  ("b$", None, None, "b$"),
76
76
  ("b$", 0, None, "b$"),
77
77
  ("}?", 0, None, "}?"),
78
+ # More complex patterns
79
+ # Fixed parts with single quantifier
80
+ ("^abc[0-9]*$", None, 5, "^abc([0-9]){0,2}$"),
81
+ ("^-[a-z]{1,10}-$", None, 4, "^-([a-z]){1,2}-$"),
82
+ # Multiple quantifiers
83
+ (r"^[a-z]{2,4}-\d{4,15}$", 7, 7, r"^([a-z]){2}-(\d){4}$"),
84
+ (r"^[a-z]{2,4}-\d{4,15}$", 20, 20, r"^([a-z]){4}-(\d){15}$"),
85
+ # Complex patterns with multiple parts
86
+ ("^[A-Z]{1,3}-[0-9]{2,4}-[a-z]{1,5}$", 8, 8, "^([A-Z]){1}-([0-9]){2}-([a-z]){3}$"),
87
+ (r"^\w{2,4}:\d{3,5}:[A-F]{1,2}$", 10, 10, r"^(\w){2}:(\d){4}:([A-F]){2}$"),
88
+ (r"^[a-zA-Z0-9]{2,4}-\d{4,15}$", 7, 7, r"^([a-zA-Z0-9]){2}-(\d){4}$"),
89
+ (r"^[a-zA-Z0-9]{2,4}-\d{4,15}$", 8, 8, r"^([a-zA-Z0-9]){2}-(\d){5}$"),
90
+ (r"^[a-zA-Z0-9]{2,4}-\d{4,15}$", 19, 19, r"^([a-zA-Z0-9]){3}-(\d){15}$"),
91
+ (r"^([a-zA-Z0-9]){2,4}-(\d){4,15}$", 19, 19, r"^([a-zA-Z0-9]){3}-(\d){15}$"),
92
+ (r"^[a-zA-Z0-9]{2,4}-\d{4,15}$", 50, 50, r"^[a-zA-Z0-9]{2,4}-\d{4,15}$"),
93
+ (r"^abcd[a-zA-Z0-9]{2,4}$", 1, 5, r"^abcd[a-zA-Z0-9]{2,4}$"),
94
+ (r"^abcd[a-zA-Z0-9]{2,4}$", 5, 1, r"^abcd[a-zA-Z0-9]{2,4}$"),
95
+ (r"^abcd[a-zA-Z0-9]{2,4}$", 5, 5, r"^abcd[a-zA-Z0-9]{2,4}$"),
96
+ (r"^abcd[a-zA-Z0-9]{2,4}$", None, None, r"^abcd[a-zA-Z0-9]{2,4}$"),
97
+ (r"^abcd[a-zA-Z0-9]{2,4}$", 0, None, r"^abcd[a-zA-Z0-9]{2,4}$"),
98
+ (r"^abcd[a-zA-Z0-9]{2,4}$", None, 5, r"^abcd[a-zA-Z0-9]{2,4}$"),
99
+ (r"^abcd[a-zA-Z0-9]{2,4}$", 5, None, r"^abcd([a-zA-Z0-9]){2,4}$"),
100
+ (r"^abcd[a-zA-Z0-9]{2,4}$", 5, 10, r"^abcd([a-zA-Z0-9]){2,4}$"),
101
+ (r"^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$", 5, 64, r"^([a-zA-Z0-9]){5,64}([-a-zA-Z0-9]?[a-zA-Z0-9]){0}$"),
102
+ (r"^\+[0-9]{5,}$", 6, 6, r"^\+([0-9]){5}$"),
103
+ (r"^abcd$", 50, 50, r"^abcd$"),
104
+ # Edge cases
105
+ ("^[a-z]*-[0-9]*$", 3, 3, "^([a-z]){0}-([0-9]){2}$"),
106
+ # Multiple fixed parts
107
+ ("^abc[0-9]{1,3}def[a-z]{2,5}ghi$", 12, 12, "^abc([0-9]){1}def([a-z]){2}ghi$"),
78
108
  ],
79
109
  )
80
110
  def test_update_quantifier(pattern, min_length, max_length, expected):
81
111
  assert update_quantifier(pattern, min_length, max_length) == expected
112
+ re.compile(expected)
82
113
 
83
114
 
84
115
  def test_update_quantifier_invalid_pattern():
@@ -1,53 +0,0 @@
1
- name: Post-update master jobs
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
-
8
- jobs:
9
- containers:
10
- name: Build container images
11
- runs-on: ubuntu-22.04
12
-
13
- strategy:
14
- fail-fast: false
15
- matrix:
16
- include:
17
- - dockerfile: Dockerfile
18
- tag: "latest"
19
- - dockerfile: Dockerfile.bookworm
20
- tag: "latest-bookworm"
21
-
22
- steps:
23
- - uses: actions/checkout@v4.2.1
24
-
25
- - name: Set up QEMU
26
- uses: docker/setup-qemu-action@v3
27
-
28
- - name: Set up Docker Buildx
29
- uses: docker/setup-buildx-action@v3
30
-
31
- - name: Login to Docker Hub
32
- uses: docker/login-action@v3
33
- with:
34
- username: ${{ secrets.DOCKERHUB_USERNAME }}
35
- password: ${{ secrets.DOCKERHUB_PASSWORD }}
36
-
37
- - name: Login to GitHub Container Registry
38
- uses: docker/login-action@v3
39
- with:
40
- registry: ghcr.io
41
- username: ${{ github.repository_owner }}
42
- password: ${{ secrets.GITHUB_TOKEN }}
43
-
44
- - name: Build and push
45
- uses: docker/build-push-action@v6
46
- with:
47
- context: .
48
- file: ${{ matrix.dockerfile }}
49
- platforms: linux/amd64,linux/arm64
50
- push: true
51
- tags: |
52
- schemathesis/schemathesis:${{ matrix.tag }}
53
- ghcr.io/schemathesis/schemathesis:${{ matrix.tag }}