schemathesis 3.35.4__tar.gz → 3.36.0__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 (659) hide show
  1. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/update-pre-commit.yml +1 -1
  2. {schemathesis-3.35.4 → schemathesis-3.36.0}/.pre-commit-config.yaml +2 -2
  3. {schemathesis-3.35.4 → schemathesis-3.36.0}/PKG-INFO +1 -1
  4. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/auth.rst +2 -0
  5. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/changelog.rst +44 -1
  6. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/cli.rst +3 -3
  7. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/contrib.rst +7 -7
  8. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/extending.rst +4 -3
  9. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/faq.rst +8 -0
  10. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/extensions.py +4 -4
  11. {schemathesis-3.35.4 → schemathesis-3.36.0}/pyproject.toml +1 -1
  12. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/__init__.py +5 -5
  13. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_hypothesis.py +12 -6
  14. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_override.py +4 -4
  15. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/auths.py +1 -1
  16. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/checks.py +8 -5
  17. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/__init__.py +23 -26
  18. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/callbacks.py +6 -4
  19. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/cassettes.py +67 -41
  20. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/context.py +7 -6
  21. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/junitxml.py +1 -1
  22. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/options.py +7 -4
  23. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/output/default.py +5 -5
  24. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/reporting.py +4 -2
  25. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/code_samples.py +4 -3
  26. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/unique_data.py +1 -2
  27. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/exceptions.py +4 -3
  28. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/_flask.py +4 -1
  29. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/pytest_plugin.py +6 -3
  30. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/failures.py +2 -1
  31. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/filters.py +2 -2
  32. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/__init__.py +2 -2
  33. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/_hypothesis.py +1 -1
  34. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/coverage.py +53 -12
  35. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/graphql.py +0 -1
  36. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/hooks.py +3 -3
  37. schemathesis-3.36.0/src/schemathesis/internal/checks.py +53 -0
  38. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/lazy.py +10 -7
  39. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/loaders.py +3 -3
  40. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/models.py +59 -23
  41. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/__init__.py +12 -6
  42. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/events.py +1 -1
  43. schemathesis-3.36.0/src/schemathesis/runner/impl/context.py +72 -0
  44. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/core.py +105 -67
  45. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/solo.py +17 -20
  46. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/threadpool.py +65 -72
  47. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/serialization.py +4 -3
  48. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/sanitization.py +2 -1
  49. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/schemas.py +20 -22
  50. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/serializers.py +2 -0
  51. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/client.py +1 -1
  52. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/events.py +4 -1
  53. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/extensions.py +2 -2
  54. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/hosts.py +4 -2
  55. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/models.py +3 -3
  56. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/report.py +3 -3
  57. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/serialization.py +4 -2
  58. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/loaders.py +5 -4
  59. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/schemas.py +13 -8
  60. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/checks.py +76 -27
  61. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/definitions.py +1 -5
  62. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/examples.py +92 -2
  63. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/__init__.py +7 -0
  64. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/extractors.py +4 -1
  65. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/nodes.py +5 -3
  66. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/links.py +4 -4
  67. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/loaders.py +6 -5
  68. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/__init__.py +5 -3
  69. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/mutations.py +5 -4
  70. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/parameters.py +4 -2
  71. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/schemas.py +28 -13
  72. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/security.py +6 -4
  73. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/stateful/__init__.py +2 -2
  74. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/stateful/statistic.py +3 -3
  75. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/stateful/types.py +3 -2
  76. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/__init__.py +3 -3
  77. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/config.py +2 -1
  78. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/context.py +13 -3
  79. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/events.py +3 -3
  80. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/runner.py +24 -6
  81. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/sink.py +1 -1
  82. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/state_machine.py +7 -6
  83. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/statistic.py +3 -1
  84. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/stateful/validation.py +10 -5
  85. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/__init__.py +2 -2
  86. schemathesis-3.36.0/src/schemathesis/transports/asgi.py +7 -0
  87. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/auth.py +2 -1
  88. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/content_types.py +1 -1
  89. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/responses.py +2 -1
  90. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/utils.py +4 -2
  91. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/hooks.py +1 -1
  92. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/schema.py +1 -1
  93. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/test_cli.py +1 -1
  94. schemathesis-3.36.0/test/checks/test_checks.py +52 -0
  95. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-1].raw +1 -1
  96. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner[Open API 3.0-2].raw +1 -1
  97. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +6 -2
  98. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +1 -1
  99. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_cassettes.py +98 -0
  100. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_checks.py +1 -1
  101. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_commands.py +20 -15
  102. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_crashes.py +15 -13
  103. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_junitxml.py +1 -1
  104. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/test_python.py +1 -1
  105. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/conftest.py +25 -19
  106. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +25 -0
  107. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +25 -0
  108. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +25 -0
  109. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +25 -0
  110. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +44 -0
  111. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +25 -0
  112. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +25 -0
  113. schemathesis-3.36.0/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +28 -0
  114. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/test_unique_data.py +39 -4
  115. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/coverage/test_combinations.py +124 -6
  116. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/coverage/test_phase.py +91 -2
  117. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/filters/test_matching.py +1 -1
  118. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_common.py +1 -1
  119. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_checks.py +31 -25
  120. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_runner.py +55 -18
  121. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_extensions.py +3 -3
  122. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/test_basic.py +2 -2
  123. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/conftest.py +1 -1
  124. schemathesis-3.36.0/test/specs/openapi/stateful/__init__.py +0 -0
  125. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/conftest.py +4 -8
  126. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/test_runner.py +32 -9
  127. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_checks.py +1 -1
  128. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_examples.py +248 -4
  129. schemathesis-3.36.0/test/specs/openapi/test_ignored_auth.py +233 -0
  130. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_serializing.py +1 -1
  131. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_filters.py +6 -6
  132. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_fixups.py +3 -3
  133. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_pytest.py +3 -8
  134. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/utils.py +5 -3
  135. {schemathesis-3.35.4 → schemathesis-3.36.0}/test-corpus/test_corpus.py +4 -5
  136. schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -28
  137. schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -26
  138. schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -26
  139. schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -26
  140. schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -26
  141. schemathesis-3.35.4/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -26
  142. schemathesis-3.35.4/test/specs/openapi/test_ignored_auth.py +0 -127
  143. {schemathesis-3.35.4 → schemathesis-3.36.0}/.dockerignore +0 -0
  144. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/FUNDING.yml +0 -0
  145. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  146. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  147. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  148. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/dependabot.yml +0 -0
  149. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/build.yml +0 -0
  150. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/codeql-analysis.yml +0 -0
  151. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/codspeed.yml +0 -0
  152. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/commit.yml +0 -0
  153. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/example-build.yml +0 -0
  154. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/example-no-build.yml +0 -0
  155. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/master_update.yml +0 -0
  156. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/release.yml +0 -0
  157. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/test-corpus.yml +0 -0
  158. {schemathesis-3.35.4 → schemathesis-3.36.0}/.github/workflows/test-hypothesis.yml +0 -0
  159. {schemathesis-3.35.4 → schemathesis-3.36.0}/.gitignore +0 -0
  160. {schemathesis-3.35.4 → schemathesis-3.36.0}/.readthedocs.yml +0 -0
  161. {schemathesis-3.35.4 → schemathesis-3.36.0}/.relint.yml +0 -0
  162. {schemathesis-3.35.4 → schemathesis-3.36.0}/.rstcheck.cfg +0 -0
  163. {schemathesis-3.35.4 → schemathesis-3.36.0}/.yamllint +0 -0
  164. {schemathesis-3.35.4 → schemathesis-3.36.0}/CITATION.cff +0 -0
  165. {schemathesis-3.35.4 → schemathesis-3.36.0}/CODE_OF_CONDUCT.md +0 -0
  166. {schemathesis-3.35.4 → schemathesis-3.36.0}/CONTRIBUTING.rst +0 -0
  167. {schemathesis-3.35.4 → schemathesis-3.36.0}/Dockerfile +0 -0
  168. {schemathesis-3.35.4 → schemathesis-3.36.0}/Dockerfile.bookworm +0 -0
  169. {schemathesis-3.35.4 → schemathesis-3.36.0}/LICENSE +0 -0
  170. {schemathesis-3.35.4 → schemathesis-3.36.0}/README.md +0 -0
  171. {schemathesis-3.35.4 → schemathesis-3.36.0}/benches/cli.py +0 -0
  172. {schemathesis-3.35.4 → schemathesis-3.36.0}/benches/references.py +0 -0
  173. {schemathesis-3.35.4 → schemathesis-3.36.0}/benches/schema.py +0 -0
  174. {schemathesis-3.35.4 → schemathesis-3.36.0}/changelog.py +0 -0
  175. {schemathesis-3.35.4 → schemathesis-3.36.0}/codecov.yml +0 -0
  176. {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/graphql.tar.gz +0 -0
  177. {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/openapi-3.0.tar.gz +0 -0
  178. {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/openapi-3.1.tar.gz +0 -0
  179. {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/data/swagger-2.0.tar.gz +0 -0
  180. {schemathesis-3.35.4 → schemathesis-3.36.0}/corpus/tools.py +0 -0
  181. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/Makefile +0 -0
  182. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/additional-content.rst +0 -0
  183. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/api.rst +0 -0
  184. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/compatibility.rst +0 -0
  185. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/conf.py +0 -0
  186. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/continuous_integration.rst +0 -0
  187. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/data-generation.rst +0 -0
  188. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/examples.rst +0 -0
  189. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/experimental.rst +0 -0
  190. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/getting-started.rst +0 -0
  191. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/graphql.rst +0 -0
  192. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/index.rst +0 -0
  193. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/python.rst +0 -0
  194. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/recipes.rst +0 -0
  195. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/requirements.txt +0 -0
  196. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/sanitizing.rst +0 -0
  197. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/service.rst +0 -0
  198. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/stateful.rst +0 -0
  199. {schemathesis-3.35.4 → schemathesis-3.36.0}/docs/targeted.rst +0 -0
  200. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/Dockerfile +0 -0
  201. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/README.md +0 -0
  202. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/app.py +0 -0
  203. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/compose.yml +0 -0
  204. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/openapi.json +0 -0
  205. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-app.in +0 -0
  206. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-app.txt +0 -0
  207. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-pytest.in +0 -0
  208. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/requirements-pytest.txt +0 -0
  209. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/__init__.py +0 -0
  210. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/conftest.py +0 -0
  211. {schemathesis-3.35.4 → schemathesis-3.36.0}/example/tests/test_app.py +0 -0
  212. {schemathesis-3.35.4 → schemathesis-3.36.0}/img/demo.gif +0 -0
  213. {schemathesis-3.35.4 → schemathesis-3.36.0}/img/service_github_report.png +0 -0
  214. {schemathesis-3.35.4 → schemathesis-3.36.0}/mypy.ini +0 -0
  215. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_compat.py +0 -0
  216. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_dependency_versions.py +0 -0
  217. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_lazy_import.py +0 -0
  218. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_rate_limiter.py +0 -0
  219. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/_xml.py +0 -0
  220. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/__main__.py +0 -0
  221. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/constants.py +0 -0
  222. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/debug.py +0 -0
  223. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/handlers.py +0 -0
  224. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/output/__init__.py +0 -0
  225. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/output/short.py +0 -0
  226. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/cli/sanitization.py +0 -0
  227. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/constants.py +0 -0
  228. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/__init__.py +0 -0
  229. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/__init__.py +0 -0
  230. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/fill_missing_examples.py +0 -0
  231. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
  232. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
  233. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/experimental/__init__.py +0 -0
  234. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/__init__.py +0 -0
  235. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/_aiohttp.py +0 -0
  236. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/extra/_server.py +0 -0
  237. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/fixups/__init__.py +0 -0
  238. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/fixups/fast_api.py +0 -0
  239. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/fixups/utf8_bom.py +0 -0
  240. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/generation/_methods.py +0 -0
  241. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/__init__.py +0 -0
  242. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/copy.py +0 -0
  243. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/datetime.py +0 -0
  244. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/deprecation.py +0 -0
  245. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/extensions.py +0 -0
  246. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/jsonschema.py +0 -0
  247. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/output.py +0 -0
  248. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/result.py +0 -0
  249. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/transformation.py +0 -0
  250. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/internal/validation.py +0 -0
  251. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/parameters.py +0 -0
  252. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/py.typed +0 -0
  253. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/impl/__init__.py +0 -0
  254. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/runner/probes.py +0 -0
  255. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/__init__.py +0 -0
  256. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/auth.py +0 -0
  257. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/ci.py +0 -0
  258. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/constants.py +0 -0
  259. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/metadata.py +0 -0
  260. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/service/usage.py +0 -0
  261. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/__init__.py +0 -0
  262. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/__init__.py +0 -0
  263. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/_cache.py +0 -0
  264. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/nodes.py +0 -0
  265. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/scalars.py +0 -0
  266. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/graphql/validation.py +0 -0
  267. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/__init__.py +0 -0
  268. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/_cache.py +0 -0
  269. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/_hypothesis.py +0 -0
  270. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/constants.py +0 -0
  271. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/converter.py +0 -0
  272. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
  273. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  274. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  275. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  276. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/formats.py +0 -0
  277. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/media_types.py +0 -0
  278. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  279. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  280. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/references.py +0 -0
  281. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/serialization.py +0 -0
  282. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/utils.py +0 -0
  283. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/specs/openapi/validation.py +0 -0
  284. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/targets.py +0 -0
  285. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/throttling.py +0 -0
  286. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/transports/headers.py +0 -0
  287. {schemathesis-3.35.4 → schemathesis-3.36.0}/src/schemathesis/types.py +0 -0
  288. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__init__.py +0 -0
  289. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -0
  290. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -0
  291. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -0
  292. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -0
  293. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -0
  294. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -0
  295. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/__init__.py +0 -0
  296. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/__init__.py +0 -0
  297. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  298. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_fastapi/app.py +0 -0
  299. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_flask/__init__.py +0 -0
  300. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/_flask/app.py +0 -0
  301. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/_graphql/schema.py +0 -0
  302. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/cp1252_app.py +0 -0
  303. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/__init__.py +0 -0
  304. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  305. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_aiohttp/app.py +0 -0
  306. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  307. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_fastapi/__init__.py +0 -0
  308. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_fastapi/app.py +0 -0
  309. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_flask/__init__.py +0 -0
  310. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/apps/openapi/_flask/app.py +0 -0
  311. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__init__.py +0 -0
  312. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -0
  313. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -0
  314. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -0
  315. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -0
  316. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -0
  317. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -0
  318. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -0
  319. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/conftest.py +0 -0
  320. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/test_provider.py +0 -0
  321. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/auth/test_pytest.py +0 -0
  322. {schemathesis-3.35.4/test/cli → schemathesis-3.36.0/test/checks}/__init__.py +0 -0
  323. {schemathesis-3.35.4/test/cli/output → schemathesis-3.36.0/test/cli}/__init__.py +0 -0
  324. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  325. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
  326. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_checks/test_deduplication_on_sanitized_header.raw +0 -0
  327. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +0 -0
  328. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +0 -0
  329. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  330. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  331. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -0
  332. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  333. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -0
  334. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -0
  335. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -0
  336. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  337. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +0 -0
  338. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +0 -0
  339. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +0 -0
  340. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +0 -0
  341. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +0 -0
  342. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +0 -0
  343. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +0 -0
  344. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +0 -0
  345. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +0 -0
  346. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  347. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -0
  348. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +0 -0
  349. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +0 -0
  350. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +0 -0
  351. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +0 -0
  352. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -0
  353. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -0
  354. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -0
  355. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -0
  356. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -0
  357. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_deprecated_filters[Open API 3.0].raw +0 -0
  358. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  359. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args0].raw +0 -0
  360. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_empty_schema_file[args1].raw +0 -0
  361. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -0
  362. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -0
  363. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -0
  364. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -0
  365. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -0
  366. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  367. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +0 -0
  368. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +0 -0
  369. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +0 -0
  370. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -0
  371. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -0
  372. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -0
  373. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -0
  374. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_group_errors.raw +0 -0
  375. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  376. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  377. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  378. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +0 -0
  379. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +0 -0
  380. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +0 -0
  381. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +0 -0
  382. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +0 -0
  383. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +0 -0
  384. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +0 -0
  385. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +0 -0
  386. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  387. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
  388. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
  389. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
  390. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
  391. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -0
  392. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -0
  393. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  394. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -0
  395. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +0 -0
  396. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +0 -0
  397. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -0
  398. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -0
  399. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -0
  400. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -0
  401. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +0 -0
  402. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +0 -0
  403. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +0 -0
  404. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +0 -0
  405. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +0 -0
  406. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +0 -0
  407. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +0 -0
  408. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +0 -0
  409. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +0 -0
  410. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -0
  411. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -0
  412. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -0
  413. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -0
  414. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -0
  415. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -0
  416. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_filtered_out[Open API 3.0].raw +0 -0
  417. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_generation_config[Open API 3.0].raw +0 -0
  418. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_keyboard_interrupt[Open API 3.0].raw +0 -0
  419. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_max_failures[Open API 3.0].raw +0 -0
  420. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_proxy_error[Open API 3.0].raw +0 -0
  421. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only[Open API 3.0].raw +0 -0
  422. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_new_stateful_runner_stateful_only_with_error[Open API 3.0].raw +0 -0
  423. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -0
  424. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -0
  425. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -0
  426. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +0 -0
  427. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +0 -0
  428. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +0 -0
  429. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +0 -0
  430. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +0 -0
  431. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +0 -0
  432. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-1].raw +0 -0
  433. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 2.0-5].raw +0 -0
  434. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-1].raw +0 -0
  435. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[real-Open API 3.0-5].raw +0 -0
  436. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-1].raw +0 -0
  437. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 2.0-5].raw +0 -0
  438. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-1].raw +0 -0
  439. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_openapi_links_multiple_threads[wsgi-Open API 3.0-5].raw +0 -0
  440. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +0 -0
  441. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +0 -0
  442. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -0
  443. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -0
  444. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -0
  445. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -0
  446. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -0
  447. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  448. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +0 -0
  449. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +0 -0
  450. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +0 -0
  451. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +0 -0
  452. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +0 -0
  453. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +0 -0
  454. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +0 -0
  455. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +0 -0
  456. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  457. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  458. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  459. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  460. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  461. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  462. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  463. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  464. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  465. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  466. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  467. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  468. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  469. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  470. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  471. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  472. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  473. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  474. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  475. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  476. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  477. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  478. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  479. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args31].raw +0 -0
  480. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args32].raw +0 -0
  481. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args33].raw +0 -0
  482. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args34].raw +0 -0
  483. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args35].raw +0 -0
  484. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args36].raw +0 -0
  485. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args37].raw +0 -0
  486. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  487. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  488. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  489. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  490. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  491. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  492. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  493. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  494. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  495. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
  496. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_stateful_explicit_examples_with_filters[Open API 3.0].raw +0 -0
  497. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +0 -0
  498. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +0 -0
  499. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +0 -0
  500. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +0 -0
  501. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +0 -0
  502. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +0 -0
  503. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +0 -0
  504. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +0 -0
  505. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -0
  506. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unresolvable_links[Open API 3.0].raw +0 -0
  507. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -0
  508. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +0 -0
  509. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +0 -0
  510. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +0 -0
  511. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +0 -0
  512. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +0 -0
  513. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +0 -0
  514. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +0 -0
  515. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +0 -0
  516. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -0
  517. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  518. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_commands/test_yaml_parsing_of_floats[Open API 3.0].raw +0 -0
  519. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +0 -0
  520. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +0 -0
  521. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/cert.pem +0 -0
  522. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/conftest.py +0 -0
  523. {schemathesis-3.35.4/test/extra → schemathesis-3.36.0/test/cli/output}/__init__.py +0 -0
  524. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/output/test_default.py +0 -0
  525. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_asgi.py +0 -0
  526. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_callbacks.py +0 -0
  527. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_hooks.py +0 -0
  528. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_options.py +0 -0
  529. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_reporting.py +0 -0
  530. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/cli/test_targeted.py +0 -0
  531. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +0 -0
  532. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +0 -0
  533. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/conftest.py +0 -0
  534. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/code_samples/test_curl.py +0 -0
  535. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -0
  536. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/openapi/formats/test_uuid.py +0 -0
  537. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  538. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/contrib/test_install.py +0 -0
  539. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/petstore_v2.yaml +0 -0
  540. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/petstore_v3.yaml +0 -0
  541. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/components/parameters.yaml +0 -0
  542. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/components/responses.yaml +0 -0
  543. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/components/schemas.yaml +0 -0
  544. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/main.yaml +0 -0
  545. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/relative_files/paths/user-account.yaml +0 -0
  546. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/simple_openapi.yaml +0 -0
  547. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/data/simple_swagger.yaml +0 -0
  548. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/__snapshots__/test_experiments/test_not_enabled.raw +0 -0
  549. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/conftest.py +0 -0
  550. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/test_experiments.py +0 -0
  551. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/experimental/test_openapi_3_1.py +0 -0
  552. {schemathesis-3.35.4/test/filters → schemathesis-3.36.0/test/extra}/__init__.py +0 -0
  553. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/extra/test_aiohttp.py +0 -0
  554. {schemathesis-3.35.4/test/runner → schemathesis-3.36.0/test/filters}/__init__.py +0 -0
  555. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/filters/test_expressions.py +0 -0
  556. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/hooks/test_filter_operations.py +0 -0
  557. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/hooks/test_filters.py +0 -0
  558. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/hooks/test_hooks.py +0 -0
  559. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/conftest.py +0 -0
  560. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_app.py +0 -0
  561. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_graphql.py +0 -0
  562. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_openapi.py +0 -0
  563. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/loaders/test_yaml.py +0 -0
  564. {schemathesis-3.35.4/test/service → schemathesis-3.36.0/test/runner}/__init__.py +0 -0
  565. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_events.py +0 -0
  566. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/runner/test_probes.py +0 -0
  567. {schemathesis-3.35.4/test/specs/openapi/stateful → schemathesis-3.36.0/test/service}/__init__.py +0 -0
  568. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +0 -0
  569. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +0 -0
  570. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +0 -0
  571. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +0 -0
  572. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
  573. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
  574. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +0 -0
  575. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +0 -0
  576. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
  577. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
  578. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_connection_error[Open API 3.0].raw +0 -0
  579. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_custom_format.raw +0 -0
  580. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_dry_run[Open API 3.0].raw +0 -0
  581. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_forbidden[Open API 3.0].raw +0 -0
  582. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_graphql_scalars.raw +0 -0
  583. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_internal_server_error[Open API 3.0].raw +0 -0
  584. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-42].raw +0 -0
  585. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_invalid_extension[Open API 3.0-extension1].raw +0 -0
  586. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_invalid_payload[Open API 3.0].raw +0 -0
  587. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy0].raw +0 -0
  588. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_media_type_extension[strategy1].raw +0 -0
  589. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_oversize_text[Open API 3.0].raw +0 -0
  590. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch0-expected0].raw +0 -0
  591. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch1-expected1].raw +0 -0
  592. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_schema_patches[patch2-expected2].raw +0 -0
  593. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/__snapshots__/test_extensions/test_unknown_extension_in_cli[Open API 3.0].raw +0 -0
  594. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/conftest.py +0 -0
  595. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_auth.py +0 -0
  596. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_ci.py +0 -0
  597. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_cli.py +0 -0
  598. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_report.py +0 -0
  599. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_serialization.py +0 -0
  600. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/service/test_usage.py +0 -0
  601. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -0
  602. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -0
  603. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -0
  604. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  605. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  606. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +0 -0
  607. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -0
  608. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/test_custom_scalars.py +0 -0
  609. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/graphql/test_pytest.py +0 -0
  610. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +0 -0
  611. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -0
  612. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -0
  613. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/blank.pdf +0 -0
  614. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/parameters/test_forms.py +0 -0
  615. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  616. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  617. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/test_config.py +0 -0
  618. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/stateful/test_stateful.py +0 -0
  619. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_expressions.py +0 -0
  620. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_hypothesis.py +0 -0
  621. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_links.py +0 -0
  622. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_media_types.py +0 -0
  623. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_negative.py +0 -0
  624. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_parameters.py +0 -0
  625. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_randomized.py +0 -0
  626. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_schemas.py +0 -0
  627. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_security.py +0 -0
  628. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_utils.py +0 -0
  629. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/specs/openapi/test_validation.py +0 -0
  630. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_app.py +0 -0
  631. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_asgi.py +0 -0
  632. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_async.py +0 -0
  633. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_common_parameters.py +0 -0
  634. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_converter.py +0 -0
  635. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_dereferencing.py +0 -0
  636. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_direct_access.py +0 -0
  637. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_examples.py +0 -0
  638. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_hypothesis.py +0 -0
  639. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_internal.py +0 -0
  640. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_lazy.py +0 -0
  641. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_models.py +0 -0
  642. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_output.py +0 -0
  643. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_package.py +0 -0
  644. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_parameters.py +0 -0
  645. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_parametrization.py +0 -0
  646. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_petstore.py +0 -0
  647. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_rate_limit.py +0 -0
  648. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_recoverable_errors.py +0 -0
  649. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_required.py +0 -0
  650. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_sanitizing_output.py +0 -0
  651. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_schemas.py +0 -0
  652. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_serialization.py +0 -0
  653. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_stateful.py +0 -0
  654. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_unittest.py +0 -0
  655. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_utils.py +0 -0
  656. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/test_wsgi.py +0 -0
  657. {schemathesis-3.35.4 → schemathesis-3.36.0}/test/transports/test_content_types.py +0 -0
  658. {schemathesis-3.35.4 → schemathesis-3.36.0}/test_server.sh +0 -0
  659. {schemathesis-3.35.4 → schemathesis-3.36.0}/tox.ini +0 -0
@@ -20,7 +20,7 @@ jobs:
20
20
  - run: uvx pre-commit autoupdate
21
21
 
22
22
  - name: Open pull request
23
- uses: peter-evans/create-pull-request@v6
23
+ uses: peter-evans/create-pull-request@v7
24
24
  with:
25
25
  token: ${{ secrets.GITHUB_TOKEN }}
26
26
  delete-branch: true
@@ -38,12 +38,12 @@ repos:
38
38
  additional_dependencies: [types-click, types-requests, types-PyYAML]
39
39
 
40
40
  - repo: https://github.com/astral-sh/ruff-pre-commit
41
- rev: v0.6.3
41
+ rev: v0.6.5
42
42
  hooks:
43
43
  - id: ruff-format
44
44
 
45
45
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
- rev: v0.6.3
46
+ rev: v0.6.5
47
47
  hooks:
48
48
  - id: ruff
49
49
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: schemathesis
3
- Version: 3.35.4
3
+ Version: 3.36.0
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
@@ -443,6 +443,8 @@ For example, you can use refresh tokens for authentication.
443
443
  case.headers = case.headers or {}
444
444
  case.headers = {"Authorization": f"Bearer {data}"}
445
445
 
446
+ .. _third-party-auth:
447
+
446
448
  Third-party implementation
447
449
  --------------------------
448
450
 
@@ -1,9 +1,52 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- :version:`Unreleased <v3.35.4...HEAD>` - TBD
4
+ :version:`Unreleased <v3.36.0...HEAD>` - TBD
5
5
  --------------------------------------------
6
6
 
7
+ .. _v3.36.0:
8
+
9
+ :version:`3.36.0 <v3.35.5...v3.36.0>` - 2024-09-15
10
+ --------------------------------------------------
11
+
12
+ **Added**
13
+
14
+ - Reimplementation of test case deduplication in CLI. It effectively un-deprecates the ``--contrib-unique-data`` CLI option.
15
+ - Extend ``ignored_auth`` to check for incorrect auth.
16
+ - More ``properties`` combinations for the coverage phase.
17
+ - Use the `default` field as a source of valid inputs during the coverage phase.
18
+
19
+ **Changed**
20
+
21
+ - Add ``ctx`` as the first argument for all checks.
22
+ This is a step towards checks that cover multiple responses at once.
23
+ - Validate custom check function signatures.
24
+
25
+ **Deprecated**
26
+
27
+ - Custom checks that do not accept ``ctx`` as the first argument.
28
+
29
+ **Fixed**
30
+
31
+ - Avoid running checks twice in new-style stateful tests.
32
+ - Missing ``timeout`` in certain situations when loading the schema from the network.
33
+ - Ignoring ``with_security_parameters`` in runner in some cases.
34
+
35
+ .. _v3.35.5:
36
+
37
+ :version:`3.35.5 <v3.35.4...v3.35.5>` - 2024-09-08
38
+ --------------------------------------------------
39
+
40
+ **Changed**
41
+
42
+ - Extend explicit examples discovery mechanism by checking response examples.
43
+ - Saving the generated data into a cassette when ``--dry-run`` is provided. :issue:`1423`
44
+ - Saving timeouted requests into a cassette.
45
+
46
+ **Fixed**
47
+
48
+ - Support non-Starlette ASGI apps in more places.
49
+
7
50
  .. _v3.35.4:
8
51
 
9
52
  :version:`3.35.4 <v3.35.3...v3.35.4>` - 2024-09-05
@@ -677,11 +677,11 @@ To use your custom checks with Schemathesis CLI, you need to register them via t
677
677
 
678
678
 
679
679
  @schemathesis.check
680
- def new_check(response, case):
680
+ def new_check(ctx, response, case):
681
681
  # some awesome assertions!
682
682
  pass
683
683
 
684
- The registered check should accept a ``response`` with ``requests.Response`` / ``schemathesis.utils.WSGIResponse`` type and
684
+ The registered check should accept ``ctx``, a ``response`` with ``requests.Response`` / ``schemathesis.utils.WSGIResponse`` type and
685
685
  ``case`` with ``schemathesis.models.Case`` type. This code should be placed in the module you pass to the ``SCHEMATHESIS_HOOKS`` environment variable.
686
686
 
687
687
  Then your checks will be available in Schemathesis CLI, and you can use them via the ``-c`` command-line option.
@@ -700,7 +700,7 @@ response code is ``200``.
700
700
 
701
701
 
702
702
  @schemathesis.check
703
- def conditional_check(response, case):
703
+ def conditional_check(ctx, response, case):
704
704
  if response.status_code == 200:
705
705
  ... # some awesome assertions!
706
706
  else:
@@ -6,13 +6,6 @@ Schemathesis ships a set of optional features that could help to tune your tests
6
6
  Unique data generation
7
7
  ~~~~~~~~~~~~~~~~~~~~~~
8
8
 
9
- .. important::
10
-
11
- The ``--contrib-unique-data`` CLI option and the corresponding ``schemathesis.contrib.unique_data`` hook are **DEPRECATED**. The concept of this feature
12
- does not fit the core principles of Hypothesis where strategies are configurable on a per-example basis but this feature implies
13
- uniqueness across examples. This leads to cryptic error messages about external state and flaky test runs, therefore it will be removed in
14
- Schemathesis 4.0
15
-
16
9
  By default, Schemathesis may generate the same test cases as all data is randomized. If this behavior does not match your expectations, or
17
10
  your test budges, you can force Schemathesis to generate unique test cases.
18
11
 
@@ -22,6 +15,13 @@ In CLI:
22
15
 
23
16
  $ st run --contrib-unique-data https://example.schemathesis.io/openapi.json
24
17
 
18
+ .. important::
19
+
20
+ The ``schemathesis.contrib.unique_data`` hook is **DEPRECATED**. The concept of this feature
21
+ does not fit the core principles of Hypothesis where strategies are configurable on a per-example basis but this feature implies
22
+ uniqueness across examples. This leads to cryptic error messages about external state and flaky test runs, therefore it will be removed in
23
+ Schemathesis 4.0
24
+
25
25
  In Python tests:
26
26
 
27
27
  .. code:: python
@@ -667,7 +667,7 @@ Checks
667
667
  Checks in Schemathesis allow you to validate responses from your API, ensuring they adhere to both general and application-specific expectations.
668
668
  They can be particularly useful for checking behaviors that are specific to your application and go beyond the built-in checks provided by Schemathesis.
669
669
 
670
- Define a check as a function taking two parameters: ``response`` and ``case``, and register it using the ``@schemathesis.check`` decorator.
670
+ Define a check as a function taking three parameters: ``ctx``, ``response`` and ``case``, and register it using the ``@schemathesis.check`` decorator.
671
671
 
672
672
  .. code-block:: python
673
673
 
@@ -675,9 +675,10 @@ Define a check as a function taking two parameters: ``response`` and ``case``, a
675
675
 
676
676
 
677
677
  @schemathesis.check
678
- def my_check(response, case) -> None:
678
+ def my_check(ctx, response, case) -> None:
679
679
  ...
680
680
 
681
+ - ``ctx`` holds a context relevant to the current check. Currently unused and is placed here for future-compatibility.
681
682
  - ``response`` is the API response, an instance of ``requests.Response`` or ``schemathesis.utils.WSGIResponse``, based on your integration method.
682
683
  - ``case`` is the ``schemathesis.Case`` instance used to send data to the application.
683
684
 
@@ -691,7 +692,7 @@ Here’s an example of a check that ensures that when an ``item_id`` of 42 is us
691
692
 
692
693
 
693
694
  @schemathesis.check
694
- def my_check(response, case) -> None:
695
+ def my_check(ctx, response, case) -> None:
695
696
  if case.path_parameters.get("item_id") == 42 and ANSWER not in response.text:
696
697
  raise AssertionError("The ultimate answer not found!")
697
698
 
@@ -322,6 +322,14 @@ Python:
322
322
 
323
323
  This adjustment ensures that Schemathesis does not include NULL bytes in strings for all your tests, making them compatible with systems that reject such inputs.
324
324
 
325
+ How can I use custom authentication methods with Schemathesis?
326
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
327
+
328
+ Schemathesis supports custom authentication through its extensions system.
329
+
330
+ For detailed instructions on implementing custom authentication methods or using existing libraries for that,
331
+ refer to our :ref:`Custom Authentication <custom-auth>` and :ref:`Third-party Authentication <third-party-auth>` sections.
332
+
325
333
  Working with API schemas
326
334
  ------------------------
327
335
 
@@ -17,18 +17,18 @@ schemathesis.openapi.format("fullname", fullname())
17
17
 
18
18
 
19
19
  @schemathesis.hook
20
- def filter_body(context, body):
20
+ def filter_body(ctx, body):
21
21
  """Modification over the default strategy for payload generation."""
22
22
  return body.get("id", 10001) > 10000
23
23
 
24
24
 
25
25
  @schemathesis.check
26
- def not_so_slow(response, case):
26
+ def not_so_slow(ctx, response, case):
27
27
  """Custom response check."""
28
28
  assert response.elapsed < timedelta(milliseconds=100), "Response is slow!"
29
29
 
30
30
 
31
31
  @schemathesis.target
32
- def big_response(context):
32
+ def big_response(ctx):
33
33
  """Custom data generation target."""
34
- return float(len(context.response.content))
34
+ return float(len(ctx.response.content))
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "3.35.4"
7
+ version = "3.36.0"
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" }]
@@ -2,12 +2,12 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
- from . import auths, checks, contrib, experimental, fixups, graphql, hooks, runner, serializers, targets # noqa: E402
5
+ from . import auths, checks, contrib, experimental, fixups, graphql, hooks, runner, serializers, targets
6
6
  from ._lazy_import import lazy_import
7
- from .constants import SCHEMATHESIS_VERSION # noqa: E402
8
- from .generation import DataGenerationMethod, GenerationConfig, HeaderConfig # noqa: E402
9
- from .models import Case # noqa: E402
10
- from .specs import openapi # noqa: E402
7
+ from .constants import SCHEMATHESIS_VERSION
8
+ from .generation import DataGenerationMethod, GenerationConfig, HeaderConfig
9
+ from .models import Case
10
+ from .specs import openapi
11
11
 
12
12
  __version__ = SCHEMATHESIS_VERSION
13
13
 
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  import asyncio
6
6
  import json
7
7
  import warnings
8
- from typing import Any, Callable, Generator, Mapping, Optional, Tuple
8
+ from typing import TYPE_CHECKING, Any, Callable, Generator, Mapping
9
9
 
10
10
  import hypothesis
11
11
  from hypothesis import Phase
@@ -24,7 +24,9 @@ from .models import APIOperation, Case, GenerationMetadata, TestPhase
24
24
  from .transports.content_types import parse_content_type
25
25
  from .transports.headers import has_invalid_characters, is_latin_1_encodable
26
26
  from .types import NotSet
27
- from .utils import GivenInput
27
+
28
+ if TYPE_CHECKING:
29
+ from .utils import GivenInput
28
30
 
29
31
  # Forcefully initializes Hypothesis' global PRNG to avoid races that initilize it
30
32
  # if e.g. Schemathesis CLI is used with multiple workers
@@ -215,6 +217,7 @@ def _iter_coverage_cases(
215
217
  operation: APIOperation, data_generation_methods: list[DataGenerationMethod]
216
218
  ) -> Generator[Case, None, None]:
217
219
  from .specs.openapi.constants import LOCATION_TO_CONTAINER
220
+ from .specs.openapi.examples import find_in_responses, find_matching_in_responses
218
221
 
219
222
  ctx = coverage.CoverageContext(data_generation_methods=data_generation_methods)
220
223
  meta = GenerationMetadata(
@@ -222,8 +225,11 @@ def _iter_coverage_cases(
222
225
  )
223
226
  generators: dict[tuple[str, str], Generator[coverage.GeneratedValue, None, None]] = {}
224
227
  template: dict[str, Any] = {}
228
+ responses = find_in_responses(operation)
225
229
  for parameter in operation.iter_parameters():
226
230
  schema = parameter.as_json_schema(operation)
231
+ for value in find_matching_in_responses(responses, parameter.name):
232
+ schema.setdefault("examples", []).append(value)
227
233
  gen = coverage.cover_schema_iter(ctx, schema)
228
234
  value = next(gen, NOT_SET)
229
235
  if isinstance(value, NotSet):
@@ -274,7 +280,7 @@ def _iter_coverage_cases(
274
280
  yield case
275
281
 
276
282
 
277
- def find_invalid_headers(headers: Mapping) -> Generator[Tuple[str, str], None, None]:
283
+ def find_invalid_headers(headers: Mapping) -> Generator[tuple[str, str], None, None]:
278
284
  for name, value in headers.items():
279
285
  if not is_latin_1_encodable(value) or has_invalid_characters(name, value):
280
286
  yield name, value
@@ -305,11 +311,11 @@ def add_non_serializable_mark(test: Callable, exc: SerializationNotPossible) ->
305
311
  test._schemathesis_non_serializable = exc # type: ignore
306
312
 
307
313
 
308
- def get_non_serializable_mark(test: Callable) -> Optional[SerializationNotPossible]:
314
+ def get_non_serializable_mark(test: Callable) -> SerializationNotPossible | None:
309
315
  return getattr(test, "_schemathesis_non_serializable", None)
310
316
 
311
317
 
312
- def get_invalid_regex_mark(test: Callable) -> Optional[SchemaError]:
318
+ def get_invalid_regex_mark(test: Callable) -> SchemaError | None:
313
319
  return getattr(test, "_schemathesis_invalid_regex", None)
314
320
 
315
321
 
@@ -317,7 +323,7 @@ def add_invalid_regex_mark(test: Callable, exc: SchemaError) -> None:
317
323
  test._schemathesis_invalid_regex = exc # type: ignore
318
324
 
319
325
 
320
- def get_invalid_example_headers_mark(test: Callable) -> Optional[dict[str, str]]:
326
+ def get_invalid_example_headers_mark(test: Callable) -> dict[str, str] | None:
321
327
  return getattr(test, "_schemathesis_invalid_example_headers", None)
322
328
 
323
329
 
@@ -1,14 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from dataclasses import dataclass
4
- from typing import TYPE_CHECKING, Optional
4
+ from typing import TYPE_CHECKING
5
5
 
6
6
  from .exceptions import UsageError
7
- from .parameters import ParameterSet
8
- from .types import GenericTest
9
7
 
10
8
  if TYPE_CHECKING:
11
9
  from .models import APIOperation
10
+ from .parameters import ParameterSet
11
+ from .types import GenericTest
12
12
 
13
13
 
14
14
  @dataclass
@@ -37,7 +37,7 @@ def _for_parameters(overridden: dict[str, str], defined: ParameterSet) -> dict[s
37
37
  return output
38
38
 
39
39
 
40
- def get_override_from_mark(test: GenericTest) -> Optional[CaseOverride]:
40
+ def get_override_from_mark(test: GenericTest) -> CaseOverride | None:
41
41
  return getattr(test, "_schemathesis_override", None)
42
42
 
43
43
 
@@ -21,12 +21,12 @@ from typing import (
21
21
 
22
22
  from .exceptions import UsageError
23
23
  from .filters import FilterSet, FilterValue, MatcherFunc, attach_filter_chain
24
- from .types import GenericTest
25
24
 
26
25
  if TYPE_CHECKING:
27
26
  import requests.auth
28
27
 
29
28
  from .models import APIOperation, Case
29
+ from .types import GenericTest
30
30
 
31
31
  DEFAULT_REFRESH_INTERVAL = 300
32
32
  AUTH_STORAGE_ATTRIBUTE_NAME = "_schemathesis_auth"
@@ -15,11 +15,12 @@ from .specs.openapi.checks import (
15
15
  )
16
16
 
17
17
  if TYPE_CHECKING:
18
- from .models import Case, CheckFunction
18
+ from .internal.checks import CheckContext, CheckFunction
19
+ from .models import Case
19
20
  from .transports.responses import GenericResponse
20
21
 
21
22
 
22
- def not_a_server_error(response: GenericResponse, case: Case) -> bool | None:
23
+ def not_a_server_error(ctx: CheckContext, response: GenericResponse, case: Case) -> bool | None:
23
24
  """A check to verify that the response is not a server-side error."""
24
25
  from .specs.graphql.schemas import GraphQLCase
25
26
  from .specs.graphql.validation import validate_graphql_response
@@ -64,14 +65,16 @@ def register(check: CheckFunction) -> CheckFunction:
64
65
  .. code-block:: python
65
66
 
66
67
  @schemathesis.check
67
- def new_check(response, case):
68
+ def new_check(ctx, response, case):
68
69
  # some awesome assertions!
69
70
  ...
70
71
  """
71
72
  from . import cli
73
+ from .internal.checks import wrap_check
72
74
 
75
+ _check = wrap_check(check)
73
76
  global ALL_CHECKS
74
77
 
75
- ALL_CHECKS += (check,)
76
- cli.CHECKS_TYPE.choices += (check.__name__,) # type: ignore
78
+ ALL_CHECKS += (_check,)
79
+ cli.CHECKS_TYPE.choices += (_check.__name__,) # type: ignore
77
80
  return check
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import base64
4
- import io
5
4
  import os
6
5
  import sys
7
6
  import traceback
@@ -41,38 +40,45 @@ from ..internal.datetime import current_datetime
41
40
  from ..internal.output import OutputConfig
42
41
  from ..internal.validation import file_exists
43
42
  from ..loaders import load_app, load_yaml
44
- from ..models import Case, CheckFunction
45
43
  from ..runner import events, prepare_hypothesis_settings, probes
46
44
  from ..specs.graphql import loaders as gql_loaders
47
45
  from ..specs.openapi import loaders as oas_loaders
48
46
  from ..stateful import Stateful
49
- from ..targets import Target
50
47
  from ..transports import RequestConfig
51
48
  from ..transports.auth import get_requests_auth
52
- from ..types import PathLike, RequestCert
53
49
  from . import callbacks, cassettes, output
54
50
  from .constants import DEFAULT_WORKERS, MAX_WORKERS, MIN_WORKERS, HealthCheck, Phase, Verbosity
55
51
  from .context import ExecutionContext, FileReportContext, ServiceReportContext
56
52
  from .debug import DebugOutputHandler
57
53
  from .handlers import EventHandler
58
54
  from .junitxml import JunitXMLHandler
59
- from .options import CsvChoice, CsvEnumChoice, CustomHelpMessageChoice, NotSet, OptionalInt
55
+ from .options import CsvChoice, CsvEnumChoice, CustomHelpMessageChoice, OptionalInt
60
56
  from .sanitization import SanitizationHandler
61
57
 
62
58
  if TYPE_CHECKING:
59
+ import io
60
+
63
61
  import hypothesis
64
62
  import requests
65
63
 
64
+ from ..models import Case, CheckFunction
66
65
  from ..schemas import BaseSchema
67
66
  from ..service.client import ServiceClient
68
67
  from ..specs.graphql.schemas import GraphQLSchema
68
+ from ..targets import Target
69
+ from ..types import NotSet, PathLike, RequestCert
70
+
71
+
72
+ __all__ = [
73
+ "EventHandler",
74
+ ]
69
75
 
70
76
 
71
77
  def _get_callable_names(items: tuple[Callable, ...]) -> tuple[str, ...]:
72
78
  return tuple(item.__name__ for item in items)
73
79
 
74
80
 
75
- CUSTOM_HANDLERS: list[Type[EventHandler]] = []
81
+ CUSTOM_HANDLERS: list[type[EventHandler]] = []
76
82
  CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]}
77
83
 
78
84
  DEFAULT_CHECKS_NAMES = _get_callable_names(checks_module.DEFAULT_CHECKS)
@@ -98,13 +104,6 @@ DEPRECATED_SHOW_ERROR_TRACEBACKS_OPTION_WARNING = (
98
104
  "Warning: Option `--show-errors-tracebacks` is deprecated and will be removed in Schemathesis 4.0. "
99
105
  "Use `--show-trace` instead"
100
106
  )
101
- DEPRECATED_CONTRIB_UNIQUE_DATA_OPTION_WARNING = (
102
- "The `--contrib-unique-data` CLI option and the corresponding `schemathesis.contrib.unique_data` hook "
103
- "are **DEPRECATED**. The concept of this feature does not fit the core principles of Hypothesis where "
104
- "strategies are configurable on a per-example basis but this feature implies uniqueness across examples. "
105
- "This leads to cryptic error messages about external state and flaky test runs, "
106
- "therefore it will be removed in Schemathesis 4.0"
107
- )
108
107
  CASSETTES_PATH_INVALID_USAGE_MESSAGE = "Can't use `--store-network-log` and `--cassette-path` simultaneously"
109
108
  COLOR_OPTIONS_INVALID_USAGE_MESSAGE = "Can't use `--no-color` and `--force-color` simultaneously"
110
109
  PHASES_INVALID_USAGE_MESSAGE = "Can't use `--hypothesis-phases` and `--hypothesis-no-phases` simultaneously"
@@ -114,14 +113,14 @@ def reset_checks() -> None:
114
113
  """Get checks list to their default state."""
115
114
  # Useful in tests
116
115
  checks_module.ALL_CHECKS = checks_module.DEFAULT_CHECKS + checks_module.OPTIONAL_CHECKS
117
- CHECKS_TYPE.choices = _get_callable_names(checks_module.ALL_CHECKS) + ("all",)
116
+ CHECKS_TYPE.choices = (*_get_callable_names(checks_module.ALL_CHECKS), "all")
118
117
 
119
118
 
120
119
  def reset_targets() -> None:
121
120
  """Get targets list to their default state."""
122
121
  # Useful in tests
123
122
  targets_module.ALL_TARGETS = targets_module.DEFAULT_TARGETS + targets_module.OPTIONAL_TARGETS
124
- TARGETS_TYPE.choices = _get_callable_names(targets_module.ALL_TARGETS) + ("all",)
123
+ TARGETS_TYPE.choices = (*_get_callable_names(targets_module.ALL_TARGETS), "all")
125
124
 
126
125
 
127
126
  @click.group(context_settings=CONTEXT_SETTINGS)
@@ -282,7 +281,7 @@ REPORT_TO_SERVICE = ReportToService()
282
281
  "workers_num",
283
282
  help="Number of concurrent workers for testing. Auto-adjusts if 'auto' is specified",
284
283
  type=CustomHelpMessageChoice(
285
- ["auto"] + list(map(str, range(MIN_WORKERS, MAX_WORKERS + 1))),
284
+ ["auto", *list(map(str, range(MIN_WORKERS, MAX_WORKERS + 1)))],
286
285
  choices_repr=f"[auto, {MIN_WORKERS}-{MAX_WORKERS}]",
287
286
  ),
288
287
  default=str(DEFAULT_WORKERS),
@@ -318,7 +317,7 @@ REPORT_TO_SERVICE = ReportToService()
318
317
  "--fixups",
319
318
  help="Apply compatibility adjustments",
320
319
  multiple=True,
321
- type=click.Choice(list(ALL_FIXUPS) + ["all"]),
320
+ type=click.Choice([*ALL_FIXUPS, "all"]),
322
321
  metavar="",
323
322
  )
324
323
  @group("API validation options")
@@ -433,7 +432,7 @@ REPORT_TO_SERVICE = ReportToService()
433
432
  "-A",
434
433
  type=click.Choice(["basic", "digest"], case_sensitive=False),
435
434
  default="basic",
436
- help="Specify the authentication method",
435
+ help="Specify the authentication method. For custom authentication methods, see our Authentication documentation: https://schemathesis.readthedocs.io/en/stable/auth.html#custom-auth",
437
436
  show_default=True,
438
437
  metavar="",
439
438
  )
@@ -943,9 +942,6 @@ def run(
943
942
  entry for health_check in hypothesis_suppress_health_check for entry in health_check.as_hypothesis()
944
943
  ]
945
944
 
946
- if contrib_unique_data:
947
- click.secho(DEPRECATED_CONTRIB_UNIQUE_DATA_OPTION_WARNING, fg="yellow")
948
-
949
945
  if show_errors_tracebacks:
950
946
  click.secho(DEPRECATED_SHOW_ERROR_TRACEBACKS_OPTION_WARNING, fg="yellow")
951
947
  show_trace = show_errors_tracebacks
@@ -1154,8 +1150,6 @@ def run(
1154
1150
  else:
1155
1151
  _fixups.install(fixups)
1156
1152
 
1157
- if contrib_unique_data:
1158
- contrib.unique_data.install()
1159
1153
  if contrib_openapi_formats_uuid:
1160
1154
  contrib.openapi.formats.uuid.install()
1161
1155
  if contrib_openapi_fill_missing_examples:
@@ -1191,6 +1185,7 @@ def run(
1191
1185
  seed=hypothesis_seed,
1192
1186
  exit_first=exit_first,
1193
1187
  max_failures=max_failures,
1188
+ unique_data=contrib_unique_data,
1194
1189
  dry_run=dry_run,
1195
1190
  store_interactions=cassette_path is not None,
1196
1191
  checks=selected_checks,
@@ -1315,6 +1310,7 @@ def into_event_stream(
1315
1310
  exit_first: bool,
1316
1311
  max_failures: int | None,
1317
1312
  rate_limit: str | None,
1313
+ unique_data: bool,
1318
1314
  dry_run: bool,
1319
1315
  store_interactions: bool,
1320
1316
  stateful: Stateful | None,
@@ -1358,6 +1354,7 @@ def into_event_stream(
1358
1354
  exit_first=exit_first,
1359
1355
  max_failures=max_failures,
1360
1356
  started_at=started_at,
1357
+ unique_data=unique_data,
1361
1358
  dry_run=dry_run,
1362
1359
  store_interactions=store_interactions,
1363
1360
  checks=checks,
@@ -2000,7 +1997,7 @@ def decide_color_output(ctx: click.Context, no_color: bool, force_color: bool) -
2000
1997
  ctx.color = False
2001
1998
 
2002
1999
 
2003
- def add_option(*args: Any, cls: Type = click.Option, **kwargs: Any) -> None:
2000
+ def add_option(*args: Any, cls: type = click.Option, **kwargs: Any) -> None:
2004
2001
  """Add a new CLI option to `st run`."""
2005
2002
  run.params.append(cls(args, **kwargs))
2006
2003
 
@@ -2024,10 +2021,10 @@ def add_group(name: str, *, index: int | None = None) -> Group:
2024
2021
  return Group(name)
2025
2022
 
2026
2023
 
2027
- def handler() -> Callable[[Type], None]:
2024
+ def handler() -> Callable[[type], None]:
2028
2025
  """Register a new CLI event handler."""
2029
2026
 
2030
- def _wrapper(cls: Type) -> None:
2027
+ def _wrapper(cls: type) -> None:
2031
2028
  CUSTOM_HANDLERS.append(cls)
2032
2029
 
2033
2030
  return _wrapper
@@ -2,16 +2,16 @@ from __future__ import annotations
2
2
 
3
3
  import codecs
4
4
  import enum
5
+ import operator
5
6
  import os
6
7
  import re
7
8
  import traceback
8
9
  from contextlib import contextmanager
9
- from functools import partial
10
+ from functools import partial, reduce
10
11
  from typing import TYPE_CHECKING, Callable, Generator
11
12
  from urllib.parse import urlparse
12
13
 
13
14
  import click
14
- from click.types import LazyFile # type: ignore
15
15
 
16
16
  from .. import exceptions, experimental, throttling
17
17
  from ..code_samples import CodeSampleStyle
@@ -24,12 +24,14 @@ from ..loaders import load_app
24
24
  from ..service.hosts import get_temporary_hosts_file
25
25
  from ..stateful import Stateful
26
26
  from ..transports.headers import has_invalid_characters, is_latin_1_encodable
27
- from ..types import PathLike
28
27
  from .cassettes import CassetteFormat
29
28
  from .constants import DEFAULT_WORKERS
30
29
 
31
30
  if TYPE_CHECKING:
32
31
  import hypothesis
32
+ from click.types import LazyFile # type: ignore[attr-defined]
33
+
34
+ from ..types import PathLike
33
35
 
34
36
  INVALID_DERANDOMIZE_MESSAGE = (
35
37
  "`--hypothesis-derandomize` implies no database, so passing `--hypothesis-database` too is invalid."
@@ -339,7 +341,7 @@ def convert_experimental(
339
341
 
340
342
 
341
343
  def convert_checks(ctx: click.core.Context, param: click.core.Parameter, value: tuple[list[str]]) -> list[str]:
342
- return sum(value, [])
344
+ return reduce(operator.iadd, value, [])
343
345
 
344
346
 
345
347
  def convert_code_sample_style(ctx: click.core.Context, param: click.core.Parameter, value: str) -> CodeSampleStyle: