schemathesis 4.0.7__tar.gz → 4.0.9__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 (788) hide show
  1. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/release.yml +23 -1
  2. {schemathesis-4.0.7 → schemathesis-4.0.9}/CHANGELOG.md +23 -2
  3. {schemathesis-4.0.7 → schemathesis-4.0.9}/PKG-INFO +1 -1
  4. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/faq.md +14 -9
  5. schemathesis-4.0.9/docs/reference/checks.md +229 -0
  6. schemathesis-4.0.9/docs/reference/hooks.md +80 -0
  7. {schemathesis-4.0.7 → schemathesis-4.0.9}/pyproject.toml +1 -1
  8. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/handlers/junitxml.py +1 -1
  9. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/handlers/output.py +7 -14
  10. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/version.py +1 -1
  11. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/errors.py +10 -2
  12. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/probes.py +4 -9
  13. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/coverage.py +14 -0
  14. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/hypothesis/builder.py +22 -18
  15. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/_hypothesis.py +8 -8
  16. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/negative/mutations.py +9 -0
  17. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_dereferencing/test_global_security_schemes_with_custom_scope.raw +0 -1
  18. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_dereferencing/test_missing_file_in_resolution.raw +0 -1
  19. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +0 -1
  20. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +0 -1
  21. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +0 -1
  22. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +0 -1
  23. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[default].raw +0 -1
  24. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-all].raw +0 -1
  25. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[disabled-operation].raw +0 -1
  26. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_all_not_found[selected].raw +0 -1
  27. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_many_operations.raw +0 -1
  28. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_no_2xx.raw +0 -1
  29. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_no_2xx_options_only.raw +0 -1
  30. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__snapshots__/test_warnings/test_warning_on_unauthorized.raw +0 -1
  31. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +0 -1
  32. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +0 -1
  33. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +0 -1
  34. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +0 -1
  35. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +0 -1
  36. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +0 -1
  37. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +0 -1
  38. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 2.0].raw +0 -1
  39. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_cassettes/test_run_subprocess[Open API 3.0].raw +0 -1
  40. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_format_parameter_csv_response.raw +0 -1
  41. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_negative_data_rejection_displays_all_cases.raw +0 -1
  42. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_not_a_server_error.raw +0 -1
  43. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[None].raw +0 -1
  44. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses10].raw +0 -1
  45. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses1].raw +0 -1
  46. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses2].raw +0 -1
  47. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses3].raw +0 -1
  48. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses4].raw +0 -1
  49. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses5].raw +0 -1
  50. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses6].raw +0 -1
  51. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses7].raw +0 -1
  52. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_app_crash.raw +0 -1
  53. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +0 -1
  54. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -1
  55. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +0 -1
  56. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +0 -1
  57. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +0 -1
  58. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +4 -1
  59. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_cli_run_changed_base_url[Open API 3.0].raw +0 -1
  60. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-1].raw +0 -1
  61. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 2.0-2].raw +0 -1
  62. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-1].raw +0 -1
  63. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[Open API 3.0-2].raw +0 -1
  64. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_complex_urlencoded_example.raw +0 -1
  65. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +3 -2
  66. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +3 -2
  67. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +3 -2
  68. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +3 -2
  69. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +0 -1
  70. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +0 -1
  71. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +0 -1
  72. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +0 -1
  73. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_custom_cli_option[Open API 3.0].raw +0 -1
  74. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_dont_skip_when_generation_is_possible[Open API 3.0].raw +0 -1
  75. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_exit_first[Open API 3.0].raw +0 -1
  76. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +0 -1
  77. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +0 -1
  78. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_explicit_query_token_sanitization[Open API 3.0].raw +0 -1
  79. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---exclude-by=x-property != 42].raw +0 -1
  80. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_filter_by[Open API 3.0---include-by=x-property == 42].raw +0 -1
  81. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_filter_case_sensitivity[Open API 3.0].raw +0 -1
  82. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +0 -1
  83. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +0 -1
  84. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +0 -1
  85. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +0 -1
  86. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_group_errors.raw +3 -2
  87. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 2.0-1].raw +0 -1
  88. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_invalid_operation[Open API 3.0-1].raw +0 -1
  89. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2].raw +0 -1
  90. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0].raw +0 -1
  91. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 2.0-1].raw +0 -1
  92. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt[Open API 3.0-1].raw +0 -1
  93. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 2.0].raw +0 -1
  94. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_threaded[Open API 3.0].raw +0 -1
  95. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_long_operation_output.raw +0 -1
  96. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_long_payload.raw +0 -1
  97. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[Open API 3.0].raw +0 -1
  98. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +0 -1
  99. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +0 -1
  100. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +0 -1
  101. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +0 -1
  102. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie].raw +0 -1
  103. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header].raw +0 -1
  104. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path].raw +0 -1
  105. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query].raw +0 -1
  106. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_multiple_errors.raw +3 -2
  107. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +0 -1
  108. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +0 -1
  109. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +0 -1
  110. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +0 -1
  111. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +0 -1
  112. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_nested_binary_in_yaml.raw +0 -1
  113. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_no_schema_in_media_type[Open API 3.0].raw +0 -1
  114. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_no_useless_traceback.raw +0 -1
  115. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_null_byte_in_header_probe.raw +0 -1
  116. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_partial_response.raw +0 -1
  117. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_proxy_error[Open API 3.0].raw +3 -2
  118. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_read_content_timeout[Open API 3.0].raw +3 -2
  119. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_recursive_reference_error_message.raw +0 -1
  120. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_rediscover_the_same_failure_in_different_phases_and_store_junit[Open API 3.0].raw +0 -1
  121. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +0 -1
  122. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +0 -1
  123. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +0 -1
  124. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +0 -1
  125. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_reserved_characters_in_operation_name.raw +0 -1
  126. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 2.0].raw +0 -1
  127. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[Open API 3.0].raw +0 -1
  128. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 2.0].raw +0 -1
  129. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[Open API 3.0].raw +0 -1
  130. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_skip_not_negated_tests[Open API 3.0].raw +0 -1
  131. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_skipped_on_no_explicit_examples.raw +0 -1
  132. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_stateful_crash.raw +0 -1
  133. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-1].raw +0 -1
  134. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 2.0-2].raw +0 -1
  135. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-1].raw +0 -1
  136. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_status_code_conformance[Open API 3.0-2].raw +0 -1
  137. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_unknown_schema_error[Open API 3.0].raw +0 -1
  138. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +0 -1
  139. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-1].raw +0 -1
  140. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 2.0-2].raw +0 -1
  141. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-1].raw +0 -1
  142. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_unsatisfiable[Open API 3.0-2].raw +0 -1
  143. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +0 -1
  144. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_useful_traceback[Open API 3.0].raw +0 -1
  145. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_hooks/test_after_call[Open API 3.0].raw +0 -1
  146. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_multi_project/test_disable_operations[Open API 3.0].raw +0 -1
  147. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_multi_project/test_disable_phases[Open API 3.0].raw +0 -1
  148. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_phase_config/test_phase_configuration[Open API 3.0].raw +0 -1
  149. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/conftest.py +7 -0
  150. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +0 -1
  151. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +0 -1
  152. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +0 -1
  153. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +0 -1
  154. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_cli_failure.raw +0 -1
  155. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +0 -1
  156. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +0 -1
  157. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/__snapshots__/test_unique_data/test_graphql_url.raw +0 -1
  158. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/openapi/__snapshots__/test_fill_missing_examples/test_fills_missing_examples.raw +0 -1
  159. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/coverage/__snapshots__/test_phase/test_negative_data_rejection.raw +0 -1
  160. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/coverage/__snapshots__/test_phase/test_unspecified_http_methods.raw +0 -1
  161. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/coverage/test_phase.py +37 -0
  162. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/engine/__snapshots__/test_probes/test_ctrl_c.raw +0 -1
  163. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/python/test_models.py +20 -0
  164. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/__snapshots__/test_basic/test_disallow_null.raw +0 -1
  165. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--exclude-name=Query.getBooks].raw +0 -1
  166. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/__snapshots__/test_basic/test_filter_operations[--include-name=Query.getBooks].raw +0 -1
  167. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +0 -1
  168. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[basic-post].raw +0 -1
  169. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_checks/test_method_not_allowed[success-get].raw +0 -1
  170. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[basic-Authorization-406].raw +0 -1
  171. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-Authorization-200].raw +0 -1
  172. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-200].raw +0 -1
  173. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_checks/test_missing_required_header[success-X-API-Key-1-406].raw +0 -1
  174. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_examples/test_network_error_with_flaky_generation.raw +3 -2
  175. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_examples/test_parameter_override.raw +0 -1
  176. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_ignored_auth/test_explicit_auth_cli[Open API 3.0].raw +0 -1
  177. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-False].raw +0 -1
  178. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_ignored_auth/test_stateful_in_cli_no_error[Open API 3.0-True].raw +0 -1
  179. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_media_types/test_explicit_example_with_custom_media_type.raw +0 -1
  180. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/__snapshots__/test_patterns/test_response_schema_is_not_mutated.raw +0 -1
  181. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-1].raw +0 -1
  182. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_default[Open API 3.0-2].raw +0 -1
  183. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_filtered_out[Open API 3.0].raw +0 -1
  184. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_generation_config[Open API 3.0].raw +0 -1
  185. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_invalid_parameter_reference.raw +0 -1
  186. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_keyboard_interrupt[Open API 3.0].raw +0 -1
  187. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_max_failures[Open API 3.0].raw +0 -1
  188. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_body_parameter.raw +0 -1
  189. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_missing_link[Open API 3.0].raw +0 -1
  190. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[User data as plain text].raw +0 -1
  191. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_non_json_response[].raw +0 -1
  192. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_not_enough_links[Open API 3.0].raw +0 -1
  193. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_proxy_error[Open API 3.0].raw +3 -2
  194. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only[Open API 3.0].raw +0 -1
  195. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__snapshots__/test_cli/test_stateful_only_with_error[Open API 3.0].raw +3 -2
  196. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_negative.py +34 -0
  197. {schemathesis-4.0.7 → schemathesis-4.0.9}/test-corpus/test_corpus.py +7 -1
  198. schemathesis-4.0.7/docs/reference/checks.md +0 -80
  199. schemathesis-4.0.7/docs/reference/hooks.md +0 -43
  200. {schemathesis-4.0.7 → schemathesis-4.0.9}/.dockerignore +0 -0
  201. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/FUNDING.yml +0 -0
  202. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  203. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  204. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  205. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/dependabot.yml +0 -0
  206. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/build.yml +0 -0
  207. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/codeql-analysis.yml +0 -0
  208. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/codspeed.yml +0 -0
  209. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/commit.yml +0 -0
  210. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/example-build.yml +0 -0
  211. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/master_update.yml +0 -0
  212. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/test-corpus.yml +0 -0
  213. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/test-hypothesis.yml +0 -0
  214. {schemathesis-4.0.7 → schemathesis-4.0.9}/.github/workflows/update-pre-commit.yml +0 -0
  215. {schemathesis-4.0.7 → schemathesis-4.0.9}/.gitignore +0 -0
  216. {schemathesis-4.0.7 → schemathesis-4.0.9}/.pre-commit-config.yaml +0 -0
  217. {schemathesis-4.0.7 → schemathesis-4.0.9}/.readthedocs.yaml +0 -0
  218. {schemathesis-4.0.7 → schemathesis-4.0.9}/.yamllint +0 -0
  219. {schemathesis-4.0.7 → schemathesis-4.0.9}/ARCHITECTURE.md +0 -0
  220. {schemathesis-4.0.7 → schemathesis-4.0.9}/CITATION.cff +0 -0
  221. {schemathesis-4.0.7 → schemathesis-4.0.9}/CODE_OF_CONDUCT.md +0 -0
  222. {schemathesis-4.0.7 → schemathesis-4.0.9}/CONTRIBUTING.md +0 -0
  223. {schemathesis-4.0.7 → schemathesis-4.0.9}/Dockerfile +0 -0
  224. {schemathesis-4.0.7 → schemathesis-4.0.9}/Dockerfile.bookworm +0 -0
  225. {schemathesis-4.0.7 → schemathesis-4.0.9}/LICENSE +0 -0
  226. {schemathesis-4.0.7 → schemathesis-4.0.9}/MIGRATION.md +0 -0
  227. {schemathesis-4.0.7 → schemathesis-4.0.9}/README.md +0 -0
  228. {schemathesis-4.0.7 → schemathesis-4.0.9}/SECURITY.md +0 -0
  229. {schemathesis-4.0.7 → schemathesis-4.0.9}/benches/cli.py +0 -0
  230. {schemathesis-4.0.7 → schemathesis-4.0.9}/benches/coverage_phase.py +0 -0
  231. {schemathesis-4.0.7 → schemathesis-4.0.9}/benches/references.py +0 -0
  232. {schemathesis-4.0.7 → schemathesis-4.0.9}/benches/schema.py +0 -0
  233. {schemathesis-4.0.7 → schemathesis-4.0.9}/changelog.py +0 -0
  234. {schemathesis-4.0.7 → schemathesis-4.0.9}/codecov.yml +0 -0
  235. {schemathesis-4.0.7 → schemathesis-4.0.9}/corpus/data/graphql.tar.gz +0 -0
  236. {schemathesis-4.0.7 → schemathesis-4.0.9}/corpus/data/openapi-3.0.tar.gz +0 -0
  237. {schemathesis-4.0.7 → schemathesis-4.0.9}/corpus/data/openapi-3.1.tar.gz +0 -0
  238. {schemathesis-4.0.7 → schemathesis-4.0.9}/corpus/data/swagger-2.0.tar.gz +0 -0
  239. {schemathesis-4.0.7 → schemathesis-4.0.9}/corpus/tools.py +0 -0
  240. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/configuration.md +0 -0
  241. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/explanations/data-generation.md +0 -0
  242. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/explanations/examples.md +0 -0
  243. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/explanations/pytest.md +0 -0
  244. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/explanations/stateful.md +0 -0
  245. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/auth.md +0 -0
  246. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/cicd.md +0 -0
  247. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/config-optimization.md +0 -0
  248. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/custom-media-types.md +0 -0
  249. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/custom-serializers.md +0 -0
  250. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/extending-cli.md +0 -0
  251. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/extending.md +0 -0
  252. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/graphql-custom-scalars.md +0 -0
  253. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/hypothesis-strategies.md +0 -0
  254. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/index.md +0 -0
  255. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/python-apps.md +0 -0
  256. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/schema-conformance.md +0 -0
  257. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/stateful-testing.md +0 -0
  258. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/guides/targeted.md +0 -0
  259. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/index.md +0 -0
  260. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/quick-start.md +0 -0
  261. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/reference/cli.md +0 -0
  262. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/reference/configuration.md +0 -0
  263. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/reference/python.md +0 -0
  264. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/reference/warnings.md +0 -0
  265. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/resources.md +0 -0
  266. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/stylesheets/extra.css +0 -0
  267. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/tutorials/cli.md +0 -0
  268. {schemathesis-4.0.7 → schemathesis-4.0.9}/docs/tutorials/pytest.md +0 -0
  269. {schemathesis-4.0.7 → schemathesis-4.0.9}/examples/booking/Dockerfile +0 -0
  270. {schemathesis-4.0.7 → schemathesis-4.0.9}/examples/booking/README.md +0 -0
  271. {schemathesis-4.0.7 → schemathesis-4.0.9}/examples/booking/app.py +0 -0
  272. {schemathesis-4.0.7 → schemathesis-4.0.9}/examples/booking/docker-compose.yml +0 -0
  273. {schemathesis-4.0.7 → schemathesis-4.0.9}/img/demo.gif +0 -0
  274. {schemathesis-4.0.7 → schemathesis-4.0.9}/mkdocs.yml +0 -0
  275. {schemathesis-4.0.7 → schemathesis-4.0.9}/mypy.ini +0 -0
  276. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/__init__.py +0 -0
  277. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/auths.py +0 -0
  278. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/checks.py +0 -0
  279. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/__init__.py +0 -0
  280. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/__main__.py +0 -0
  281. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/__init__.py +0 -0
  282. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/data.py +0 -0
  283. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/__init__.py +0 -0
  284. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/context.py +0 -0
  285. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/events.py +0 -0
  286. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/executor.py +0 -0
  287. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/filters.py +0 -0
  288. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/handlers/__init__.py +0 -0
  289. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/handlers/base.py +0 -0
  290. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/handlers/cassettes.py +0 -0
  291. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/loaders.py +0 -0
  292. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/commands/run/validation.py +0 -0
  293. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/constants.py +0 -0
  294. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/core.py +0 -0
  295. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/ext/__init__.py +0 -0
  296. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/ext/fs.py +0 -0
  297. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/ext/groups.py +0 -0
  298. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/cli/ext/options.py +0 -0
  299. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/__init__.py +0 -0
  300. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_auth.py +0 -0
  301. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_checks.py +0 -0
  302. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_diff_base.py +0 -0
  303. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_env.py +0 -0
  304. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_error.py +0 -0
  305. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_generation.py +0 -0
  306. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_health_check.py +0 -0
  307. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_operations.py +0 -0
  308. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_output.py +0 -0
  309. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_parameters.py +0 -0
  310. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_phases.py +0 -0
  311. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_projects.py +0 -0
  312. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_rate_limit.py +0 -0
  313. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_report.py +0 -0
  314. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_validator.py +0 -0
  315. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/_warnings.py +0 -0
  316. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/config/schema.json +0 -0
  317. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/__init__.py +0 -0
  318. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/compat.py +0 -0
  319. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/control.py +0 -0
  320. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/curl.py +0 -0
  321. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/deserialization.py +0 -0
  322. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/errors.py +0 -0
  323. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/failures.py +0 -0
  324. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/fs.py +0 -0
  325. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/hooks.py +0 -0
  326. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/lazy_import.py +0 -0
  327. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/loaders.py +0 -0
  328. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/marks.py +0 -0
  329. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/media_types.py +0 -0
  330. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/output/__init__.py +0 -0
  331. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/output/sanitization.py +0 -0
  332. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/rate_limit.py +0 -0
  333. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/registries.py +0 -0
  334. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/result.py +0 -0
  335. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/transforms.py +0 -0
  336. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/transport.py +0 -0
  337. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/core/validation.py +0 -0
  338. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/__init__.py +0 -0
  339. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/context.py +0 -0
  340. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/control.py +0 -0
  341. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/core.py +0 -0
  342. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/events.py +0 -0
  343. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/__init__.py +0 -0
  344. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/stateful/__init__.py +0 -0
  345. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/stateful/_executor.py +0 -0
  346. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/stateful/context.py +0 -0
  347. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/unit/__init__.py +0 -0
  348. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/unit/_executor.py +0 -0
  349. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/phases/unit/_pool.py +0 -0
  350. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/engine/recorder.py +0 -0
  351. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/errors.py +0 -0
  352. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/filters.py +0 -0
  353. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/__init__.py +0 -0
  354. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/case.py +0 -0
  355. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/hypothesis/__init__.py +0 -0
  356. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/hypothesis/examples.py +0 -0
  357. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/hypothesis/given.py +0 -0
  358. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/hypothesis/reporting.py +0 -0
  359. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/hypothesis/strategies.py +0 -0
  360. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/meta.py +0 -0
  361. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/metrics.py +0 -0
  362. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/modes.py +0 -0
  363. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/overrides.py +0 -0
  364. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/stateful/__init__.py +0 -0
  365. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/generation/stateful/state_machine.py +0 -0
  366. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/graphql/__init__.py +0 -0
  367. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/graphql/checks.py +0 -0
  368. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/graphql/loaders.py +0 -0
  369. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/hooks.py +0 -0
  370. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/openapi/__init__.py +0 -0
  371. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/openapi/checks.py +0 -0
  372. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/openapi/generation/__init__.py +0 -0
  373. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/openapi/generation/filters.py +0 -0
  374. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/openapi/loaders.py +0 -0
  375. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/py.typed +0 -0
  376. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/pytest/__init__.py +0 -0
  377. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/pytest/control_flow.py +0 -0
  378. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/pytest/lazy.py +0 -0
  379. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/pytest/loaders.py +0 -0
  380. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/pytest/plugin.py +0 -0
  381. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/python/__init__.py +0 -0
  382. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/python/asgi.py +0 -0
  383. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/python/wsgi.py +0 -0
  384. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/schemas.py +0 -0
  385. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/__init__.py +0 -0
  386. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/graphql/__init__.py +0 -0
  387. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/graphql/_cache.py +0 -0
  388. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/graphql/nodes.py +0 -0
  389. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/graphql/scalars.py +0 -0
  390. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/graphql/schemas.py +0 -0
  391. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/graphql/validation.py +0 -0
  392. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/__init__.py +0 -0
  393. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/_cache.py +0 -0
  394. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/checks.py +0 -0
  395. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/constants.py +0 -0
  396. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/converter.py +0 -0
  397. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/definitions.py +0 -0
  398. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/examples.py +0 -0
  399. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
  400. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
  401. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/expressions/extractors.py +0 -0
  402. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
  403. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/expressions/nodes.py +0 -0
  404. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/expressions/parser.py +0 -0
  405. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/formats.py +0 -0
  406. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/media_types.py +0 -0
  407. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/negative/__init__.py +0 -0
  408. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/negative/types.py +0 -0
  409. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
  410. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/parameters.py +0 -0
  411. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/patterns.py +0 -0
  412. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/references.py +0 -0
  413. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/schemas.py +0 -0
  414. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/security.py +0 -0
  415. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/serialization.py +0 -0
  416. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/stateful/__init__.py +0 -0
  417. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/stateful/control.py +0 -0
  418. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/stateful/links.py +0 -0
  419. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/specs/openapi/utils.py +0 -0
  420. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/transport/__init__.py +0 -0
  421. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/transport/asgi.py +0 -0
  422. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/transport/prepare.py +0 -0
  423. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/transport/requests.py +0 -0
  424. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/transport/serialization.py +0 -0
  425. {schemathesis-4.0.7 → schemathesis-4.0.9}/src/schemathesis/transport/wsgi.py +0 -0
  426. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/__init__.py +0 -0
  427. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/_pytest/__init__.py +0 -0
  428. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/_pytest/test_markers.py +0 -0
  429. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/__init__.py +0 -0
  430. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/_graphql/__init__.py +0 -0
  431. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/_graphql/_fastapi/__init__.py +0 -0
  432. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/_graphql/_fastapi/app.py +0 -0
  433. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/_graphql/_flask/__init__.py +0 -0
  434. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/_graphql/_flask/app.py +0 -0
  435. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/_graphql/schema.py +0 -0
  436. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/cp1252_app.py +0 -0
  437. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/hooks.py +0 -0
  438. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/__init__.py +0 -0
  439. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/_aiohttp/__init__.py +0 -0
  440. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/_aiohttp/app.py +0 -0
  441. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/_aiohttp/handlers.py +0 -0
  442. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/_fastapi/__init__.py +0 -0
  443. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/_fastapi/app.py +0 -0
  444. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/_flask/__init__.py +0 -0
  445. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/_flask/app.py +0 -0
  446. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/apps/openapi/schema.py +0 -0
  447. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/__init__.py +0 -0
  448. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/conftest.py +0 -0
  449. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/test_cli.py +0 -0
  450. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/test_provider.py +0 -0
  451. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/auth/test_pytest.py +0 -0
  452. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__init__.py +0 -0
  453. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_bytes_without_cassette_path[Open API 3.0].raw +0 -0
  454. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses8].raw +0 -0
  455. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance[expected_statuses9].raw +0 -0
  456. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_checks/test_positive_data_acceptance_with_env_vars.raw +0 -0
  457. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
  458. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
  459. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
  460. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
  461. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_duplicated_filters[Open API 3.0].raw +0 -0
  462. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_empty_schema_file.raw +0 -0
  463. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
  464. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
  465. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_hooks_with_inner_import_error.raw +0 -0
  466. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
  467. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_invalid_filter[Open API 3.0].raw +0 -0
  468. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_invalid_yaml.raw +0 -0
  469. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_keyboard_interrupt_during_schema_loading.raw +0 -0
  470. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +0 -0
  471. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
  472. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
  473. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
  474. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
  475. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
  476. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
  477. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
  478. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
  479. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
  480. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
  481. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
  482. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
  483. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
  484. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
  485. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
  486. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +0 -0
  487. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +0 -0
  488. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args25].raw +0 -0
  489. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args26].raw +0 -0
  490. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args27].raw +0 -0
  491. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args28].raw +0 -0
  492. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args29].raw +0 -0
  493. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
  494. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args30].raw +0 -0
  495. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
  496. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
  497. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
  498. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
  499. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
  500. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
  501. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
  502. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
  503. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
  504. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
  505. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/cert.pem +0 -0
  506. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_cassettes.py +0 -0
  507. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_checks.py +0 -0
  508. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_commands.py +0 -0
  509. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_crashes.py +0 -0
  510. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_hooks.py +0 -0
  511. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_junitxml.py +0 -0
  512. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_options.py +0 -0
  513. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_targeted.py +0 -0
  514. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/cli/test_validation.py +0 -0
  515. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/code_samples/test_curl.py +0 -0
  516. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__init__.py +0 -0
  517. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_cli/test_incorrect_config[null_byte].raw +0 -0
  518. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_duplicate_filter].raw +0 -0
  519. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_expression].raw +0 -0
  520. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_invalid_regex].raw +0 -0
  521. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_cli/test_incorrect_config[operation_missing_includes].raw +0 -0
  522. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_cli/test_incorrect_config[syntactic_error].raw +0 -0
  523. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_cli/test_incorrect_config[unknown_property].raw +0 -0
  524. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.generation-mode-negative].raw +0 -0
  525. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic-non-latin1].raw +0 -0
  526. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-auth-basic].raw +0 -0
  527. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-headers].raw +0 -0
  528. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check-close-match].raw +0 -0
  529. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-health-check].raw +0 -0
  530. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-placeholder].raw +0 -0
  531. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-project].raw +0 -0
  532. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-rate-limit].raw +0 -0
  533. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout-negative].raw +0 -0
  534. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-request-timeout].raw +0 -0
  535. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.incorrect-tls-verify].raw +0 -0
  536. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.root].raw +0 -0
  537. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.warnings-off].raw +0 -0
  538. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.warnings-on].raw +0 -0
  539. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[common.warnings-selection].raw +0 -0
  540. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[operations.basic].raw +0 -0
  541. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[operations.complex_many].raw +0 -0
  542. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[operations.missing_config_options].raw +0 -0
  543. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[operations.warnings-off].raw +0 -0
  544. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[operations.warnings-on].raw +0 -0
  545. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[parameters.basic].raw +0 -0
  546. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[parameters.mixed].raw +0 -0
  547. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[parameters.with_locations].raw +0 -0
  548. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.all_enabled].raw +0 -0
  549. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.incorrect_section_type].raw +0 -0
  550. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types].raw +0 -0
  551. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.incorrect_types_in_vcr].raw +0 -0
  552. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.invalid_format_names].raw +0 -0
  553. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.one_enabled].raw +0 -0
  554. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.unknown_keyword_vcr].raw +0 -0
  555. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.unknown_keywords].raw +0 -0
  556. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.with_env_var].raw +0 -0
  557. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_in_path].raw +0 -0
  558. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_config/test_configs[report.with_env_var_missing].raw +0 -0
  559. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username0].raw +0 -0
  560. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[auth_basic_username_username1].raw +0 -0
  561. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_api_host_v1_he].raw +0 -0
  562. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[base_url_https_environment_ap].raw +0 -0
  563. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[checks_disable_globally_conte].raw +0 -0
  564. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[checks_enabled_false_only_che].raw +0 -0
  565. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[checks_max_response_time_2_0].raw +0 -0
  566. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[checks_positive_data_acceptan].raw +0 -0
  567. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[checks_response_schema_confor].raw +0 -0
  568. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[client_certificate_with_bundl].raw +0 -0
  569. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[color_false].raw +0 -0
  570. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[continue_on_failure_true].raw +0 -0
  571. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[default_auth_for_most_operati].raw +0 -0
  572. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[default_fast_testing_generati].raw +0 -0
  573. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[default_timeout_request_timeo].raw +0 -0
  574. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[disable_all_warnings_warnings].raw +0 -0
  575. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[enable_specific_warnings_only].raw +0 -0
  576. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_allow_x00_false].raw +0 -0
  577. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_codec_ascii].raw +0 -0
  578. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_memory].raw +0 -0
  579. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_database_schemathe].raw +0 -0
  580. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_deterministic_true].raw +0 -0
  581. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_exclude_header_cha].raw +0 -0
  582. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_graphql_allow_null].raw +0 -0
  583. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_1000].raw +0 -0
  584. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_200].raw +0 -0
  585. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_max_examples_50].raw +0 -0
  586. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_maximize_response].raw +0 -0
  587. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_mode_negative].raw +0 -0
  588. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_no_shrink_true].raw +0 -0
  589. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_unique_inputs_true].raw +0 -0
  590. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[generation_with_security_para].raw +0 -0
  591. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[global_defaults_generation_ma].raw +0 -0
  592. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[global_hooks_for_all_projects].raw +0 -0
  593. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[global_parameters_parameters].raw +0 -0
  594. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[headers_authorization_bearer].raw +0 -0
  595. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key0].raw +0 -0
  596. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key1].raw +0 -0
  597. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[headers_x_api_key_api_key_acc].raw +0 -0
  598. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[max_failures_42].raw +0 -0
  599. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[operations_by_exact_path_incl].raw +0 -0
  600. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[operations_exclude_path_billi].raw +0 -0
  601. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_name_post].raw +0 -0
  602. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[operations_include_path_billi].raw +0 -0
  603. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[operations_without_operationi].raw +0 -0
  604. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[optionally_under_a_named_proj].raw +0 -0
  605. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_enabled_f].raw +0 -0
  606. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_keys_to_s].raw +0 -0
  607. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_replaceme].raw +0 -0
  608. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_sanitization_sensitive].raw +0 -0
  609. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_enabled_fal].raw +0 -0
  610. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_lines_2].raw +0 -0
  611. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_payload].raw +0 -0
  612. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[output_truncation_max_width_1].raw +0 -0
  613. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_checks_not_a].raw +0 -0
  614. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_enabled_false].raw +0 -0
  615. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_generate_dupl].raw +0 -0
  616. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[phases_coverage_unexpected_me].raw +0 -0
  617. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[phases_examples_fill_missing].raw +0 -0
  618. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[phases_skip_stateful_testing].raw +0 -0
  619. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[phases_stateful_max_steps_50].raw +0 -0
  620. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_http_localhost_8080].raw +0 -0
  621. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[proxy_https_username_password].raw +0 -0
  622. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_1000_h].raw +0 -0
  623. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_100_m].raw +0 -0
  624. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[rate_limit_5_s].raw +0 -0
  625. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[reports_directory_test_result].raw +0 -0
  626. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_enabled_true].raw +0 -0
  627. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[reports_junit_path_test_repor].raw +0 -0
  628. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[reports_preserve_bytes_true].raw +0 -0
  629. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_0_5].raw +0 -0
  630. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_30_0_30_secon].raw +0 -0
  631. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[request_timeout_5_0].raw +0 -0
  632. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[run_more_tests_for_better_cov].raw +0 -0
  633. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[seed_42].raw +0 -0
  634. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[set_certificate_and_separate].raw +0 -0
  635. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[suppress_health_check_too_slo].raw +0 -0
  636. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_false].raw +0 -0
  637. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[tls_verify_path_to_ca_bundle].raw +0 -0
  638. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[wait_for_schema_5_0].raw +0 -0
  639. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/__snapshots__/test_doc_examples/test_configs[workers_4_use_exactly_4_worke].raw +0 -0
  640. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/generation-mode-negative.toml +0 -0
  641. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-auth-basic-non-latin1.toml +0 -0
  642. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-auth-basic.toml +0 -0
  643. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-headers.toml +0 -0
  644. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-health-check-close-match.toml +0 -0
  645. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-health-check.toml +0 -0
  646. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-placeholder.toml +0 -0
  647. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-project.toml +0 -0
  648. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-rate-limit.toml +0 -0
  649. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-request-timeout-negative.toml +0 -0
  650. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-request-timeout.toml +0 -0
  651. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/incorrect-tls-verify.toml +0 -0
  652. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/root.toml +0 -0
  653. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/warnings-off.toml +0 -0
  654. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/warnings-on.toml +0 -0
  655. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/common/warnings-selection.toml +0 -0
  656. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/operations/basic.toml +0 -0
  657. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/operations/complex_many.toml +0 -0
  658. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/operations/missing_config_options.toml +0 -0
  659. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/operations/warnings-off.toml +0 -0
  660. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/operations/warnings-on.toml +0 -0
  661. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/parameters/basic.toml +0 -0
  662. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/parameters/mixed.toml +0 -0
  663. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/parameters/with_locations.toml +0 -0
  664. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/all_enabled.toml +0 -0
  665. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/incorrect_section_type.toml +0 -0
  666. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/incorrect_types.toml +0 -0
  667. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/incorrect_types_in_vcr.toml +0 -0
  668. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/invalid_format_names.toml +0 -0
  669. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/one_enabled.toml +0 -0
  670. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/unknown_keyword_vcr.toml +0 -0
  671. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/unknown_keywords.toml +0 -0
  672. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/with_env_var.toml +0 -0
  673. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/with_env_var_in_path.toml +0 -0
  674. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/configs/report/with_env_var_missing.toml +0 -0
  675. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/conftest.py +0 -0
  676. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/hooks/__init__.py +0 -0
  677. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/hooks/error.py +0 -0
  678. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/hooks/example.py +0 -0
  679. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/hooks/hello.py +0 -0
  680. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_cli.py +0 -0
  681. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_config.py +0 -0
  682. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_discovery.py +0 -0
  683. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_doc_examples.py +0 -0
  684. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_hierarchy.py +0 -0
  685. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_hooks.py +0 -0
  686. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_merging.py +0 -0
  687. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_multi_project.py +0 -0
  688. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_phase_config.py +0 -0
  689. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/config/test_status_code_validation.py +0 -0
  690. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/openapi/test_fill_missing_examples.py +0 -0
  691. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/contrib/test_unique_data.py +0 -0
  692. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/core/__init__.py +0 -0
  693. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/core/test_deserialization.py +0 -0
  694. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/core/test_media_types.py +0 -0
  695. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/coverage/__init__.py +0 -0
  696. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/coverage/test_combinations.py +0 -0
  697. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/coverage/test_examples.py +0 -0
  698. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/petstore_v2.yaml +0 -0
  699. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/petstore_v3.yaml +0 -0
  700. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/relative_files/components/parameters.yaml +0 -0
  701. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/relative_files/components/responses.yaml +0 -0
  702. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/relative_files/components/schemas.yaml +0 -0
  703. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/relative_files/main.yaml +0 -0
  704. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/relative_files/paths/user-account.yaml +0 -0
  705. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/simple_openapi.yaml +0 -0
  706. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/data/simple_swagger.yaml +0 -0
  707. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/engine/__init__.py +0 -0
  708. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/engine/test_checks.py +0 -0
  709. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/engine/test_engine.py +0 -0
  710. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/engine/test_errors.py +0 -0
  711. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/engine/test_probes.py +0 -0
  712. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/filters/__init__.py +0 -0
  713. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/filters/test_cli.py +0 -0
  714. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/filters/test_expressions.py +0 -0
  715. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/filters/test_matching.py +0 -0
  716. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/fixtures/__init__.py +0 -0
  717. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/fixtures/app_runner.py +0 -0
  718. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/fixtures/ctx.py +0 -0
  719. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/hooks/test_filters.py +0 -0
  720. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/hooks/test_hooks.py +0 -0
  721. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/loaders/conftest.py +0 -0
  722. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/loaders/test_common.py +0 -0
  723. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/loaders/test_graphql.py +0 -0
  724. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/loaders/test_openapi.py +0 -0
  725. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/openapi/__init__.py +0 -0
  726. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/openapi/test_filters.py +0 -0
  727. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/python/__init__.py +0 -0
  728. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/python/test_case.py +0 -0
  729. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +0 -0
  730. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +0 -0
  731. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/test_basic.py +0 -0
  732. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/test_custom_scalars.py +0 -0
  733. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/graphql/test_pytest.py +0 -0
  734. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/blank.pdf +0 -0
  735. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/conftest.py +0 -0
  736. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/parameters/test_forms.py +0 -0
  737. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/parameters/test_non_payload.py +0 -0
  738. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
  739. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/__init__.py +0 -0
  740. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/conftest.py +0 -0
  741. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/test_cli.py +0 -0
  742. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/test_engine.py +0 -0
  743. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/stateful/test_stateful.py +0 -0
  744. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_checks.py +0 -0
  745. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_examples.py +0 -0
  746. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_expressions.py +0 -0
  747. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_hypothesis.py +0 -0
  748. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_ignored_auth.py +0 -0
  749. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_media_types.py +0 -0
  750. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_parameters.py +0 -0
  751. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_patterns.py +0 -0
  752. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_randomized.py +0 -0
  753. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_schemas.py +0 -0
  754. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_security.py +0 -0
  755. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_serializing.py +0 -0
  756. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/specs/openapi/test_utils.py +0 -0
  757. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_app.py +0 -0
  758. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_asgi.py +0 -0
  759. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_async.py +0 -0
  760. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_common_parameters.py +0 -0
  761. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_converter.py +0 -0
  762. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_dereferencing.py +0 -0
  763. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_direct_access.py +0 -0
  764. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_examples.py +0 -0
  765. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_filters.py +0 -0
  766. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_hypothesis.py +0 -0
  767. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_lazy.py +0 -0
  768. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_output.py +0 -0
  769. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_package.py +0 -0
  770. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_parameters.py +0 -0
  771. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_parametrization.py +0 -0
  772. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_petstore.py +0 -0
  773. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_pytest.py +0 -0
  774. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_rate_limit.py +0 -0
  775. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_recoverable_errors.py +0 -0
  776. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_required.py +0 -0
  777. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_sanitizing_output.py +0 -0
  778. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_schemas.py +0 -0
  779. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_serialization.py +0 -0
  780. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_stateful.py +0 -0
  781. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_unittest.py +0 -0
  782. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_warnings.py +0 -0
  783. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/test_wsgi.py +0 -0
  784. {schemathesis-4.0.7 → schemathesis-4.0.9}/test/utils.py +0 -0
  785. {schemathesis-4.0.7 → schemathesis-4.0.9}/test-corpus/conftest.py +0 -0
  786. {schemathesis-4.0.7 → schemathesis-4.0.9}/test_server.sh +0 -0
  787. {schemathesis-4.0.7 → schemathesis-4.0.9}/tox.ini +0 -0
  788. {schemathesis-4.0.7 → schemathesis-4.0.9}/typos.toml +0 -0
@@ -32,6 +32,22 @@ jobs:
32
32
  fi
33
33
  shell: bash
34
34
 
35
+
36
+ - name: Generate stable tag
37
+ id: stable-tag
38
+ run: |
39
+ if [ "${{ env.is_prerelease }}" == "false" ]; then
40
+ if [ "${{ matrix.tag-suffix }}" == "" ]; then
41
+ echo "stable_tag=type=raw,value=stable" >> $GITHUB_OUTPUT
42
+ elif [ "${{ matrix.tag-suffix }}" == "-bookworm" ]; then
43
+ echo "stable_tag=type=raw,value=stable-bookworm" >> $GITHUB_OUTPUT
44
+ else
45
+ echo "stable_tag=" >> $GITHUB_OUTPUT
46
+ fi
47
+ else
48
+ echo "stable_tag=" >> $GITHUB_OUTPUT
49
+ fi
50
+
35
51
  - name: Docker meta
36
52
  id: meta
37
53
  uses: docker/metadata-action@v5
@@ -44,7 +60,13 @@ jobs:
44
60
  tags: |
45
61
  type=semver,pattern={{raw}}${{ matrix.tag-suffix }}
46
62
  type=semver,pattern={{version}}${{ matrix.tag-suffix }}
47
- ${{ env.is_prerelease == 'false' && 'type=raw,value=stable${{ matrix.tag-suffix }}' || '' }}
63
+ ${{ steps.stable-tag.outputs.stable_tag }}
64
+
65
+ - name: Build metadata
66
+ run: |
67
+ echo "Tags: ${{ steps.meta.outputs.tags }}"
68
+ echo "Is prerelease: ${{ env.is_prerelease }}"
69
+ echo "Tag suffix: '${{ matrix.tag-suffix }}'"
48
70
 
49
71
  - name: Set up QEMU
50
72
  uses: docker/setup-qemu-action@v3
@@ -1,6 +1,27 @@
1
1
  # Changelog
2
2
 
3
- ## [Unreleased](https://github.com/schemathesis/schemathesis/compare/v4.0.7...HEAD) - TBD
3
+ ## [Unreleased](https://github.com/schemathesis/schemathesis/compare/v4.0.9...HEAD) - TBD
4
+
5
+ ## [4.0.9](https://github.com/schemathesis/schemathesis/compare/v4.0.8...v4.0.9) - 2025-07-13
6
+
7
+ ### :bug: Fixed
8
+
9
+ - Do not generate negative test cases during the coverage phase if the original schema accepts any value.
10
+
11
+ ### :wrench: Changed
12
+
13
+ - Do not display API probing result in the test phases summary.
14
+ - Do not display API probing errors in CLI output. Treat errors as a missing capability.
15
+ - Display cURL code samples on more network errors. [#2940](https://github.com/schemathesis/schemathesis/issues/2940)
16
+
17
+ ## [4.0.8](https://github.com/schemathesis/schemathesis/compare/v4.0.7...v4.0.8) - 2025-07-12
18
+
19
+ ### :bug: Fixed
20
+
21
+ - Use `utf-8` encoding when generating JUnit reports.
22
+ - Properly display Schemathesis version in CLI.
23
+ - Test case metadata containing incorrect info about generated components causing false positive failures in `negative_data_rejection` and `positive_data_acceptance` checks. [#2900](https://github.com/schemathesis/schemathesis/issues/2900)
24
+ - Negative test cases with invalid query parameters mistakenly becoming positive test cases.
4
25
 
5
26
  ## [4.0.7](https://github.com/schemathesis/schemathesis/compare/v4.0.6...v4.0.7) - 2025-07-08
6
27
 
@@ -30,7 +51,7 @@
30
51
 
31
52
  ### :bug: Fixed
32
53
 
33
- - Ignoring some string formats during positive test case generation in the coverage phase. [#2930](https://github.com/schemathesis/schemathesis/issues/2930)
54
+ - Ignoring some string formats during positive test case generation in the coverage phase. [#2930](https://github.com/schemathesis/schemathesis/issues/2930)
34
55
 
35
56
  ## [4.0.4](https://github.com/schemathesis/schemathesis/compare/v4.0.3...v4.0.4) - 2025-07-02
36
57
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: schemathesis
3
- Version: 4.0.7
3
+ Version: 4.0.9
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://github.com/schemathesis/schemathesis/blob/master/CHANGELOG.md
@@ -5,10 +5,10 @@
5
5
  Schemathesis generates three types of data:
6
6
 
7
7
  - **Schema examples** from your API documentation
8
- - **Valid test data** that follows schema constraints
8
+ - **Valid test data** that follows schema constraints
9
9
  - **Invalid test data** that deliberately breaks constraints
10
10
 
11
- The data covers all JSON Schema types for OpenAPI and valid queries for GraphQL.
11
+ The data covers all JSON Schema types for OpenAPI and valid queries for GraphQL.
12
12
 
13
13
  Note, that some generated data may be rejected by your API if the validation rules are not expressed in your schema.
14
14
 
@@ -16,22 +16,27 @@ Note, that some generated data may be rejected by your API if the validation rul
16
16
 
17
17
  Schemathesis identifies problems in three main categories:
18
18
 
19
- **API Contract Violations**
19
+ **Schema Compliance Issues**
20
20
 
21
- - Responses not matching documented schemas
21
+ - Response bodies not matching schemas
22
22
  - Undocumented status codes
23
- - Missing or incorrect content types
23
+ - Missing required headers
24
+ - Wrong content types
24
25
 
25
26
  **Implementation Flaws**
26
27
 
27
- - Server errors (5xx responses)
28
- - Data validation issues (accepting invalid data or rejecting valid data)
28
+ - Server crashes (5xx responses)
29
+ - Accepting invalid data
30
+ - Rejecting valid data
31
+ - Allowing missing required headers
29
32
  - Authentication bypasses
30
33
 
31
34
  **Stateful Behavior Issues**
32
35
 
33
- - Resources accessible after deletion
34
- - Resources unavailable after creation
36
+ - Deleted resources still accessible
37
+ - Created resources not available
38
+
39
+ See more details in the [Checks reference](reference/checks.md).
35
40
 
36
41
  ## How should I run Schemathesis?
37
42
 
@@ -0,0 +1,229 @@
1
+ # Checks
2
+
3
+ Schemathesis automatically validates API responses using various checks. Each check targets specific aspects of API behavior and its compliance to the specification.
4
+
5
+ ## Core Response Validation
6
+
7
+ These checks validate that API responses conform to your API schema.
8
+
9
+ ### `not_a_server_error`
10
+
11
+ Catches server-side errors and implementation issues
12
+
13
+ **Examples**
14
+
15
+ - `500 Internal Server Error`
16
+ - `502 Bad Gateway`
17
+ - GraphQL response with `"errors": [{...}]`
18
+
19
+ ---
20
+
21
+ ### `status_code_conformance`
22
+
23
+ Verifies response status codes match schema documentation
24
+
25
+ **Examples**
26
+
27
+ - Schema documents `200, 404` but API returns `403`
28
+ - Schema documents `201` but API returns `200`
29
+
30
+ ---
31
+
32
+ ### `content_type_conformance`
33
+
34
+ Validates `Content-Type` header matches schema
35
+
36
+ **Examples**
37
+
38
+ - Schema specifies `application/json` but API returns `text/html`
39
+ - Schema specifies `application/xml` but API returns `application/json`
40
+
41
+ ---
42
+
43
+ ### `response_headers_conformance`
44
+
45
+ Ensures required response headers are present and valid
46
+
47
+ **Example**
48
+
49
+ Schema specifies response must include `X-RateLimit-Remaining` header:
50
+
51
+ ```http
52
+ GET /api/data
53
+
54
+ Response: 200 OK
55
+ Content-Type: application/json
56
+ # Missing required X-RateLimit-Remaining header ❌
57
+
58
+ {"data": [...]}
59
+ ```
60
+
61
+ ---
62
+
63
+ ### `response_schema_conformance`
64
+
65
+ Validates response body against JSON Schema
66
+
67
+ **Example**
68
+
69
+ Schema defines user object as:
70
+
71
+ ```yaml
72
+ type: object
73
+ required: [id, name, email]
74
+ properties:
75
+ id: {type: integer}
76
+ name: {type: string}
77
+ email: {type: string, format: email}
78
+ ```
79
+
80
+ But API returns:
81
+
82
+ ```http
83
+ GET /users/789
84
+
85
+ Response: 200 OK
86
+ {
87
+ "id": "789", ❌ Should be integer, not string
88
+ "name": "Eve" ❌ Missing required 'email' field
89
+ }
90
+ ```
91
+
92
+ ## Input Handling Validation
93
+
94
+ These checks verify how your API processes different types of request data.
95
+
96
+ ### `negative_data_rejection`
97
+
98
+ Verifies API rejects invalid data with appropriate error responses
99
+
100
+ **Example**
101
+
102
+ Schema specifies `age` must be an integer:
103
+
104
+ ```http
105
+ POST /users
106
+ Content-Type: application/json
107
+
108
+ {"name": "Charlie", "age": "twenty-five"}
109
+
110
+ Response: 200 OK ❌ Should return 400 Bad Request
111
+ {"id": 456, "name": "Charlie", "age": null}
112
+ ```
113
+
114
+ ---
115
+
116
+ ### `positive_data_acceptance`
117
+
118
+ Verifies API accepts valid request data
119
+
120
+ **Example**
121
+
122
+ Request perfectly matches schema:
123
+
124
+ ```http
125
+ POST /users
126
+ Content-Type: application/json
127
+
128
+ {"name": "Diana", "age": 25, "email": "diana@example.com"}
129
+
130
+ Response: 400 Bad Request ❌ Should accept valid data
131
+ {"error": "Invalid request"}
132
+ ```
133
+
134
+ ---
135
+
136
+ ### `missing_required_header`
137
+
138
+ Verifies APIs return 4xx for missing required headers
139
+
140
+ **Example**
141
+
142
+ Schema requires `X-API-Key` header, but:
143
+
144
+ ```http
145
+ GET /protected-resource
146
+ # Missing required X-API-Key header
147
+
148
+ Response: 200 OK ❌ Should return 400 Bad Request or 401 Unauthorized
149
+ ```
150
+
151
+ ---
152
+
153
+ ### `unsupported_method`
154
+
155
+ Verifies APIs return 405 for undocumented HTTP methods
156
+
157
+ **Example**
158
+
159
+ Schema only documents `GET /users/{id}` and `PUT /users/{id}`, but:
160
+
161
+ ```http
162
+ PATCH /users/123
163
+ Content-Type: application/json
164
+
165
+ {"name": "Bob"}
166
+
167
+ Response: 200 OK ❌ Should return 405 Method Not Allowed
168
+ ```
169
+
170
+ ## Stateful Behavior
171
+
172
+ These checks test API behavior across sequences of operations.
173
+
174
+ ### `use_after_free`
175
+
176
+ Detects when deleted resources remain accessible
177
+
178
+ **Example**
179
+
180
+ ```http
181
+ DELETE /users/123
182
+
183
+ Response: 204 No Content
184
+ ```
185
+
186
+ Then:
187
+
188
+ ```http
189
+ GET /users/123
190
+
191
+ Response: 200 OK ❌ Should return 404 Not Found
192
+ ```
193
+
194
+ ---
195
+
196
+ ### `ensure_resource_availability`
197
+
198
+ Verifies created resources are immediately accessible
199
+
200
+ **Example**
201
+
202
+ ```http
203
+ POST /users
204
+ Content-Type: application/json
205
+
206
+ {"name": "Alice", "email": "alice@example.com"}
207
+
208
+ Response: 201 Created
209
+ Location: /users/123
210
+ ```
211
+
212
+ Then immediately:
213
+
214
+ ```http
215
+ GET /users/123
216
+
217
+ Response: 404 Not Found ❌ Should return the created user
218
+ ```
219
+
220
+ ## Security
221
+
222
+ ### `ignored_auth`
223
+
224
+ Verifies authentication is properly enforced
225
+
226
+ **Example**
227
+
228
+ - Endpoint requires authentication but accepts requests without auth headers
229
+ - Returns `200 OK` instead of `401 Unauthorized`
@@ -0,0 +1,80 @@
1
+ # Hooks Reference
2
+
3
+ ## Schema-Level Hooks
4
+
5
+ Hooks that execute during schema loading and operation initialization.
6
+
7
+ | Hook | Signature | Execution Order | Modifies |
8
+ |------|-----------|-----------------|----------|
9
+ | **before_load_schema** | `(ctx, raw_schema: dict) -> None` | Before schema parsing | `raw_schema` dict |
10
+ | **after_load_schema** | `(ctx, schema: BaseSchema) -> None` | After schema instance created | `schema` object |
11
+ | **before_process_path** | `(ctx, path: str, methods: dict) -> None` | For each API path | `methods` dict |
12
+ | **before_init_operation** | `(ctx, operation: APIOperation) -> None` | For each operation | `APIOperation` object |
13
+ | **before_add_examples** | `(ctx, examples: list[Case]) -> None` | Before scheduling all existing examples for testing | `Case` list |
14
+
15
+ !!! note
16
+
17
+ All schema-level hooks return `None` and modify their arguments in-place.
18
+
19
+ ## Data-Generation Hooks
20
+
21
+ Control how test data is generated for each request component.
22
+
23
+ | Hook Pattern | Signature | Purpose | Return |
24
+ |--------------|-----------|---------|---------|
25
+ | **filter_{component}** | `(ctx, value: Any) -> bool` | Exclude generated values | `True` to keep, `False` to reject |
26
+ | **map_{component}** | `(ctx, value: Any) -> Any` | Transform generated values | Modified value |
27
+ | **flatmap_{component}** | `(ctx, value: Any) -> SearchStrategy` | Generate dependent values | New strategy based on input |
28
+
29
+ Where `{component}` is one of: `path_parameters`, `headers`, `cookies`, `query`, `body`, `case`
30
+
31
+ ## Request-Lifecycle Hooks
32
+
33
+ Hooks that execute during test case execution.
34
+
35
+ | Hook | Signature | Execution Stage | Purpose |
36
+ |------|-----------|-----------------|---------|
37
+ | **before_call** | `(ctx, case: Case) -> None` | Before HTTP request | Modify test case (headers, body, etc.) |
38
+ | **process_call_kwargs** | `(ctx, case: Case, kwargs: dict) -> dict` | Before `case.call()` | Modify request library arguments (timeout, verify, etc.) |
39
+ | **after_call** | `(ctx, case: Case, response: Response) -> None` | After HTTP response | Inspect/modify response before checks |
40
+
41
+ **Flow:** `before_call` → `process_call_kwargs` → HTTP Request → `after_call` → Checks
42
+
43
+ ## Hook Registration
44
+
45
+ | Scope | Registration Method | Available Hooks |
46
+ |-------|-------------------|-----------------|
47
+ | **Global** | `@schemathesis.hook` or `@schemathesis.hook("hook_name")` | All hooks |
48
+ | **Schema** | `@schema.hooks.hook` or `@schema.hooks.hook("hook_name")` | All hooks except `before_load_schema`, `after_load_schema` |
49
+ | **Test** | `@schema.hooks.apply(hook_func)` | All hooks except `before_load_schema`, `after_load_schema` |
50
+
51
+ **Hook Name Detection:** If not specified, uses function name (must match hook name exactly).
52
+
53
+ ## Conditional Application
54
+
55
+ Apply hooks selectively using filters.
56
+
57
+ ### Filter Methods
58
+
59
+ | Method | Logic | Description |
60
+ |--------|-------|-------------|
61
+ | `.apply_to(...)` | AND | Apply only when ALL conditions match |
62
+ | `.skip_for(...)` | OR | Skip when ANY condition matches |
63
+
64
+ ### Available Filters
65
+
66
+ | Filter | Type | Example | Description |
67
+ |--------|------|---------|-------------|
68
+ | `path` | `str | list[str]` | `"/users"` | Exact path match |
69
+ | `path_regex` | `str` | `r"^/users/\d+$"` | Path pattern match |
70
+ | `method` | `str | list[str]` | `["GET", "POST"]` | HTTP method |
71
+ | `method_regex` | `str` | `"GET|POST"` | HTTP method pattern match |
72
+ | `name` | `str | list[str]` | `"GET /users"` | Operation name |
73
+ | `name_regex` | `str` | `"(GET|POST) /(users|orders)"` | Operation name pattern match |
74
+ | `tag` | `str | list[str]` | `["users", "admin"]` | OpenAPI tags |
75
+ | `tag_regex` | `str` | `"users|payments"` | OpenAPI tags pattern match |
76
+ | `operation_id` | `str | list[str]` | `"get_user"` | operationId |
77
+ | `operation_id_regex` | `str` | `"(get|list)_user"` | operationId pattern match |
78
+
79
+ !!! note
80
+ Filters are not available for `before_process_path`, `before_load_schema`, and `after_load_schema` hooks.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "schemathesis"
7
- version = "4.0.7"
7
+ version = "4.0.9"
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" }]
@@ -40,7 +40,7 @@ class JunitXMLHandler(EventHandler):
40
40
  test_suites = [
41
41
  TestSuite("schemathesis", test_cases=list(self.test_cases.values()), hostname=platform.node())
42
42
  ]
43
- with open(self.path, "w") as fd:
43
+ with open(self.path, "w", encoding="utf-8") as fd:
44
44
  to_xml_report_file(file_descriptor=fd, test_suites=test_suites, prettyprint=True, encoding="utf-8")
45
45
 
46
46
  def get_or_create_test_case(self, label: str) -> TestCase:
@@ -20,10 +20,9 @@ from schemathesis.config import ProjectConfig, ReportFormat, SchemathesisWarning
20
20
  from schemathesis.core.errors import LoaderError, LoaderErrorKind, format_exception, split_traceback
21
21
  from schemathesis.core.failures import MessageBlock, Severity, format_failures
22
22
  from schemathesis.core.output import prepare_response_payload
23
- from schemathesis.core.result import Err, Ok
23
+ from schemathesis.core.result import Ok
24
24
  from schemathesis.core.version import SCHEMATHESIS_VERSION
25
25
  from schemathesis.engine import Status, events
26
- from schemathesis.engine.errors import EngineErrorInfo
27
26
  from schemathesis.engine.phases import PhaseName, PhaseSkipReason
28
27
  from schemathesis.engine.phases.probes import ProbeOutcome
29
28
  from schemathesis.engine.recorder import Interaction, ScenarioRecorder
@@ -960,7 +959,9 @@ class OutputHandler(EventHandler):
960
959
  table.add_row(f"{probe_run.probe.name}:", Text(icon, style=style))
961
960
 
962
961
  message = Padding(table, BLOCK_PADDING)
963
- elif event.status == Status.SKIP:
962
+ else:
963
+ assert event.status == Status.SKIP
964
+ assert isinstance(event.payload, Ok)
964
965
  message = Padding(
965
966
  Text.assemble(
966
967
  ("⏭ ", ""),
@@ -968,17 +969,6 @@ class OutputHandler(EventHandler):
968
969
  ),
969
970
  BLOCK_PADDING,
970
971
  )
971
- else:
972
- assert event.status == Status.ERROR
973
- assert isinstance(event.payload, Err)
974
- error = EngineErrorInfo(event.payload.err())
975
- message = Padding(
976
- Text.assemble(
977
- ("🚫 ", ""),
978
- (f"API probing failed: {error.message}", Style(color="red")),
979
- ),
980
- BLOCK_PADDING,
981
- )
982
972
  self.console.print(message)
983
973
  self.console.print()
984
974
  elif phase.name == PhaseName.STATEFUL_TESTING and phase.is_enabled and self.stateful_tests_manager is not None:
@@ -1337,6 +1327,9 @@ class OutputHandler(EventHandler):
1337
1327
  click.echo(_style("Test Phases:", bold=True))
1338
1328
 
1339
1329
  for phase in PhaseName:
1330
+ if phase == PhaseName.PROBING:
1331
+ # It is not a test phase
1332
+ continue
1340
1333
  status, skip_reason = self.phases[phase]
1341
1334
 
1342
1335
  if status == Status.SKIP:
@@ -1,7 +1,7 @@
1
1
  from importlib import metadata
2
2
 
3
3
  try:
4
- SCHEMATHESIS_VERSION = metadata.version(__package__)
4
+ SCHEMATHESIS_VERSION = metadata.version("schemathesis")
5
5
  except metadata.PackageNotFoundError:
6
6
  # Local run without installation
7
7
  SCHEMATHESIS_VERSION = "dev"
@@ -426,7 +426,15 @@ def is_unrecoverable_network_error(exc: Exception) -> bool:
426
426
 
427
427
  def has_connection_reset(inner: BaseException) -> bool:
428
428
  exc_str = str(inner)
429
- if any(pattern in exc_str for pattern in ["Connection reset by peer", "[Errno 104]", "ECONNRESET"]):
429
+ if any(
430
+ pattern in exc_str
431
+ for pattern in [
432
+ "Connection reset by peer",
433
+ "[Errno 104]",
434
+ "ECONNRESET",
435
+ "An established connection was aborted",
436
+ ]
437
+ ):
430
438
  return True
431
439
 
432
440
  if inner.__context__ is not None:
@@ -434,7 +442,7 @@ def is_unrecoverable_network_error(exc: Exception) -> bool:
434
442
 
435
443
  return False
436
444
 
437
- if isinstance(exc, requests.Timeout):
445
+ if isinstance(exc, (requests.Timeout, requests.exceptions.ChunkedEncodingError)):
438
446
  return True
439
447
  if isinstance(exc.__context__, ProtocolError):
440
448
  if len(exc.__context__.args) == 2 and isinstance(exc.__context__.args[1], RemoteDisconnected):
@@ -13,7 +13,7 @@ import warnings
13
13
  from dataclasses import dataclass
14
14
  from typing import TYPE_CHECKING
15
15
 
16
- from schemathesis.core.result import Err, Ok, Result
16
+ from schemathesis.core.result import Ok, Result
17
17
  from schemathesis.core.transport import USER_AGENT
18
18
  from schemathesis.engine import Status, events
19
19
  from schemathesis.transport.prepare import get_default_headers
@@ -41,16 +41,11 @@ def execute(ctx: EngineContext, phase: Phase) -> EventGenerator:
41
41
  payload: Result[ProbePayload, Exception] | None = None
42
42
  for result in probes:
43
43
  if isinstance(result.probe, NullByteInHeader) and result.is_failure:
44
- from ...specs.openapi import formats
45
- from ...specs.openapi.formats import HEADER_FORMAT, header_values
44
+ from schemathesis.specs.openapi import formats
45
+ from schemathesis.specs.openapi.formats import HEADER_FORMAT, header_values
46
46
 
47
47
  formats.register(HEADER_FORMAT, header_values(exclude_characters="\n\r\x00"))
48
- if result.error is not None:
49
- status = Status.ERROR
50
- payload = Err(result.error)
51
- else:
52
- status = Status.SUCCESS
53
- payload = Ok(ProbePayload(probes=probes))
48
+ payload = Ok(ProbePayload(probes=probes))
54
49
  yield events.PhaseFinished(phase=phase, status=status, payload=payload)
55
50
 
56
51
 
@@ -177,6 +177,18 @@ class CoverageContext:
177
177
  return bool(value)
178
178
  return True
179
179
 
180
+ def can_be_negated(self, schema: dict[str, Any]) -> bool:
181
+ # Path, query, header, and cookie parameters will be stringified anyway
182
+ # If there are no constraints, then anything will match the original schema after serialization
183
+ if self.location in ("query", "path", "header", "cookie"):
184
+ cleaned = {
185
+ k: v
186
+ for k, v in schema.items()
187
+ if not k.startswith("x-") and k not in ["description", "example", "examples"]
188
+ }
189
+ return cleaned != {}
190
+ return True
191
+
180
192
  def generate_from(self, strategy: st.SearchStrategy) -> Any:
181
193
  return cached_draw(strategy)
182
194
 
@@ -389,6 +401,8 @@ def cover_schema_iter(
389
401
  yield from _cover_positive_for_type(ctx, schema, ty)
390
402
  if GenerationMode.NEGATIVE in ctx.generation_modes:
391
403
  template = None
404
+ if not ctx.can_be_negated(schema):
405
+ return
392
406
  for key, value in schema.items():
393
407
  with _ignore_unfixable(), ctx.at(key):
394
408
  if key == "enum":
@@ -624,7 +624,9 @@ def _iter_coverage_cases(
624
624
  ),
625
625
  )
626
626
  # Generate duplicate query parameters
627
- if generate_duplicate_query_parameters and operation.query:
627
+ # NOTE: if the query schema has no constraints, then we may have no negative test cases at all
628
+ # as they all will match the original schema and therefore will be considered as positive ones
629
+ if generate_duplicate_query_parameters and operation.query and "query" in template:
628
630
  container = template["query"]
629
631
  for parameter in operation.query:
630
632
  instant = Instant()
@@ -656,24 +658,26 @@ def _iter_coverage_cases(
656
658
  name = parameter.name
657
659
  location = parameter.location
658
660
  container_name = LOCATION_TO_CONTAINER[location]
659
- container = template[container_name]
660
- data = template.with_container(
661
- container_name=container_name,
662
- value={k: v for k, v in container.items() if k != name},
663
- generation_mode=GenerationMode.NEGATIVE,
664
- )
665
- yield operation.Case(
666
- **data.kwargs,
667
- _meta=CaseMetadata(
668
- generation=GenerationInfo(time=instant.elapsed, mode=GenerationMode.NEGATIVE),
669
- components=data.components,
670
- phase=PhaseInfo.coverage(
671
- description=f"Missing `{name}` at {location}",
672
- parameter=name,
673
- parameter_location=location,
661
+ # NOTE: if the schema is overly permissive we may not have any negative test cases
662
+ if container_name in template:
663
+ container = template[container_name]
664
+ data = template.with_container(
665
+ container_name=container_name,
666
+ value={k: v for k, v in container.items() if k != name},
667
+ generation_mode=GenerationMode.NEGATIVE,
668
+ )
669
+ yield operation.Case(
670
+ **data.kwargs,
671
+ _meta=CaseMetadata(
672
+ generation=GenerationInfo(time=instant.elapsed, mode=GenerationMode.NEGATIVE),
673
+ components=data.components,
674
+ phase=PhaseInfo.coverage(
675
+ description=f"Missing `{name}` at {location}",
676
+ parameter=name,
677
+ parameter_location=location,
678
+ ),
674
679
  ),
675
- ),
676
- )
680
+ )
677
681
  # Generate combinations for each location
678
682
  for location, parameter_set in [
679
683
  ("query", operation.query),