schemathesis 3.27.0__tar.gz → 3.27.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/build.yml +4 -4
  2. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/codeql-analysis.yml +4 -4
  3. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/codspeed.yml +1 -1
  4. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/commit.yml +1 -1
  5. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/example-build.yml +1 -1
  6. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/master_update.yml +1 -1
  7. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/release.yml +2 -2
  8. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/test-corpus.yml +1 -1
  9. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/test-hypothesis.yml +1 -1
  10. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/update-corpus.yml +1 -1
  11. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/update-pre-commit.yml +1 -1
  12. {schemathesis-3.27.0 → schemathesis-3.27.1}/.pre-commit-config.yaml +3 -3
  13. {schemathesis-3.27.0 → schemathesis-3.27.1}/PKG-INFO +2 -3
  14. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/changelog.rst +17 -1
  15. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/extending.rst +45 -0
  16. {schemathesis-3.27.0 → schemathesis-3.27.1}/pyproject.toml +2 -3
  17. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/__init__.py +1 -1
  18. schemathesis-3.27.1/src/schemathesis/cli/__main__.py +4 -0
  19. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/generation/__init__.py +14 -2
  20. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/core.py +1 -4
  21. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/_hypothesis.py +16 -5
  22. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/__init__.py +4 -3
  23. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/__init__.py +0 -1
  24. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_commands.py +6 -0
  25. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/conftest.py +7 -4
  26. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_hypothesis.py +26 -1
  27. {schemathesis-3.27.0 → schemathesis-3.27.1}/tox.ini +1 -1
  28. {schemathesis-3.27.0 → schemathesis-3.27.1}/.dockerignore +0 -0
  29. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/FUNDING.yml +0 -0
  30. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  31. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  32. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  33. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/dependabot.yml +0 -0
  34. {schemathesis-3.27.0 → schemathesis-3.27.1}/.github/workflows/example-no-build.yml +0 -0
  35. {schemathesis-3.27.0 → schemathesis-3.27.1}/.gitignore +0 -0
  36. {schemathesis-3.27.0 → schemathesis-3.27.1}/.gitmodules +0 -0
  37. {schemathesis-3.27.0 → schemathesis-3.27.1}/.readthedocs.yml +0 -0
  38. {schemathesis-3.27.0 → schemathesis-3.27.1}/.relint.yml +0 -0
  39. {schemathesis-3.27.0 → schemathesis-3.27.1}/.rstcheck.cfg +0 -0
  40. {schemathesis-3.27.0 → schemathesis-3.27.1}/.yamllint +0 -0
  41. {schemathesis-3.27.0 → schemathesis-3.27.1}/CITATION.cff +0 -0
  42. {schemathesis-3.27.0 → schemathesis-3.27.1}/CODE_OF_CONDUCT.md +0 -0
  43. {schemathesis-3.27.0 → schemathesis-3.27.1}/CONTRIBUTING.rst +0 -0
  44. {schemathesis-3.27.0 → schemathesis-3.27.1}/Dockerfile +0 -0
  45. {schemathesis-3.27.0 → schemathesis-3.27.1}/Dockerfile.bookworm +0 -0
  46. {schemathesis-3.27.0 → schemathesis-3.27.1}/LICENSE +0 -0
  47. {schemathesis-3.27.0 → schemathesis-3.27.1}/README.md +0 -0
  48. {schemathesis-3.27.0 → schemathesis-3.27.1}/benches/cli.py +0 -0
  49. {schemathesis-3.27.0 → schemathesis-3.27.1}/benches/references.py +0 -0
  50. {schemathesis-3.27.0 → schemathesis-3.27.1}/changelog.py +0 -0
  51. {schemathesis-3.27.0 → schemathesis-3.27.1}/codecov.yml +0 -0
  52. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/Makefile +0 -0
  53. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/additional-content.rst +0 -0
  54. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/api.rst +0 -0
  55. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/auth.rst +0 -0
  56. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/cli.rst +0 -0
  57. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/compatibility.rst +0 -0
  58. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/conf.py +0 -0
  59. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/continuous_integration.rst +0 -0
  60. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/contrib.rst +0 -0
  61. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/data-generation.rst +0 -0
  62. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/examples.rst +0 -0
  63. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/experimental.rst +0 -0
  64. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/faq.rst +0 -0
  65. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/getting-started.rst +0 -0
  66. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/graphql.rst +0 -0
  67. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/index.rst +0 -0
  68. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/python.rst +0 -0
  69. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/recipes.rst +0 -0
  70. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/requirements.txt +0 -0
  71. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/sanitizing.rst +0 -0
  72. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/service.rst +0 -0
  73. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/stateful.rst +0 -0
  74. {schemathesis-3.27.0 → schemathesis-3.27.1}/docs/targeted.rst +0 -0
  75. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/Dockerfile +0 -0
  76. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/README.md +0 -0
  77. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/app.py +0 -0
  78. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/compose.yml +0 -0
  79. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/openapi.json +0 -0
  80. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-app.in +0 -0
  81. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-app.txt +0 -0
  82. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-pytest.in +0 -0
  83. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/requirements-pytest.txt +0 -0
  84. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/__init__.py +0 -0
  85. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/conftest.py +0 -0
  86. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/extensions.py +0 -0
  87. {schemathesis-3.27.0 → schemathesis-3.27.1}/example/tests/test_app.py +0 -0
  88. {schemathesis-3.27.0 → schemathesis-3.27.1}/img/demo.gif +0 -0
  89. {schemathesis-3.27.0 → schemathesis-3.27.1}/img/service_github_report.png +0 -0
  90. {schemathesis-3.27.0 → schemathesis-3.27.1}/mypy.ini +0 -0
  91. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_compat.py +0 -0
  92. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_dependency_versions.py +0 -0
  93. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_hypothesis.py +0 -0
  94. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_lazy_import.py +0 -0
  95. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_override.py +0 -0
  96. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_rate_limiter.py +0 -0
  97. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/_xml.py +0 -0
  98. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/auths.py +0 -0
  99. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/checks.py +0 -0
  100. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/__init__.py +0 -0
  101. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/callbacks.py +0 -0
  102. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/cassettes.py +0 -0
  103. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/constants.py +0 -0
  104. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/context.py +0 -0
  105. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/debug.py +0 -0
  106. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/handlers.py +0 -0
  107. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/junitxml.py +0 -0
  108. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/options.py +0 -0
  109. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/output/__init__.py +0 -0
  110. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/output/default.py +0 -0
  111. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/output/short.py +0 -0
  112. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/reporting.py +0 -0
  113. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/cli/sanitization.py +0 -0
  114. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/code_samples.py +0 -0
  115. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/constants.py +0 -0
  116. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/__init__.py +0 -0
  117. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  118. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  119. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  120. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  121. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/contrib/unique_data.py +0 -0
  122. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/exceptions.py +0 -0
  123. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/experimental/__init__.py +0 -0
  124. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/__init__.py +0 -0
  125. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/_aiohttp.py +0 -0
  126. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/_flask.py +0 -0
  127. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/_server.py +0 -0
  128. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/extra/pytest_plugin.py +0 -0
  129. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/failures.py +0 -0
  130. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/filters.py +0 -0
  131. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/fixups/__init__.py +0 -0
  132. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/fixups/fast_api.py +0 -0
  133. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
  134. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/graphql.py +0 -0
  135. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/hooks.py +0 -0
  136. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/__init__.py +0 -0
  137. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/copy.py +0 -0
  138. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/datetime.py +0 -0
  139. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/deprecation.py +0 -0
  140. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/jsonschema.py +0 -0
  141. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/result.py +0 -0
  142. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/transformation.py +0 -0
  143. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/internal/validation.py +0 -0
  144. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/lazy.py +0 -0
  145. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/loaders.py +0 -0
  146. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/models.py +0 -0
  147. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/parameters.py +0 -0
  148. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/py.typed +0 -0
  149. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/__init__.py +0 -0
  150. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/events.py +0 -0
  151. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/__init__.py +0 -0
  152. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/solo.py +0 -0
  153. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/impl/threadpool.py +0 -0
  154. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/probes.py +0 -0
  155. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/runner/serialization.py +0 -0
  156. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/sanitization.py +0 -0
  157. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/schemas.py +0 -0
  158. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/serializers.py +0 -0
  159. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/__init__.py +0 -0
  160. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/auth.py +0 -0
  161. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/ci.py +0 -0
  162. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/client.py +0 -0
  163. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/constants.py +0 -0
  164. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/events.py +0 -0
  165. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/extensions.py +0 -0
  166. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/hosts.py +0 -0
  167. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/metadata.py +0 -0
  168. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/models.py +0 -0
  169. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/report.py +0 -0
  170. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/serialization.py +0 -0
  171. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/service/usage.py +0 -0
  172. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/__init__.py +0 -0
  173. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
  174. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/loaders.py +0 -0
  175. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/nodes.py +0 -0
  176. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/scalars.py +0 -0
  177. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/schemas.py +0 -0
  178. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/graphql/validation.py +0 -0
  179. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
  180. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/checks.py +0 -0
  181. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/constants.py +0 -0
  182. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/converter.py +0 -0
  183. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/definitions.py +0 -0
  184. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/examples.py +0 -0
  185. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  186. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  187. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  188. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  189. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  190. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  191. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/filters.py +0 -0
  192. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/formats.py +0 -0
  193. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/links.py +0 -0
  194. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/loaders.py +0 -0
  195. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/media_types.py +0 -0
  196. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  197. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/mutations.py +0 -0
  198. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  199. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  200. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/parameters.py +0 -0
  201. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/references.py +0 -0
  202. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/schemas.py +0 -0
  203. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/security.py +0 -0
  204. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/serialization.py +0 -0
  205. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  206. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
  207. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/utils.py +0 -0
  208. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/specs/openapi/validation.py +0 -0
  209. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/stateful/__init__.py +0 -0
  210. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/stateful/state_machine.py +0 -0
  211. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/targets.py +0 -0
  212. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/throttling.py +0 -0
  213. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/auth.py +0 -0
  214. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/content_types.py +0 -0
  215. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/headers.py +0 -0
  216. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/transports/responses.py +0 -0
  217. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/types.py +0 -0
  218. {schemathesis-3.27.0 → schemathesis-3.27.1}/src/schemathesis/utils.py +0 -0
  219. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__init__.py +0 -0
  220. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  221. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  222. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  223. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  224. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/__init__.py +0 -0
  225. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  226. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_fastapi/app.py +0 -0
  227. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_flask/__init__.py +0 -0
  228. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/_flask/app.py +0 -0
  229. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/_graphql/schema.py +0 -0
  230. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/__init__.py +0 -0
  231. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  232. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_aiohttp/app.py +0 -0
  233. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  234. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
  235. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_fastapi/app.py +0 -0
  236. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_flask/__init__.py +0 -0
  237. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/_flask/app.py +0 -0
  238. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/apps/openapi/schema.py +0 -0
  239. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__init__.py +0 -0
  240. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  241. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  242. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  243. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  244. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  245. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  246. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  247. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/conftest.py +0 -0
  248. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/test_cli.py +0 -0
  249. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/test_provider.py +0 -0
  250. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/auth/test_pytest.py +0 -0
  251. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__init__.py +0 -0
  252. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  253. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  254. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  255. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  256. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  257. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  258. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  259. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  260. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  261. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  262. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  263. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  264. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  265. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  266. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  267. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  268. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  269. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  270. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  271. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  272. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  273. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  274. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  275. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  276. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  277. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  278. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  279. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  280. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  281. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  282. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  283. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  284. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  285. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  286. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  287. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  288. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  289. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  290. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  291. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  292. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  293. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  294. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  295. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  296. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  297. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  298. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  299. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  300. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  301. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  302. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  303. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  304. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  305. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  306. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  307. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  308. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  309. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  310. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  311. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2-The provided definition doesn't match any of the expected formats or types.].raw +0 -0
  312. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw +0 -0
  313. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  314. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  315. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  316. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  317. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  318. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  319. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  320. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  321. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  322. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  323. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  324. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  325. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  326. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  327. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  328. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  329. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  330. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  331. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  332. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  333. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  334. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  335. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  336. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  337. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  338. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  339. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  340. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  341. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  342. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  343. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  344. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1-.....].raw +0 -0
  345. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5-......].raw +0 -0
  346. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1-.....].raw +0 -0
  347. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5-......].raw +0 -0
  348. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1-.....].raw +0 -0
  349. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5-......].raw +0 -0
  350. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1-.....].raw +0 -0
  351. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5-......].raw +0 -0
  352. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  353. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  354. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  355. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  356. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  357. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  358. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  359. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  360. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  361. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  362. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  363. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  364. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  365. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  366. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  367. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  368. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  369. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  370. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  371. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  372. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  373. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  374. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  375. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  376. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  377. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  378. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  379. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  380. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  381. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  382. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  383. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  384. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  385. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  386. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  387. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  388. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  389. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  390. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  391. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  392. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  393. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  394. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  395. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  396. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  397. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  398. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  399. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  400. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  401. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  402. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  403. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  404. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  405. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  406. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  407. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  408. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  409. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  410. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  411. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  412. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  413. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  414. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  415. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  416. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  417. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  418. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  419. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  420. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  421. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  422. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  423. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  424. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  425. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -0
  426. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  427. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  428. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  429. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  430. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/cert.pem +0 -0
  431. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/conftest.py +0 -0
  432. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/output/__init__.py +0 -0
  433. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/output/test_default.py +0 -0
  434. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_asgi.py +0 -0
  435. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_callbacks.py +0 -0
  436. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_cassettes.py +0 -0
  437. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_checks.py +0 -0
  438. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_crashes.py +0 -0
  439. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_hooks.py +0 -0
  440. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_junitxml.py +0 -0
  441. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_options.py +0 -0
  442. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/cli/test_targeted.py +0 -0
  443. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  444. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  445. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/conftest.py +0 -0
  446. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/test_curl.py +0 -0
  447. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/code_samples/test_python.py +0 -0
  448. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -0
  449. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -0
  450. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -0
  451. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -0
  452. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -0
  453. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -0
  454. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  455. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
  456. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  457. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/test_install.py +0 -0
  458. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/contrib/test_unique_data.py +0 -0
  459. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/petstore_v2.yaml +0 -0
  460. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/petstore_v3.yaml +0 -0
  461. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/simple_openapi.yaml +0 -0
  462. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/data/simple_swagger.yaml +0 -0
  463. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  464. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/conftest.py +0 -0
  465. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/test_experiments.py +0 -0
  466. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/experimental/test_openapi_3_1.py +0 -0
  467. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/extra/__init__.py +0 -0
  468. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/extra/test_aiohttp.py +0 -0
  469. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/filters/test_matching.py +0 -0
  470. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/hooks/test_filter_operations.py +0 -0
  471. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/hooks/test_hooks.py +0 -0
  472. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/conftest.py +0 -0
  473. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_app.py +0 -0
  474. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_common.py +0 -0
  475. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_graphql.py +0 -0
  476. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_openapi.py +0 -0
  477. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/loaders/test_yaml.py +0 -0
  478. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_checks.py +0 -0
  479. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_events.py +0 -0
  480. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_probes.py +0 -0
  481. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/runner/test_runner.py +0 -0
  482. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__init__.py +0 -0
  483. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  484. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  485. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  486. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  487. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  488. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  489. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  490. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  491. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  492. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  493. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  494. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  495. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  496. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  497. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  498. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  499. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  500. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  501. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  502. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  503. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  504. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  505. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  506. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  507. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  508. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  509. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/conftest.py +0 -0
  510. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_auth.py +0 -0
  511. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_ci.py +0 -0
  512. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_cli.py +0 -0
  513. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_extensions.py +0 -0
  514. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_report.py +0 -0
  515. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_serialization.py +0 -0
  516. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/service/test_usage.py +0 -0
  517. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  518. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  519. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  520. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  521. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/test_basic.py +0 -0
  522. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/test_custom_scalars.py +0 -0
  523. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/graphql/test_pytest.py +0 -0
  524. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  525. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  526. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/blank.pdf +0 -0
  527. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/conftest.py +0 -0
  528. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/parameters/test_forms.py +0 -0
  529. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  530. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  531. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_examples.py +0 -0
  532. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_expressions.py +0 -0
  533. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_links.py +0 -0
  534. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_media_types.py +0 -0
  535. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_negative.py +0 -0
  536. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_parameters.py +0 -0
  537. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_schemas.py +0 -0
  538. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_security.py +0 -0
  539. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_serializing.py +0 -0
  540. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_stateful.py +0 -0
  541. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_utils.py +0 -0
  542. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/specs/openapi/test_validation.py +0 -0
  543. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_app.py +0 -0
  544. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_asgi.py +0 -0
  545. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_async.py +0 -0
  546. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_common_parameters.py +0 -0
  547. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_converter.py +0 -0
  548. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_dereferencing.py +0 -0
  549. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_direct_access.py +0 -0
  550. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_errors.py +0 -0
  551. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_examples.py +0 -0
  552. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_filters.py +0 -0
  553. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_fixups.py +0 -0
  554. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_hypothesis.py +0 -0
  555. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_internal.py +0 -0
  556. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_lazy.py +0 -0
  557. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_models.py +0 -0
  558. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_package.py +0 -0
  559. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_parameters.py +0 -0
  560. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_parametrization.py +0 -0
  561. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_petstore.py +0 -0
  562. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_pytest.py +0 -0
  563. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_rate_limit.py +0 -0
  564. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_recoverable_errors.py +0 -0
  565. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_required.py +0 -0
  566. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_sanitizing_output.py +0 -0
  567. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_schemas.py +0 -0
  568. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_serialization.py +0 -0
  569. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_stateful.py +0 -0
  570. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_unittest.py +0 -0
  571. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_utils.py +0 -0
  572. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/test_wsgi.py +0 -0
  573. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/transports/test_content_types.py +0 -0
  574. {schemathesis-3.27.0 → schemathesis-3.27.1}/test/utils.py +0 -0
  575. {schemathesis-3.27.0 → schemathesis-3.27.1}/test-corpus/test_corpus.py +0 -0
  576. {schemathesis-3.27.0 → schemathesis-3.27.1}/test_server.sh +0 -0
@@ -26,7 +26,7 @@ jobs:
26
26
  name: Generic pre-commit checks
27
27
  runs-on: ubuntu-22.04
28
28
  steps:
29
- - uses: actions/checkout@v4.1.2
29
+ - uses: actions/checkout@v4.1.4
30
30
  with:
31
31
  fetch-depth: 1
32
32
 
@@ -41,7 +41,7 @@ jobs:
41
41
  name: Documentation
42
42
  runs-on: ubuntu-22.04
43
43
  steps:
44
- - uses: actions/checkout@v4.1.2
44
+ - uses: actions/checkout@v4.1.4
45
45
  with:
46
46
  fetch-depth: 1
47
47
  - uses: ammaraskar/sphinx-action@master
@@ -66,7 +66,7 @@ jobs:
66
66
  name: Tests (Python ${{ matrix.python }} on ${{ matrix.os }} ${{ matrix.tox_env }})
67
67
  runs-on: ${{ matrix.os }}
68
68
  steps:
69
- - uses: actions/checkout@v4.1.2
69
+ - uses: actions/checkout@v4.1.4
70
70
  with:
71
71
  fetch-depth: 1
72
72
 
@@ -83,6 +83,6 @@ jobs:
83
83
  run: python -m tox
84
84
 
85
85
  - name: Upload coverage to Codecov
86
- uses: codecov/codecov-action@v4.2.0
86
+ uses: codecov/codecov-action@v4.3.0
87
87
  with:
88
88
  token: ${{ secrets.CODECOV_TOKEN }}
@@ -30,7 +30,7 @@ jobs:
30
30
 
31
31
  steps:
32
32
  - name: Checkout repository
33
- uses: actions/checkout@v4.1.2
33
+ uses: actions/checkout@v4.1.4
34
34
  with:
35
35
  # We must fetch at least the immediate parents so that if this is
36
36
  # a pull request then we can checkout the head.
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  # Initializes the CodeQL tools for scanning.
40
40
  - name: Initialize CodeQL
41
- uses: github/codeql-action/init@v3.24.10
41
+ uses: github/codeql-action/init@v3.25.3
42
42
  with:
43
43
  languages: ${{ matrix.language }}
44
44
  # If you wish to specify custom queries, you can do so here or in a config file.
@@ -49,7 +49,7 @@ jobs:
49
49
  # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
50
50
  # If this step fails, then you should remove it and run the build manually (see below)
51
51
  - name: Autobuild
52
- uses: github/codeql-action/autobuild@v3.24.10
52
+ uses: github/codeql-action/autobuild@v3.25.3
53
53
 
54
54
  # ℹ️ Command-line programs to run using the OS shell.
