schemathesis 3.21.2__tar.gz → 3.22.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/workflows/build.yml +7 -10
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/workflows/codeql-analysis.yml +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/workflows/codspeed.yml +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/workflows/commit.yml +1 -1
- schemathesis-3.22.1/.github/workflows/example-build.yml +40 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/workflows/example-no-build.yml +1 -1
- schemathesis-3.22.1/.github/workflows/master_update.yml +53 -0
- schemathesis-3.22.1/.github/workflows/release.yml +87 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/workflows/scheduled.yml +7 -7
- {schemathesis-3.21.2 → schemathesis-3.22.1}/CONTRIBUTING.rst +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/Dockerfile +4 -1
- schemathesis-3.21.2/Dockerfile.buster → schemathesis-3.22.1/Dockerfile.bookworm +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/PKG-INFO +12 -13
- {schemathesis-3.21.2 → schemathesis-3.22.1}/README.md +4 -1
- schemathesis-3.22.1/benches/references.py +43 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/changelog.py +5 -4
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/additional-content.rst +5 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/api.rst +6 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/changelog.rst +53 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/cli.rst +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/conf.py +1 -3
- schemathesis-3.21.2/docs/how.rst → schemathesis-3.22.1/docs/data-generation.rst +32 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/faq.rst +27 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/getting-started.rst +5 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/index.rst +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/python.rst +4 -5
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/service.rst +1 -1
- schemathesis-3.22.1/example/Dockerfile +10 -0
- schemathesis-3.22.1/example/README.md +129 -0
- schemathesis-3.22.1/example/app.py +216 -0
- schemathesis-3.22.1/example/compose.yml +5 -0
- schemathesis-3.22.1/example/openapi.json +481 -0
- schemathesis-3.22.1/example/requirements-app.in +3 -0
- schemathesis-3.22.1/example/requirements-app.txt +32 -0
- schemathesis-3.22.1/example/requirements-pytest.in +2 -0
- schemathesis-3.22.1/example/requirements-pytest.txt +120 -0
- {schemathesis-3.21.2/example/test → schemathesis-3.22.1/example/tests}/conftest.py +2 -1
- schemathesis-3.21.2/example/test/hooks.py → schemathesis-3.22.1/example/tests/extensions.py +2 -2
- {schemathesis-3.21.2/example/test → schemathesis-3.22.1/example/tests}/test_app.py +3 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/pyproject.toml +10 -14
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/__init__.py +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/_compat.py +2 -18
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/_dependency_versions.py +1 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/_hypothesis.py +15 -12
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/_lazy_import.py +3 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/_xml.py +12 -11
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/auths.py +88 -81
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/checks.py +4 -4
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/__init__.py +202 -171
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/callbacks.py +29 -32
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/cassettes.py +25 -25
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/context.py +18 -12
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/junitxml.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/options.py +10 -11
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/output/default.py +64 -34
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/code_samples.py +10 -10
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/constants.py +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/contrib/unique_data.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/exceptions.py +55 -42
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/extra/_aiohttp.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/extra/_flask.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/extra/_server.py +3 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/extra/pytest_plugin.py +10 -10
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/failures.py +16 -16
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/filters.py +40 -41
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/fixups/__init__.py +4 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/fixups/fast_api.py +5 -4
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/generation/__init__.py +16 -4
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/hooks.py +25 -25
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/jsonschema.py +4 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/transformation.py +3 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/lazy.py +39 -31
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/loaders.py +8 -8
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/models.py +128 -126
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/parameters.py +6 -5
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/runner/__init__.py +107 -81
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/runner/events.py +37 -26
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/runner/impl/core.py +86 -81
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/runner/impl/solo.py +19 -15
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/runner/impl/threadpool.py +40 -22
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/runner/serialization.py +67 -40
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/sanitization.py +18 -20
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/schemas.py +83 -72
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/serializers.py +39 -30
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/ci.py +20 -21
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/client.py +29 -9
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/constants.py +1 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/events.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/hosts.py +8 -7
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/metadata.py +5 -0
- schemathesis-3.22.1/src/schemathesis/service/models.py +49 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/report.py +15 -15
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/serialization.py +23 -27
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/usage.py +8 -7
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/graphql/loaders.py +31 -24
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/graphql/nodes.py +3 -2
- schemathesis-3.22.1/src/schemathesis/specs/graphql/scalars.py +50 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/graphql/schemas.py +38 -34
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/_hypothesis.py +62 -44
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/checks.py +10 -10
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/converter.py +10 -9
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/definitions.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/examples.py +22 -21
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/expressions/nodes.py +5 -4
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/expressions/parser.py +7 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/filters.py +6 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/formats.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/links.py +19 -21
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/loaders.py +133 -78
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/negative/__init__.py +16 -11
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/negative/mutations.py +11 -10
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/parameters.py +20 -19
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/references.py +21 -20
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/schemas.py +97 -84
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/security.py +25 -24
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/serialization.py +20 -23
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/stateful/__init__.py +12 -11
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/stateful/links.py +7 -7
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/utils.py +4 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/validation.py +3 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/stateful/__init__.py +15 -16
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/stateful/state_machine.py +9 -9
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/targets.py +3 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/throttling.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/transports/auth.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/transports/content_types.py +5 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/transports/headers.py +3 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/transports/responses.py +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/utils.py +7 -10
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/__snapshots__/test_hypothesis/test_health_check_failed_large_base_example.raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/__snapshots__/test_recoverable_errors/test_in_cli[2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/__snapshots__/test_serialization/test_in_cli[Open API 3.0].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/__init__.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/_graphql/_flask/__init__.py +4 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/_aiohttp/__init__.py +3 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/_aiohttp/handlers.py +2 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/_flask/__init__.py +3 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/schema.py +7 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__snapshots__/test_cli/test_conditional[Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__snapshots__/test_cli/test_custom_auth[Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args0-Basic dXNlcjpwYXNz].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__snapshots__/test_cli/test_explicit_auth_precedence[Open API 3.0-args1-Bearer EXPLICIT].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__snapshots__/test_cli/test_multiple_auth_mechanisms_with_explicit_auth.raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__snapshots__/test_cli/test_multiple_threads[Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__snapshots__/test_cli/test_requests_auth[Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/test_cli.py +3 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 2.0].raw +4 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_add_case_output[Open API 3.0].raw +4 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0---auth='testwrong'].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 2.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0---auth='testwrong'].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_auth_override_on_protected_operation[Open API 3.0--H Authorization Basic J3Rlc3Q6d3Jvbmcn].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_binary_payload.raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_chunked_encoding_error[Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 2.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[real-Open API 3.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 2.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_cli_run_only_failure[wsgi-Open API 3.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 2.0-2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_error[Open API 3.0-2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 2.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_connection_timeout[Open API 3.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_explicit_example_failure_output.raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_explicit_headers_in_output_on_errors[Open API 3.0].raw +9 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 2.0].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_get_request_with_body[Open API 3.0].raw +3 -1
- schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_graphql_asgi.raw +26 -0
- schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args0].raw +26 -0
- schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_graphql_url[foo-args1].raw +26 -0
- schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args0].raw +26 -0
- schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_graphql_url[graphql-args1].raw +26 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 2.0-2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[real-Open API 3.0-2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 2.0-2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_failed_event[wsgi-Open API 3.0-2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.0.2-The provided definition doesn't match any of the expected formats or types.].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_invalid_schema_with_disabled_validation[3.1.0-'type' is a required property].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_long_payload.raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[real-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_malformed_json_deduplication[wsgi-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 2.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_max_response_time_invalid[Open API 3.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-None].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[cookie-http127.0.0.1apiv2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-None].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[header-http127.0.0.1apiv2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-None].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[path-http127.0.0.1apiv2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-None].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_missing_content_and_schema[query-http127.0.0.1apiv2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 2.0].raw +6 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_different_check[Open API 3.0].raw +6 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_in_single_check.raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 2.0].raw +5 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_multiple_failures_single_check[Open API 3.0].raw +5 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 2.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_openapi_links[real-Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 2.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_openapi_links[wsgi-Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 2.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_openapi_links_disabled[Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 2.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError(Custom check failed!)-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 2.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_register_check[AssertionError-Open API 3.0].raw +4 -1
- schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_remote_disconnected_error[Open API 3.0].raw +10 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 2.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[real-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 2.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_payload_encoding[wsgi-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 2.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[real-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 2.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_response_schema_conformance_deduplication[wsgi-Open API 3.0].raw +4 -1
- schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_run_output[args23].raw +7 -0
- schemathesis-3.21.2/test/cli/__snapshots__/test_commands/test_run_output[args23].raw → schemathesis-3.22.1/test/cli/__snapshots__/test_commands/test_run_output[args24].raw +5 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 2.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[real-Open API 3.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 2.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-1].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_status_code_conformance[wsgi-Open API 3.0-2].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unresolvable_reference_with_disabled_validation.raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-1].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 2.0-2].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-1].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[real-Open API 3.0-2].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-1].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 2.0-2].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-1].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsatisfiable[wsgi-Open API 3.0-2].raw +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_unsupported_regex.raw +5 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_hooks/test_after_call[real-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_hooks/test_after_call[wsgi-Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/output/test_default.py +7 -7
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_asgi.py +4 -4
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_callbacks.py +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_cassettes.py +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_commands.py +93 -94
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_options.py +3 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 2.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/code_samples/__snapshots__/test_python/test_cli_output[Open API 3.0].raw +4 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/conftest.py +59 -37
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/__snapshots__/test_unique_data/test_cli[None].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/__snapshots__/test_unique_data/test_cli[raw_schema2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[1].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/__snapshots__/test_unique_data/test_explicit_headers[2].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/test_unique_data.py +1 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/loaders/test_common.py +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/loaders/test_openapi.py +59 -5
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/runner/test_checks.py +3 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/runner/test_runner.py +25 -2
- schemathesis-3.22.1/test/service/__snapshots__/test_cli/test_client_error_on_project_details[Open API 3.0].raw +4 -0
- schemathesis-3.22.1/test/service/__snapshots__/test_cli/test_client_error_on_upload[Open API 3.0].raw +46 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/__snapshots__/test_cli/test_error_in_another_handler[Open API 3.0].raw +2 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/__snapshots__/test_cli/test_github_suggestion[Open API 3.0].raw +2 -0
- schemathesis-3.22.1/test/service/__snapshots__/test_cli/test_unauthorized[Open API 3.0].raw +12 -0
- schemathesis-3.22.1/test/service/__snapshots__/test_cli/test_unknown_error_on_upload[Open API 3.0].raw +52 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/conftest.py +12 -4
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/test_cli.py +65 -31
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/test_usage.py +2 -1
- schemathesis-3.22.1/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n 123(created Int!) Int!n}-.whatever].raw +13 -0
- schemathesis-3.22.1/test/specs/graphql/__snapshots__/test_basic/test_schema_error[ntype Query {n func(created Unknown!) Int!n}-.gql].raw +8 -0
- schemathesis-3.22.1/test/specs/graphql/__snapshots__/test_custom_scalars/test_built_in_scalars_in_cli.raw +30 -0
- schemathesis-3.22.1/test/specs/graphql/__snapshots__/test_custom_scalars/test_custom_scalar_in_cli.raw +33 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/graphql/test_basic.py +26 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/graphql/test_custom_scalars.py +43 -2
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_examples.py +7 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_hypothesis.py +3 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_negative.py +2 -1
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_app.py +6 -14
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_asgi.py +1 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_hypothesis.py +3 -3
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_package.py +2 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_unittest.py +2 -6
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/utils.py +8 -7
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test-corpus/test_corpus.py +1 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/tox.ini +3 -9
- schemathesis-3.21.2/.github/workflows/example-build.yml +0 -59
- schemathesis-3.21.2/.github/workflows/master_update.yml +0 -54
- schemathesis-3.21.2/.github/workflows/release.yml +0 -87
- schemathesis-3.21.2/example/Dockerfile +0 -4
- schemathesis-3.21.2/example/README.rst +0 -90
- schemathesis-3.21.2/example/app/app.py +0 -11
- schemathesis-3.21.2/example/app/db.py +0 -36
- schemathesis-3.21.2/example/app/models.py +0 -10
- schemathesis-3.21.2/example/app/openapi.yaml +0 -69
- schemathesis-3.21.2/example/app/validation.py +0 -6
- schemathesis-3.21.2/example/app/views.py +0 -27
- schemathesis-3.21.2/example/database/schema.sql +0 -5
- schemathesis-3.21.2/example/docker-compose.yml +0 -31
- schemathesis-3.21.2/example/main.py +0 -18
- schemathesis-3.21.2/example/requirements.in +0 -5
- schemathesis-3.21.2/example/requirements.txt +0 -159
- schemathesis-3.21.2/src/schemathesis/service/models.py +0 -31
- schemathesis-3.21.2/src/schemathesis/specs/graphql/scalars.py +0 -26
- schemathesis-3.21.2/test/specs/openapi/test_openapi_checks.py +0 -24
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.dockerignore +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/FUNDING.yml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.github/dependabot.yml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.gitignore +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.gitmodules +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.pre-commit-config.yaml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.readthedocs.yml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.relint.yml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.rstcheck.cfg +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/.yamllint +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/CITATION.cff +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/CODE_OF_CONDUCT.md +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/LICENSE +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/benches/cli.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/Makefile +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/auth.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/compatibility.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/continuous_integration.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/contrib.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/examples.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/experimental.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/extending.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/graphql.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/recipes.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/requirements.txt +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/sanitizing.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/stateful.rst +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/docs/targeted.rst +0 -0
- {schemathesis-3.21.2/example/test → schemathesis-3.22.1/example/tests}/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/img/demo.gif +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/img/service_github_report.png +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/mypy.ini +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/constants.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/debug.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/handlers.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/output/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/output/short.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/cli/sanitization.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/contrib/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/contrib/openapi/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/contrib/openapi/formats/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/contrib/openapi/formats/uuid.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/experimental/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/extra/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/fixups/utf8_bom.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/graphql.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/copy.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/datetime.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/deprecation.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/result.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/internal/validation.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/py.typed +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/runner/impl/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/service/auth.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/graphql/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/constants.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/expressions/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/expressions/context.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/expressions/errors.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/expressions/lexer.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/negative/types.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/specs/openapi/negative/utils.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/transports/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/src/schemathesis/types.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/_graphql/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/_graphql/_fastapi/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/_graphql/_fastapi/app.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/_graphql/_flask/app.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/_graphql/schema.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/_aiohttp/app.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/_fastapi/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/_fastapi/app.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/apps/openapi/_flask/app.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/conftest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/test_provider.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/auth/test_pytest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_cassettes/test_forbid_preserve_exact_bytes_without_cassette_path[Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_cassettes/test_forbid_simultaneous_use_of_deprecated_and_new_options[Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-Authorization].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_auth_and_authorization_header_are_disallowed[Open API 3.0-authorization].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_certificate_only_key.raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_commands_help.raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_force_color_nocolor[Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hooks_module_not_found.raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_hypothesis_database_with_derandomize[Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 2.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[real-Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 2.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_invalid_operation_suggestion[wsgi-Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args10].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args11].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args12].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args13].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args14].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args15].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args16].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args17].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args18].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args19].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args1].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args20].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args21].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args22].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args2].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args3].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args4].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args5].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args6].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args7].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args8].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_run_output[args9].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[1].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_schema_not_available[2].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_schema_not_available_wsgi.raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/__snapshots__/test_commands/test_wait_for_schema_not_enough.raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/cert.pem +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/conftest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/output/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_checks.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_crashes.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_hooks.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_junitxml.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/cli/test_targeted.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/code_samples/conftest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/code_samples/test_curl.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/code_samples/test_python.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/openapi/formats/test_uuid.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/contrib/test_install.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/data/petstore_v2.yaml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/data/petstore_v3.yaml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/data/simple_openapi.yaml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/data/simple_swagger.yaml +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/experimental/conftest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/experimental/test_experiments.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/experimental/test_openapi_3_1.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/extra/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/extra/test_aiohttp.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/filters/test_matching.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/hooks/test_filter_operations.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/hooks/test_hooks.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/loaders/conftest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/loaders/test_app.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/loaders/test_graphql.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/loaders/test_yaml.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/runner/test_events.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/__init__.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/__snapshots__/test_cli/test_not_authenticated_with_name.raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/__snapshots__/test_cli/test_two_names.raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/__snapshots__/test_cli/test_upload_failure[Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/__snapshots__/test_cli/test_upload_success[Open API 3.0].raw +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/test_auth.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/test_ci.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/test_report.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/service/test_serialization.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/graphql/test_pytest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/conftest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/parameters/test_forms.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/parameters/test_non_payload.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/parameters/test_simple_payloads.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_expressions.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_links.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_parameters.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_schemas.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_security.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_serializing.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_stateful.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_utils.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/specs/openapi/test_validation.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_async.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_common_parameters.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_converter.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_dereferencing.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_direct_access.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_errors.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_examples.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_filters.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_fixups.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_internal.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_lazy.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_models.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_parameters.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_parametrization.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_petstore.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_pytest.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_rate_limit.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_recoverable_errors.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_required.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_sanitizing_output.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_schemas.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_serialization.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_stateful.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_utils.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/test_wsgi.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/transports/test_content_types.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test/transports/test_responses.py +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test-corpus/flaky.json +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test-corpus/incompatible_enums.json +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test-corpus/incompatible_regex.json +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test-corpus/incomplete_azure.json +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test-corpus/invalid_path_parameters.json +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test-corpus/recursive_references.json +0 -0
- {schemathesis-3.21.2 → schemathesis-3.22.1}/test_server.sh +0 -0
|
@@ -24,7 +24,7 @@ env:
|
|
|
24
24
|
jobs:
|
|
25
25
|
pre-commit:
|
|
26
26
|
name: Generic pre-commit checks
|
|
27
|
-
runs-on: ubuntu-
|
|
27
|
+
runs-on: ubuntu-22.04
|
|
28
28
|
steps:
|
|
29
29
|
- uses: actions/checkout@v4.1.1
|
|
30
30
|
with:
|
|
@@ -39,7 +39,7 @@ jobs:
|
|
|
39
39
|
|
|
40
40
|
docs:
|
|
41
41
|
name: Documentation
|
|
42
|
-
runs-on: ubuntu-
|
|
42
|
+
runs-on: ubuntu-22.04
|
|
43
43
|
steps:
|
|
44
44
|
- uses: actions/checkout@v4.1.1
|
|
45
45
|
with:
|
|
@@ -51,17 +51,14 @@ jobs:
|
|
|
51
51
|
tests:
|
|
52
52
|
strategy:
|
|
53
53
|
matrix:
|
|
54
|
-
os: [ubuntu-
|
|
55
|
-
python: ["3.
|
|
56
|
-
# Set the patch version for "python", so GitHub adds
|
|
54
|
+
os: [ubuntu-22.04, windows-2019]
|
|
55
|
+
python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
|
56
|
+
# Set the patch version for "python", so GitHub adds these configurations instead of expanding existing ones
|
|
57
57
|
include:
|
|
58
|
-
- os: ubuntu-
|
|
59
|
-
python: "3.9.16"
|
|
60
|
-
tox_env: hypothesis648
|
|
61
|
-
- os: ubuntu-20.04
|
|
58
|
+
- os: ubuntu-22.04
|
|
62
59
|
python: "3.9.16"
|
|
63
60
|
tox_env: pytest6
|
|
64
|
-
- os: ubuntu-
|
|
61
|
+
- os: ubuntu-22.04
|
|
65
62
|
python: "3.9.16"
|
|
66
63
|
tox_env: pytest53
|
|
67
64
|
fail-fast: false
|
|
@@ -21,7 +21,7 @@ jobs:
|
|
|
21
21
|
run: pip install ".[bench]"
|
|
22
22
|
|
|
23
23
|
- name: Run benchmarks
|
|
24
|
-
uses: CodSpeedHQ/action@
|
|
24
|
+
uses: CodSpeedHQ/action@v2
|
|
25
25
|
with:
|
|
26
26
|
token: ${{ secrets.CODSPEED_TOKEN }}
|
|
27
27
|
run: pytest benches/* --codspeed -p no:schemathesis -p no:hypothesispytest -p no:subtests -p no:anyio
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: Manual build API example
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
paths:
|
|
6
|
+
- ".github/workflows/example-build.yml"
|
|
7
|
+
- "example/**"
|
|
8
|
+
push:
|
|
9
|
+
branches:
|
|
10
|
+
- master
|
|
11
|
+
workflow_dispatch:
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
local-ci:
|
|
15
|
+
name: Example app
|
|
16
|
+
runs-on: ubuntu-22.04
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4.1.1
|
|
20
|
+
|
|
21
|
+
- name: Start containers
|
|
22
|
+
run: docker compose up -d --build
|
|
23
|
+
working-directory: "./example"
|
|
24
|
+
|
|
25
|
+
# Runs positive Schemathesis tests
|
|
26
|
+
- uses: schemathesis/action@v1
|
|
27
|
+
continue-on-error: true
|
|
28
|
+
with:
|
|
29
|
+
# A local API schema location
|
|
30
|
+
schema: "http://127.0.0.1:5123/openapi.json"
|
|
31
|
+
# Set your token from secrets
|
|
32
|
+
token: ${{ secrets.SCHEMATHESIS_TOKEN }}
|
|
33
|
+
max-examples: "10"
|
|
34
|
+
# To avoid failing the build
|
|
35
|
+
args: "-E does-not-exist"
|
|
36
|
+
|
|
37
|
+
- name: Stop containers
|
|
38
|
+
if: always()
|
|
39
|
+
run: docker-compose down
|
|
40
|
+
working-directory: "./example"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Post-update master jobs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
containers:
|
|
10
|
+
name: Build container images
|
|
11
|
+
runs-on: ubuntu-22.04
|
|
12
|
+
|
|
13
|
+
strategy:
|
|
14
|
+
fail-fast: false
|
|
15
|
+
matrix:
|
|
16
|
+
include:
|
|
17
|
+
- dockerfile: Dockerfile
|
|
18
|
+
tag: "latest"
|
|
19
|
+
- dockerfile: Dockerfile.bookworm
|
|
20
|
+
tag: "latest-bookworm"
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4.1.1
|
|
24
|
+
|
|
25
|
+
- name: Set up QEMU
|
|
26
|
+
uses: docker/setup-qemu-action@v3
|
|
27
|
+
|
|
28
|
+
- name: Set up Docker Buildx
|
|
29
|
+
uses: docker/setup-buildx-action@v3
|
|
30
|
+
|
|
31
|
+
- name: Login to Docker Hub
|
|
32
|
+
uses: docker/login-action@v3
|
|
33
|
+
with:
|
|
34
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
35
|
+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
36
|
+
|
|
37
|
+
- name: Login to GitHub Container Registry
|
|
38
|
+
uses: docker/login-action@v3
|
|
39
|
+
with:
|
|
40
|
+
registry: ghcr.io
|
|
41
|
+
username: ${{ github.repository_owner }}
|
|
42
|
+
password: ${{ secrets.GITHUB_TOKEN }}
|
|
43
|
+
|
|
44
|
+
- name: Build and push
|
|
45
|
+
uses: docker/build-push-action@v5
|
|
46
|
+
with:
|
|
47
|
+
context: .
|
|
48
|
+
file: ${{ matrix.dockerfile }}
|
|
49
|
+
platforms: linux/amd64,linux/arm64
|
|
50
|
+
push: true
|
|
51
|
+
tags: |
|
|
52
|
+
schemathesis/schemathesis:${{ matrix.tag }}
|
|
53
|
+
ghcr.io/schemathesis/schemathesis:${{ matrix.tag }}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
name: Post-release jobs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
containers:
|
|
9
|
+
name: Build container images
|
|
10
|
+
runs-on: ubuntu-22.04
|
|
11
|
+
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
include:
|
|
16
|
+
- dockerfile: Dockerfile
|
|
17
|
+
tag-suffix: ""
|
|
18
|
+
- dockerfile: Dockerfile.bookworm
|
|
19
|
+
tag-suffix: "-bookworm"
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v4.1.1
|
|
23
|
+
|
|
24
|
+
- name: Docker meta
|
|
25
|
+
id: meta
|
|
26
|
+
uses: docker/metadata-action@v5
|
|
27
|
+
with:
|
|
28
|
+
flavor: |
|
|
29
|
+
latest=false
|
|
30
|
+
images: |
|
|
31
|
+
schemathesis/schemathesis
|
|
32
|
+
ghcr.io/schemathesis/schemathesis
|
|
33
|
+
tags: |
|
|
34
|
+
type=semver,pattern={{raw}}${{ matrix.tag-suffix }}
|
|
35
|
+
type=semver,pattern={{version}}${{ matrix.tag-suffix }}
|
|
36
|
+
type=raw,value=stable${{ matrix.tag-suffix }}
|
|
37
|
+
|
|
38
|
+
- name: Set up QEMU
|
|
39
|
+
uses: docker/setup-qemu-action@v3
|
|
40
|
+
|
|
41
|
+
- name: Set up Docker Buildx
|
|
42
|
+
uses: docker/setup-buildx-action@v3
|
|
43
|
+
|
|
44
|
+
- name: Login to Docker Hub
|
|
45
|
+
uses: docker/login-action@v3
|
|
46
|
+
with:
|
|
47
|
+
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
48
|
+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
49
|
+
|
|
50
|
+
- name: Login to GitHub Container Registry
|
|
51
|
+
uses: docker/login-action@v3
|
|
52
|
+
with:
|
|
53
|
+
registry: ghcr.io
|
|
54
|
+
username: ${{ github.repository_owner }}
|
|
55
|
+
password: ${{ secrets.GITHUB_TOKEN }}
|
|
56
|
+
|
|
57
|
+
- name: Build and push
|
|
58
|
+
uses: docker/build-push-action@v5
|
|
59
|
+
with:
|
|
60
|
+
context: .
|
|
61
|
+
file: ${{ matrix.dockerfile }}
|
|
62
|
+
platforms: linux/amd64,linux/arm64
|
|
63
|
+
push: true
|
|
64
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
65
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
66
|
+
|
|
67
|
+
release_package:
|
|
68
|
+
name: Build and publish package to pypi.org
|
|
69
|
+
runs-on: ubuntu-22.04
|
|
70
|
+
steps:
|
|
71
|
+
- uses: actions/checkout@v4.1.1
|
|
72
|
+
with:
|
|
73
|
+
fetch-depth: 1
|
|
74
|
+
|
|
75
|
+
- uses: actions/setup-python@v4
|
|
76
|
+
with:
|
|
77
|
+
python-version: "3.10"
|
|
78
|
+
|
|
79
|
+
- run: pip install "hatchling==1.12.*"
|
|
80
|
+
|
|
81
|
+
- name: Build package
|
|
82
|
+
run: hatchling build
|
|
83
|
+
|
|
84
|
+
- name: Publish distribution package to PyPI
|
|
85
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
86
|
+
with:
|
|
87
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -9,7 +9,7 @@ on:
|
|
|
9
9
|
jobs:
|
|
10
10
|
mutmut:
|
|
11
11
|
name: mutmut
|
|
12
|
-
runs-on: ubuntu-
|
|
12
|
+
runs-on: ubuntu-22.04
|
|
13
13
|
steps:
|
|
14
14
|
- uses: actions/checkout@v4.1.1
|
|
15
15
|
with:
|
|
@@ -42,7 +42,7 @@ jobs:
|
|
|
42
42
|
|
|
43
43
|
hypothesis-tests:
|
|
44
44
|
name: Hypothesis tests with CI profile
|
|
45
|
-
runs-on: ubuntu-
|
|
45
|
+
runs-on: ubuntu-22.04
|
|
46
46
|
steps:
|
|
47
47
|
- uses: actions/checkout@v4.1.1
|
|
48
48
|
with:
|
|
@@ -57,7 +57,7 @@ jobs:
|
|
|
57
57
|
|
|
58
58
|
test-corpus-part-1:
|
|
59
59
|
name: Corpus tests. Part 1
|
|
60
|
-
runs-on: ubuntu-
|
|
60
|
+
runs-on: ubuntu-22.04
|
|
61
61
|
steps:
|
|
62
62
|
- uses: actions/checkout@v4.1.1
|
|
63
63
|
with:
|
|
@@ -74,7 +74,7 @@ jobs:
|
|
|
74
74
|
|
|
75
75
|
test-corpus-part-2:
|
|
76
76
|
name: Corpus tests. Part 2
|
|
77
|
-
runs-on: ubuntu-
|
|
77
|
+
runs-on: ubuntu-22.04
|
|
78
78
|
steps:
|
|
79
79
|
- uses: actions/checkout@v4.1.1
|
|
80
80
|
with:
|
|
@@ -92,7 +92,7 @@ jobs:
|
|
|
92
92
|
|
|
93
93
|
test-corpus-part-3:
|
|
94
94
|
name: Corpus tests. Part 3
|
|
95
|
-
runs-on: ubuntu-
|
|
95
|
+
runs-on: ubuntu-22.04
|
|
96
96
|
steps:
|
|
97
97
|
- uses: actions/checkout@v4.1.1
|
|
98
98
|
with:
|
|
@@ -109,7 +109,7 @@ jobs:
|
|
|
109
109
|
|
|
110
110
|
test-corpus-part-4:
|
|
111
111
|
name: Corpus tests. Part 4
|
|
112
|
-
runs-on: ubuntu-
|
|
112
|
+
runs-on: ubuntu-22.04
|
|
113
113
|
steps:
|
|
114
114
|
- uses: actions/checkout@v4.1.1
|
|
115
115
|
with:
|
|
@@ -126,7 +126,7 @@ jobs:
|
|
|
126
126
|
|
|
127
127
|
test-corpus-part-5:
|
|
128
128
|
name: Corpus tests. Part 5
|
|
129
|
-
runs-on: ubuntu-
|
|
129
|
+
runs-on: ubuntu-22.04
|
|
130
130
|
steps:
|
|
131
131
|
- uses: actions/checkout@v4.1.1
|
|
132
132
|
with:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
FROM python:3.
|
|
1
|
+
FROM python:3.12-alpine
|
|
2
2
|
|
|
3
3
|
LABEL Name=Schemathesis
|
|
4
4
|
|
|
@@ -20,4 +20,7 @@ RUN apk add --no-cache --virtual=.build-deps build-base libffi-dev curl openssl-
|
|
|
20
20
|
RUN chown -R 1000:1000 /app
|
|
21
21
|
|
|
22
22
|
USER schemathesis
|
|
23
|
+
|
|
24
|
+
ENV SCHEMATHESIS_DOCKER_IMAGE=3.12-alpine
|
|
25
|
+
|
|
23
26
|
ENTRYPOINT ["schemathesis"]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
FROM python:3.
|
|
1
|
+
FROM python:3.12-bookworm
|
|
2
2
|
|
|
3
3
|
LABEL Name=Schemathesis
|
|
4
4
|
|
|
@@ -23,4 +23,7 @@ RUN apt-get update \
|
|
|
23
23
|
RUN chown -R 1000:1000 /app
|
|
24
24
|
|
|
25
25
|
USER schemathesis
|
|
26
|
+
|
|
27
|
+
ENV SCHEMATHESIS_DOCKER_IMAGE=3.12-bookworm
|
|
28
|
+
|
|
26
29
|
ENTRYPOINT ["schemathesis"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.22.1
|
|
4
4
|
Summary: Property-based testing framework for Open API and GraphQL based apps
|
|
5
5
|
Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
|
|
6
6
|
Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
|
|
@@ -11,7 +11,7 @@ Author-email: Dmitry Dygalo <dadygalo@gmail.com>
|
|
|
11
11
|
Maintainer-email: Dmitry Dygalo <dadygalo@gmail.com>
|
|
12
12
|
License-Expression: MIT
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
Keywords: graphql,hypothesis,openapi,pytest,
|
|
14
|
+
Keywords: graphql,hypothesis,openapi,pytest,testing
|
|
15
15
|
Classifier: Development Status :: 5 - Production/Stable
|
|
16
16
|
Classifier: Environment :: Console
|
|
17
17
|
Classifier: Framework :: Hypothesis
|
|
@@ -20,7 +20,6 @@ Classifier: Intended Audience :: Developers
|
|
|
20
20
|
Classifier: License :: OSI Approved :: MIT License
|
|
21
21
|
Classifier: Operating System :: OS Independent
|
|
22
22
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.8
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.9
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.10
|
|
@@ -28,16 +27,15 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
28
27
|
Classifier: Programming Language :: Python :: 3.12
|
|
29
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
30
29
|
Classifier: Topic :: Software Development :: Testing
|
|
31
|
-
Requires-Python: >=3.
|
|
30
|
+
Requires-Python: >=3.8
|
|
32
31
|
Requires-Dist: backoff<3.0,>=2.1.2
|
|
33
32
|
Requires-Dist: click<9.0,>=7.0
|
|
34
33
|
Requires-Dist: colorama<1.0,>=0.4
|
|
35
34
|
Requires-Dist: httpx<1.0,>=0.22.0
|
|
36
|
-
Requires-Dist: hypothesis-graphql<1,>=0.
|
|
37
|
-
Requires-Dist: hypothesis-jsonschema<0.
|
|
38
|
-
Requires-Dist: hypothesis<7,>=6.
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist: jsonschema<5.0,>=4.3.2
|
|
35
|
+
Requires-Dist: hypothesis-graphql<1,>=0.11.0
|
|
36
|
+
Requires-Dist: hypothesis-jsonschema<0.24,>=0.23
|
|
37
|
+
Requires-Dist: hypothesis<7,>=6.84.3
|
|
38
|
+
Requires-Dist: jsonschema<5.0,>=4.18.0
|
|
41
39
|
Requires-Dist: junit-xml<2.0,>=1.9
|
|
42
40
|
Requires-Dist: pyrate-limiter<3.0,>=2.10
|
|
43
41
|
Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
|
|
@@ -48,7 +46,6 @@ Requires-Dist: starlette-testclient==0.2.0
|
|
|
48
46
|
Requires-Dist: starlette<1,>=0.13
|
|
49
47
|
Requires-Dist: tomli-w<2.0,>=1.0.0
|
|
50
48
|
Requires-Dist: tomli<3.0,>=2.0.1
|
|
51
|
-
Requires-Dist: typing-extensions<5,>=3.7
|
|
52
49
|
Requires-Dist: werkzeug<4,>=0.16.0
|
|
53
50
|
Requires-Dist: yarl<2.0,>=1.5
|
|
54
51
|
Provides-Extra: bench
|
|
@@ -63,8 +60,7 @@ Requires-Dist: sphinx; extra == 'docs'
|
|
|
63
60
|
Requires-Dist: sphinx-click; extra == 'docs'
|
|
64
61
|
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
|
|
65
62
|
Provides-Extra: tests
|
|
66
|
-
Requires-Dist: aiohttp<4.0,>=3.
|
|
67
|
-
Requires-Dist: aiohttp<4.0,>=3.9.0b0; python_version >= '3.8' and extra == 'tests'
|
|
63
|
+
Requires-Dist: aiohttp<4.0,>=3.9.1; extra == 'tests'
|
|
68
64
|
Requires-Dist: coverage>=6; extra == 'tests'
|
|
69
65
|
Requires-Dist: fastapi>=0.86.0; extra == 'tests'
|
|
70
66
|
Requires-Dist: flask<3.0,>=2.1.1; extra == 'tests'
|
|
@@ -204,7 +200,7 @@ Add this YAML configuration to your GitHub Actions:
|
|
|
204
200
|
|
|
205
201
|
```yaml
|
|
206
202
|
api-tests:
|
|
207
|
-
runs-on: ubuntu-
|
|
203
|
+
runs-on: ubuntu-22.04
|
|
208
204
|
steps:
|
|
209
205
|
- uses: schemathesis/action@v1
|
|
210
206
|
with:
|
|
@@ -340,6 +336,9 @@ To discuss a custom support arrangement that best suits your organization, pleas
|
|
|
340
336
|
|
|
341
337
|
### Videos
|
|
342
338
|
|
|
339
|
+
- [API Fuzzing: What it is and why you should use it](https://youtu.be/wX3GMJY9B6A) by **José Haro Peralta**
|
|
340
|
+
- **Description**: A comprehensive overview and demo of Schemathesis.
|
|
341
|
+
- **Date**: 14 Feb 2023
|
|
343
342
|
- [Schemathesis tutorial](https://appdev.consulting.redhat.com/tracks/contract-first/automated-testing-with-schemathesis.html) with an accompanying [video](https://www.youtube.com/watch?v=4r7OC-lBKMg) by **Red Hat**
|
|
344
343
|
- **Description**: Provides a hands-on tutorial for API testing with Schemathesis.
|
|
345
344
|
- **Date**: 09 Feb 2023
|
|
@@ -124,7 +124,7 @@ Add this YAML configuration to your GitHub Actions:
|
|
|
124
124
|
|
|
125
125
|
```yaml
|
|
126
126
|
api-tests:
|
|
127
|
-
runs-on: ubuntu-
|
|
127
|
+
runs-on: ubuntu-22.04
|
|
128
128
|
steps:
|
|
129
129
|
- uses: schemathesis/action@v1
|
|
130
130
|
with:
|
|
@@ -260,6 +260,9 @@ To discuss a custom support arrangement that best suits your organization, pleas
|
|
|
260
260
|
|
|
261
261
|
### Videos
|
|
262
262
|
|
|
263
|
+
- [API Fuzzing: What it is and why you should use it](https://youtu.be/wX3GMJY9B6A) by **José Haro Peralta**
|
|
264
|
+
- **Description**: A comprehensive overview and demo of Schemathesis.
|
|
265
|
+
- **Date**: 14 Feb 2023
|
|
263
266
|
- [Schemathesis tutorial](https://appdev.consulting.redhat.com/tracks/contract-first/automated-testing-with-schemathesis.html) with an accompanying [video](https://www.youtube.com/watch?v=4r7OC-lBKMg) by **Red Hat**
|
|
264
267
|
- **Description**: Provides a hands-on tutorial for API testing with Schemathesis.
|
|
265
268
|
- **Date**: 09 Feb 2023
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
import schemathesis
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@pytest.mark.benchmark
|
|
7
|
+
def test_schema_resolution():
|
|
8
|
+
raw_schema = {
|
|
9
|
+
"openapi": "3.0.0",
|
|
10
|
+
"info": {"title": "Example API", "description": "An API to test Schemathesis", "version": "1.0.0"},
|
|
11
|
+
"components": {
|
|
12
|
+
"schemas": {
|
|
13
|
+
"Node": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": ["child"],
|
|
16
|
+
"properties": {"child": {"$ref": "#/components/schemas/Node"}},
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"paths": {
|
|
21
|
+
"/foo": {
|
|
22
|
+
"post": {
|
|
23
|
+
"summary": "Test",
|
|
24
|
+
"description": "",
|
|
25
|
+
"requestBody": {
|
|
26
|
+
"required": True,
|
|
27
|
+
"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}},
|
|
28
|
+
},
|
|
29
|
+
"responses": {
|
|
30
|
+
"200": {
|
|
31
|
+
"description": "OK",
|
|
32
|
+
"content": {},
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
schema = schemathesis.from_dict(raw_schema)
|
|
41
|
+
schema.resolver.resolve_all(
|
|
42
|
+
raw_schema["paths"]["/foo"]["post"]["requestBody"]["content"]["application/json"]["schema"]
|
|
43
|
+
)
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"""Simple CLI for changelog management."""
|
|
2
|
+
from __future__ import annotations
|
|
2
3
|
import argparse
|
|
3
4
|
import datetime
|
|
4
5
|
import re
|
|
5
6
|
import sys
|
|
6
|
-
from typing import Generator
|
|
7
|
+
from typing import Generator
|
|
7
8
|
|
|
8
9
|
PYPROJECT_PATH = "pyproject.toml"
|
|
9
10
|
CHANGELOG_PATH = "docs/changelog.rst"
|
|
10
11
|
COMPARE_URL_PREFIX = "https://github.com/schemathesis/schemathesis/compare/"
|
|
11
12
|
|
|
12
13
|
|
|
13
|
-
def _read_changelog() ->
|
|
14
|
+
def _read_changelog() -> list[str]:
|
|
14
15
|
with open(CHANGELOG_PATH) as f:
|
|
15
16
|
return f.readlines()
|
|
16
17
|
|
|
17
18
|
|
|
18
|
-
def _find_line_by_prefix(lines:
|
|
19
|
+
def _find_line_by_prefix(lines: list[str], prefix: str) -> int | None:
|
|
19
20
|
return next((i for i, line in enumerate(lines) if line.startswith(prefix)), None)
|
|
20
21
|
|
|
21
22
|
|
|
@@ -102,7 +103,7 @@ def clean_line(text: str) -> str:
|
|
|
102
103
|
return GITHUB_LINK_RE.sub(r"#\1", text).replace("``", "`")
|
|
103
104
|
|
|
104
105
|
|
|
105
|
-
def _rst_to_md(lines:
|
|
106
|
+
def _rst_to_md(lines: list[str]) -> Generator[str, None, None]:
|
|
106
107
|
for line in lines:
|
|
107
108
|
line = line.strip()
|
|
108
109
|
if line.startswith("**"):
|
|
@@ -47,6 +47,11 @@ Articles
|
|
|
47
47
|
Videos
|
|
48
48
|
------
|
|
49
49
|
|
|
50
|
+
- `API Fuzzing: What it is and why you should use it <https://youtu.be/wX3GMJY9B6A>`_ by **José Haro Peralta**
|
|
51
|
+
|
|
52
|
+
- **Description**: A comprehensive overview and demo of Schemathesis.
|
|
53
|
+
|
|
54
|
+
- **Date**: 14 Feb 2023
|
|
50
55
|
- `Schemathesis tutorial <https://appdev.consulting.redhat.com/tracks/contract-first/automated-testing-with-schemathesis.html>`_ with an accompanying `video <https://www.youtube.com/watch?v=4r7OC-lBKMg>`_ by **Red Hat**
|
|
51
56
|
|
|
52
57
|
- **Description**: Provides a hands-on tutorial for API testing with Schemathesis.
|
|
@@ -1,9 +1,61 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
:version:`Unreleased <v3.
|
|
4
|
+
:version:`Unreleased <v3.22.1...HEAD>` - TBD
|
|
5
5
|
--------------------------------------------
|
|
6
6
|
|
|
7
|
+
.. _v3.22.1:
|
|
8
|
+
|
|
9
|
+
:version:`3.22.1 <v3.22.0...v3.22.1>` - 2023-12-04
|
|
10
|
+
--------------------------------------------------
|
|
11
|
+
|
|
12
|
+
**Fixed**
|
|
13
|
+
|
|
14
|
+
- Internal error during network error handling. :issue:`1933`
|
|
15
|
+
|
|
16
|
+
.. _v3.22.0:
|
|
17
|
+
|
|
18
|
+
:version:`3.22.0 <v3.21.2...v3.22.0>` - 2023-12-03
|
|
19
|
+
--------------------------------------------------
|
|
20
|
+
|
|
21
|
+
**Added**
|
|
22
|
+
|
|
23
|
+
- Support for ``hypothesis-jsonschema==0.23``.
|
|
24
|
+
- A way to control what characters are used for string generation. :issue:`1142`, :issue:`1286`, :issue:`1562`, :issue:`1668`.
|
|
25
|
+
- Display the total number of collected links in the CLI output. :issue:`1383`.
|
|
26
|
+
- ``arm64`` Docker builds. :issue:`1740`.
|
|
27
|
+
- Use Python 3.12 in Docker images.
|
|
28
|
+
- Store Docker image name in ``Metadata``.
|
|
29
|
+
- GraphQL scalar strategies for ``Date``, ``Time``, ``DateTime``, ``IP``, ``IPv4``, ``IPv6``, ``Long``, ``BigInt`` and ``UUID``. :issue:`1690`
|
|
30
|
+
|
|
31
|
+
**Changed**
|
|
32
|
+
|
|
33
|
+
- Bump the minimum supported Hypothesis version to ``6.84.3``.
|
|
34
|
+
- Bump the minimum supported ``jsonschema`` version to ``4.18.0``.
|
|
35
|
+
- Bump the minimum supported ``hypothesis_graphql`` version to ``0.11.0``.
|
|
36
|
+
- Use the same random seed for all tests in CLI. :issue:`1384`.
|
|
37
|
+
- Improve serialization error messages in CLI.
|
|
38
|
+
- Store skip reason in the runner events.
|
|
39
|
+
- Build ``bookworm``-based Debian Docker images instead of ``buster``-based.
|
|
40
|
+
- Improve error message on unknown scalar types in GraphQL.
|
|
41
|
+
- Better auto-detection of GraphQL schemas.
|
|
42
|
+
- Display parsing errors for schemas that are expected to be JSON or YAML.
|
|
43
|
+
|
|
44
|
+
**Deprecated**
|
|
45
|
+
|
|
46
|
+
- Using the ``--show-errors-tracebacks`` CLI option. Use ``--show-trace`` instead.
|
|
47
|
+
|
|
48
|
+
**Fixed**
|
|
49
|
+
|
|
50
|
+
- Internal error when a non-existing schema file is passed together with ``--base-url``. :issue:`1912`.
|
|
51
|
+
- Internal error during schema loading from invalid URLs.
|
|
52
|
+
- Ignore incompatible GraphQL checks in CLI rather than fail the whole test run. :issue:`1918`.
|
|
53
|
+
|
|
54
|
+
**Removed**
|
|
55
|
+
|
|
56
|
+
- Support for Python 3.7.
|
|
57
|
+
- Unnecessary dependencies on ``typing-extensions`` and ``importlib-metadata``.
|
|
58
|
+
|
|
7
59
|
.. _v3.21.2:
|
|
8
60
|
|
|
9
61
|
:version:`3.21.2 <v3.21.1...v3.21.2>` - 2023-11-27
|
|
@@ -537,7 +537,7 @@ Debugging
|
|
|
537
537
|
---------
|
|
538
538
|
|
|
539
539
|
If Schemathesis produces an internal error, its traceback is hidden. To show error tracebacks in the CLI output, use
|
|
540
|
-
the ``--show-
|
|
540
|
+
the ``--show-trace`` option.
|
|
541
541
|
|
|
542
542
|
Additionally you can dump all internal events to a JSON Lines file with the ``--debug-output-file`` CLI option.
|
|
543
543
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
|
|
3
1
|
#
|
|
4
2
|
# platform documentation build configuration file, created by
|
|
5
3
|
# sphinx-quickstart on Fri Jan 13 12:59:16 2017.
|
|
@@ -51,7 +49,7 @@ master_doc = "index"
|
|
|
51
49
|
|
|
52
50
|
# General information about the project.
|
|
53
51
|
project = "Schemathesis"
|
|
54
|
-
copyright = "{
|
|
52
|
+
copyright = f"{datetime.date.today().year}, Dmitry Dygalo"
|
|
55
53
|
author = "Dmitry Dygalo"
|
|
56
54
|
|
|
57
55
|
# The version info for the project you're documenting, acts as replacement for
|