55
55
  # 📚 https://git.io/JvXDl
@@ -63,4 +63,4 @@ jobs:
63
63
  # make release
64
64
 
65
65
  - name: Perform CodeQL Analysis
66
- uses: github/codeql-action/analyze@v3.24.10
66
+ uses: github/codeql-action/analyze@v3.25.3
@@ -11,7 +11,7 @@ jobs:
11
11
  benchmarks:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@v4.1.2
14
+ - uses: actions/checkout@v4.1.4
15
15
  - uses: actions/setup-python@v5
16
16
  with:
17
17
  # Python 3.12 for flamegraph support
@@ -12,7 +12,7 @@ jobs:
12
12
  runs-on: ubuntu-22.04
13
13
  steps:
14
14
  - name: Check out code
15
- uses: actions/checkout@v4.1.2
15
+ uses: actions/checkout@v4.1.4
16
16
  with:
17
17
  fetch-depth: 0
18
18
  - name: Run commitsar
@@ -16,7 +16,7 @@ jobs:
16
16
  runs-on: ubuntu-22.04
17
17
 
18
18
  steps:
19
- - uses: actions/checkout@v4.1.2
19
+ - uses: actions/checkout@v4.1.4
20
20
 
21
21
  - name: Start containers
22
22
  run: docker compose up -d --build
@@ -20,7 +20,7 @@ jobs:
20
20
  tag: "latest-bookworm"
21
21
 
22
22
  steps:
23
- - uses: actions/checkout@v4.1.2
23
+ - uses: actions/checkout@v4.1.4
24
24
 
25
25
  - name: Set up QEMU
26
26
  uses: docker/setup-qemu-action@v3
@@ -19,7 +19,7 @@ jobs:
19
19
  tag-suffix: "-bookworm"
20
20
 
21
21
  steps:
22
- - uses: actions/checkout@v4.1.2
22
+ - uses: actions/checkout@v4.1.4
23
23
 
24
24
  - name: Docker meta
25
25
  id: meta
@@ -68,7 +68,7 @@ jobs:
68
68
  name: Build and publish package to pypi.org
69
69
  runs-on: ubuntu-22.04
70
70
  steps:
71
- - uses: actions/checkout@v4.1.2
71
+ - uses: actions/checkout@v4.1.4
72
72
  with:
73
73
  fetch-depth: 1
74
74
 
@@ -15,7 +15,7 @@ jobs:
15
15
  name: Corpus tests
16
16
  runs-on: ubuntu-22.04
17
17
  steps:
18
- - uses: actions/checkout@v4.1.2
18
+ - uses: actions/checkout@v4.1.4
19
19
  with:
20
20
  fetch-depth: 1
21
21
  submodules: true
@@ -11,7 +11,7 @@ jobs:
11
11
  name: Hypothesis tests with CI profile
12
12
  runs-on: ubuntu-22.04
13
13
  steps:
14
- - uses: actions/checkout@v4.1.2
14
+ - uses: actions/checkout@v4.1.4
15
15
  with:
16
16
  fetch-depth: 1
17
17
 
@@ -10,7 +10,7 @@ jobs:
10
10
  name: Update test corpus
11
11
  runs-on: ubuntu-22.04
12
12
  steps:
13
- - uses: actions/checkout@v4.1.2
13
+ - uses: actions/checkout@v4.1.4
14
14
  with:
15
15
  fetch-depth: 1
16
16
  submodules: true
@@ -10,7 +10,7 @@ jobs:
10
10
  name: Update pre-commit
11
11
  runs-on: ubuntu-22.04
12
12
  steps:
13
- - uses: actions/checkout@v4.1.2
13
+ - uses: actions/checkout@v4.1.4
14
14
  with:
15
15
  fetch-depth: 1
16
16
  submodules: true
@@ -30,7 +30,7 @@ repos:
30
30
  - id: relint
31
31
 
32
32
  - repo: https://github.com/pre-commit/mirrors-mypy
33
- rev: v1.9.0
33
+ rev: v1.10.0
34
34
  hooks:
35
35
  - id: mypy
36
36
  exclude: ^(docs/|test/|test-corpus/|example/|benches/).*$
@@ -38,12 +38,12 @@ repos:
38
38
  additional_dependencies: [types-click, types-requests, types-PyYAML]
39
39
 
40
40
  - repo: https://github.com/astral-sh/ruff-pre-commit
41
- rev: v0.3.7
41
+ rev: v0.4.2
42
42
  hooks:
43
43
  - id: ruff-format
44
44
 
45
45
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
- rev: v0.3.7
46
+ rev: v0.4.2
47
47
  hooks:
48
48
  - id: ruff
49
49
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: schemathesis
3
- Version: 3.27.0
3
+ Version: 3.27.1
4
4
  Summary: Property-based testing framework for Open API and GraphQL based apps
5
5
  Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
6
6
  Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
@@ -28,7 +28,6 @@ Classifier: Programming Language :: Python :: 3.12
28
28
  Classifier: Programming Language :: Python :: Implementation :: CPython
29
29
  Classifier: Topic :: Software Development :: Testing
30
30
  Requires-Python: >=3.8
31
- Requires-Dist: anyio<4
32
31
  Requires-Dist: backoff<3.0,>=2.1.2
33
32
  Requires-Dist: click<9.0,>=7.0
34
33
  Requires-Dist: colorama<1.0,>=0.4
@@ -44,7 +43,7 @@ Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
44
43
  Requires-Dist: pytest<9,>=4.6.4
45
44
  Requires-Dist: pyyaml<7.0,>=5.1
46
45
  Requires-Dist: requests<3,>=2.22
47
- Requires-Dist: starlette-testclient<1
46
+ Requires-Dist: starlette-testclient<1,>=0.4.1
48
47
  Requires-Dist: starlette<1,>=0.13
49
48
  Requires-Dist: tomli-w<2.0,>=1.0.0
50
49
  Requires-Dist: tomli<3.0,>=2.0.1
@@ -1,9 +1,25 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.27.0...HEAD>` - TBD
4
+ :version:`Unreleased <v3.27.1...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.27.1:
8
+
9
+ :version:`3.27.1 <v3.27.0...v3.27.1>` - 2024-04-29
10
+ --------------------------------------------------
11
+
12
+ **Added**
13
+
14
+ - ``GenerationConfig.headers.strategy`` attribute for customizing header generation. :issue:`2137`
15
+ - Support for ``python -m schemathesis.cli``. :issue:`2142`
16
+ - Support for ``anyio>=4.0``. :issue:`2081`
17
+
18
+ **Fixed**
19
+
20
+ - Supporting non-Starlette ASGI apps. :issue:`2136`
21
+ - Missing version metadata in ASGI client causing errors with ASGI3-only apps. :issue:`2136`
22
+
7
23
  .. _v3.27.0:
8
24
 
9
25
  :version:`3.27.0 <v3.26.2...v3.27.0>` - 2024-04-14
@@ -651,6 +651,51 @@ In the example above, when Schemathesis detects a string with the "card_number"
651
651
 
652
652
  For more details about creating strategies, refer to the `Hypothesis documentation <https://hypothesis.readthedocs.io/en/latest/data.html>`_.
653
653
 
654
+ Adjusting header generation
655
+ ---------------------------
656
+
657
+ By default, Schemathesis generates headers based on the schema definition falling back to the set of characters defined in `RFC 7230 <https://datatracker.ietf.org/doc/html/rfc7230#section-3.2>`_, but you can adjust this behavior to suit your needs.
658
+
659
+ To customize header generation, you can extend the ``GenerationConfig`` class and modify its ``headers`` attribute.
660
+ The ``headers`` attribute accepts a ``HeaderConfig`` object, which allows you to specify a custom Hypothesis strategy for generating header values.
661
+
662
+ Here's an example of how you can adjust header generation:
663
+
664
+ .. code-block:: python
665
+
666
+ import schemathesis
667
+ from schemathesis import GenerationConfig, HeaderConfig
668
+ from hypothesis import strategies as st
669
+
670
+ schema = schemathesis.from_uri(
671
+ "https://example.schemathesis.io/openapi.json",
672
+ generation_config=GenerationConfig(
673
+ headers=HeaderConfig(
674
+ strategy=st.text(
675
+ alphabet=st.characters(
676
+ min_codepoint=1,
677
+ max_codepoint=127,
678
+ ).map(str.strip)
679
+ )
680
+ )
681
+ ),
682
+ )
683
+
684
+ In the code above, we use the ``st.text`` strategy from Hypothesis to restrict the characters used in the generated headers to codepoints 1 to 127.
685
+
686
+ Alternatively, you can customize header generation using the ``after_load_schema`` hook:
687
+
688
+ .. code-block:: python
689
+
690
+ import schemathesis
691
+ from hypothesis import strategies as st
692
+
693
+ @schemathesis.hook
694
+ def after_load_schema(context, schema) -> None:
695
+ schema.generation_config.headers.strategy = st.text(
696
+ alphabet=st.characters(min_codepoint=1, max_codepoint=127)
697
+ )
698
+
654
699
  Generating payloads for unknown media types
655
700
  -------------------------------------------
656
701
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.27.0"
7
+ version = "3.27.1"
8
8
  description = "Property-based testing framework for Open API and GraphQL based apps"
9
9
  keywords = ["pytest", "hypothesis", "openapi", "graphql", "testing"]
10
10
  authors = [{ name = "Dmitry Dygalo", email = "dmitry@dygalo.dev" }]
@@ -31,7 +31,6 @@ classifiers = [
31
31
  "Topic :: Software Development :: Testing",
32
32
  ]
33
33
  dependencies = [
34
- "anyio<4",
35
34
  "backoff>=2.1.2,<3.0",
36
35
  "click>=7.0,<9.0",
37
36
  "colorama>=0.4,<1.0",
@@ -48,7 +47,7 @@ dependencies = [
48
47
  "PyYAML>=5.1,<7.0",
49
48
  "requests>=2.22,<3",
50
49
  "starlette>=0.13,<1",
51
- "starlette-testclient<1",
50
+ "starlette-testclient>=0.4.1,<1",
52
51
  "tomli-w>=1.0.0,<2.0",
53
52
  "tomli>=2.0.1,<3.0",
54
53
  "werkzeug>=0.16.0,<4",
@@ -3,7 +3,7 @@ from typing import Any
3
3
 
4
4
  from . import auths, checks, experimental, contrib, fixups, graphql, hooks, runner, serializers, targets # noqa: E402
5
5
  from ._lazy_import import lazy_import
6
- from .generation import DataGenerationMethod, GenerationConfig # noqa: E402
6
+ from .generation import DataGenerationMethod, GenerationConfig, HeaderConfig # noqa: E402
7
7
  from .constants import SCHEMATHESIS_VERSION # noqa: E402
8
8
  from .models import Case # noqa: E402
9
9
  from .specs import openapi # noqa: E402
@@ -0,0 +1,4 @@
1
+ if __name__ == "__main__":
2
+ import schemathesis.cli
3
+
4
+ schemathesis.cli.schemathesis()
@@ -1,8 +1,11 @@
1
1
  from __future__ import annotations
2
2
  import random
3
- from dataclasses import dataclass
3
+ from dataclasses import dataclass, field
4
4
  from enum import Enum
5
- from typing import Union, Iterable
5
+ from typing import Union, Iterable, TYPE_CHECKING
6
+
7
+ if TYPE_CHECKING:
8
+ from hypothesis.strategies import SearchStrategy
6
9
 
7
10
 
8
11
  class DataGenerationMethod(str, Enum):
@@ -58,6 +61,13 @@ def generate_random_case_id(length: int = 6) -> str:
58
61
  return output
59
62
 
60
63
 
64
+ @dataclass
65
+ class HeaderConfig:
66
+ """Configuration for generating headers."""
67
+
68
+ strategy: SearchStrategy[str] | None = None
69
+
70
+
61
71
  @dataclass
62
72
  class GenerationConfig:
63
73
  """Holds various configuration options relevant for data generation."""
@@ -66,3 +76,5 @@ class GenerationConfig:
66
76
  allow_x00: bool = True
67
77
  # Generate strings using the given codec
68
78
  codec: str | None = "utf-8"
79
+ # Header generation configuration
80
+ headers: HeaderConfig = field(default_factory=HeaderConfig)
@@ -299,10 +299,7 @@ def run_probes(schema: BaseSchema, config: probes.ProbeConfig) -> list[probes.Pr
299
299
  if isinstance(result.probe, probes.NullByteInHeader) and result.is_failure:
300
300
  from ...specs.openapi._hypothesis import HEADER_FORMAT, header_values
301
301
 
302
- formats.register(
303
- HEADER_FORMAT,
304
- header_values(blacklist_characters="\n\r\x00").map(str.lstrip),
305
- )
302
+ formats.register(HEADER_FORMAT, header_values(blacklist_characters="\n\r\x00"))
306
303
  return results
307
304
 
308
305
 
@@ -45,7 +45,8 @@ StrategyFactory = Callable[[Dict[str, Any], str, str, Optional[str], GenerationC
45
45
  def header_values(blacklist_characters: str = "\n\r") -> st.SearchStrategy[str]:
46
46
  return st.text(
47
47
  alphabet=st.characters(min_codepoint=0, max_codepoint=255, blacklist_characters=blacklist_characters)
48
- )
48
+ # Header values with leading non-visible chars can't be sent with `requests`
49
+ ).map(str.lstrip)
49
50
 
50
51
 
51
52
  @lru_cache
@@ -67,8 +68,7 @@ def get_default_format_strategies() -> dict[str, st.SearchStrategy]:
67
68
  "_header_name": st.text(
68
69
  min_size=1, alphabet=st.sampled_from("!#$%&'*+-.^_`|~" + string.digits + string.ascii_letters)
69
70
  ),
70
- # Header values with leading non-visible chars can't be sent with `requests`
71
- HEADER_FORMAT: header_value.map(str.lstrip),
71
+ HEADER_FORMAT: header_value,
72
72
  "_basic_auth": st.tuples(latin1_text, latin1_text).map(make_basic_auth_str),
73
73
  "_bearer_auth": header_value.map("Bearer {}".format),
74
74
  }
@@ -425,6 +425,15 @@ def jsonify_python_specific_types(value: dict[str, Any]) -> dict[str, Any]:
425
425
  return value
426
426
 
427
427
 
428
+ def _build_custom_formats(
429
+ custom_formats: dict[str, st.SearchStrategy] | None, generation_config: GenerationConfig
430
+ ) -> dict[str, st.SearchStrategy]:
431
+ custom_formats = {**get_default_format_strategies(), **STRING_FORMATS, **(custom_formats or {})}
432
+ if generation_config.headers.strategy is not None:
433
+ custom_formats[HEADER_FORMAT] = generation_config.headers.strategy
434
+ return custom_formats
435
+
436
+
428
437
  def make_positive_strategy(
429
438
  schema: dict[str, Any],
430
439
  operation_name: str,
@@ -441,9 +450,10 @@ def make_positive_strategy(
441
450
  for sub_schema in schema.get("properties", {}).values():
442
451
  if list(sub_schema) == ["type"] and sub_schema["type"] == "string":
443
452
  sub_schema.setdefault("format", HEADER_FORMAT)
453
+ custom_formats = _build_custom_formats(custom_formats, generation_config)
444
454
  return from_schema(
445
455
  schema,
446
- custom_formats={**get_default_format_strategies(), **STRING_FORMATS, **(custom_formats or {})},
456
+ custom_formats=custom_formats,
447
457
  allow_x00=generation_config.allow_x00,
448
458
  codec=generation_config.codec,
449
459
  )
@@ -462,12 +472,13 @@ def make_negative_strategy(
462
472
  generation_config: GenerationConfig,
463
473
  custom_formats: dict[str, st.SearchStrategy] | None = None,
464
474
  ) -> st.SearchStrategy:
475
+ custom_formats = _build_custom_formats(custom_formats, generation_config)
465
476
  return negative_schema(
466
477
  schema,
467
478
  operation_name=operation_name,
468
479
  location=location,
469
480
  media_type=media_type,
470
- custom_formats={**get_default_format_strategies(), **STRING_FORMATS, **(custom_formats or {})},
481
+ custom_formats=custom_formats,
471
482
  generation_config=generation_config,
472
483
  )
473
484
 
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import base64
4
4
  import time
5
+ from inspect import iscoroutinefunction
5
6
  from contextlib import contextmanager
6
7
  from dataclasses import dataclass
7
8
  from datetime import timedelta
@@ -31,11 +32,11 @@ def serialize_payload(payload: bytes) -> str:
31
32
 
32
33
  def get(app: Any) -> Transport:
33
34
  """Get transport to send the data to the application."""
34
- from starlette.applications import Starlette
35
-
36
35
  if app is None:
37
36
  return RequestsTransport()
38
- if isinstance(app, Starlette):
37
+ if iscoroutinefunction(app) or (
38
+ hasattr(app, "__call__") and iscoroutinefunction(app.__call__) # noqa: B004
39
+ ):
39
40
  return ASGITransport(app=app)
40
41
  return WSGITransport(app=app)
41
42
 
@@ -62,5 +62,4 @@ def run_app(port: int, operations: list[openapi.schema.Operation], spec: str, fr
62
62
 
63
63
 
64
64
  if __name__ == "__main__":
65
- logging.basicConfig(level=logging.DEBUG)
66
65
  run_app()
@@ -65,6 +65,12 @@ def test_run_subprocess(testdir):
65
65
  assert result.ret == ExitCode.OK
66
66
 
67
67
 
68
+ @pytest.mark.skipif(platform.system() == "Windows", reason="Requires extra setup on Windows")
69
+ def test_run_as_module(testdir):
70
+ result = testdir.run("python", "-m", "schemathesis.cli")
71
+ assert result.ret == ExitCode.OK
72
+
73
+
68
74
  @pytest.mark.parametrize(
69
75
  "args",
70
76
  (
@@ -1,12 +1,15 @@
1
1
  from __future__ import annotations
2
+
2
3
  import io
3
- import platform
4
4
  import json
5
+ import logging
5
6
  import os
7
+ import platform
6
8
  import re
7
9
  import shlex
8
10
  from contextlib import contextmanager
9
11
  from dataclasses import dataclass, field
12
+ from importlib import metadata
10
13
  from pathlib import Path
11
14
  from textwrap import dedent
12
15
  from types import SimpleNamespace
@@ -22,17 +25,16 @@ from hypothesis import settings
22
25
  from packaging import version
23
26
  from syrupy.extensions.single_file import SingleFileSnapshotExtension, WriteMode
24
27
  from syrupy.types import PropertyFilter, PropertyMatcher
25
- from importlib import metadata
26
28
  from urllib3 import HTTPResponse
27
29
 
28
30
  import schemathesis.cli
29
- from schemathesis.cli.output.default import TEST_CASE_ID_TITLE
30
- from schemathesis.models import Case
31
31
  from schemathesis.cli import reset_checks
32
+ from schemathesis.cli.output.default import TEST_CASE_ID_TITLE
32
33
  from schemathesis.constants import HOOKS_MODULE_ENV_VAR
33
34
  from schemathesis.experimental import GLOBAL_EXPERIMENTS
34
35
  from schemathesis.extra._aiohttp import run_server as run_aiohttp_server
35
36
  from schemathesis.extra._flask import run_server as run_flask_server
37
+ from schemathesis.models import Case
36
38
  from schemathesis.service import HOSTS_PATH_ENV_VAR
37
39
  from schemathesis.specs.openapi import loaders as oas_loaders
38
40
  from schemathesis.specs.openapi import media_types
@@ -45,6 +47,7 @@ from .utils import get_schema_path, make_schema
45
47
 
46
48
  pytest_plugins = ["pytester", "aiohttp.pytest_plugin", "pytest_mock"]
47
49
 
50
+ logging.getLogger("pyrate_limiter").setLevel(logging.CRITICAL)
48
51
 
49
52
  # Register Hypothesis profile. Could be used as
50
53
  # `pytest test -m hypothesis --hypothesis-profile <profile-name>`
@@ -5,7 +5,7 @@ from hypothesis import assume, given, settings, Phase
5
5
  from hypothesis import strategies as st
6
6
 
7
7
  import schemathesis
8
- from schemathesis.generation import GenerationConfig
8
+ from schemathesis.generation import GenerationConfig, HeaderConfig
9
9
  from schemathesis.specs.openapi import _hypothesis, formats
10
10
  from schemathesis.specs.openapi._hypothesis import get_case_strategy, is_valid_header, make_positive_strategy
11
11
  from schemathesis.specs.openapi.references import load_file
@@ -156,6 +156,31 @@ def test_valid_headers(keywords):
156
156
  test()
157
157
 
158
158
 
159
+ def test_configure_headers():
160
+ strategy = make_positive_strategy(
161
+ {
162
+ "type": "object",
163
+ "properties": {"X-Foo": {"type": "string"}},
164
+ "required": ["X-Foo"],
165
+ "additionalProperties": False,
166
+ },
167
+ "GET /users/",
168
+ "header",
169
+ None,
170
+ GenerationConfig(
171
+ headers=HeaderConfig(strategy=st.text(alphabet=st.characters(min_codepoint=65, max_codepoint=67)))
172
+ ),
173
+ )
174
+
175
+ @given(strategy)
176
+ def test(headers):
177
+ # Then headers are always valid
178
+ assert is_valid_header(headers)
179
+ assert set(headers["X-Foo"]) - {"A", "B", "C"} == set()
180
+
181
+ test()
182
+
183
+
159
184
  @pytest.mark.hypothesis_nested
160
185
  def test_no_much_filtering_in_headers():
161
186
  # When headers are generated
@@ -36,7 +36,7 @@ commands_pre =
36
36
 
37
37
  [testenv:pytest6]
38
38
  commands_pre =
39
- pip install "pytest<7" "pytest-subtests<0.7.0" "pytest-asyncio<0.21.0" "syrupy<4"
39
+ pip install "pytest<7" "pytest-asyncio<0.21.0" "pytest-subtests<0.7.0" "pytest-xdist<3.6" "syrupy<4"
40
40
 
41
41
  [testenv:coverage-report]
42
42
  description = Report coverage over all measured test runs.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes