fastapi/tests
Sebastián Ramírez 2537d9d1c2
🐛 Fix `convert_underscores=False` for header Pydantic models (#13515)
2025-03-23 21:48:54 +01:00
..
test_filter_pydantic_sub_model Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_modules_same_name_body Fix a minor bug in the test `tests/test_modules_same_name_body/test_main.py` (#13411) 2025-02-27 15:42:41 +01:00
test_tutorial 🐛 Fix `convert_underscores=False` for header Pydantic models (#13515) 2025-03-23 21:48:54 +01:00
test_validate_response_recursive Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
__init__.py Add first tests, for path and query 2018-12-08 11:56:07 +04:00
main.py 🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic `UndefinedType` (#9929) 2024-04-18 16:56:59 -05:00
test_additional_properties.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_additional_properties_bool.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_additional_response_extra.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_additional_responses_bad.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_additional_responses_custom_model_in_callback.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_additional_responses_custom_validationerror.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_additional_responses_default_validationerror.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_additional_responses_response_class.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_additional_responses_router.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_allow_inf_nan_in_enforcing.py 🐛 Fix `allow_inf_nan` option for Param and Body classes (#11867) 2024-08-24 14:27:37 -05:00
test_ambiguous_params.py Add support for multiple Annotated annotations, e.g. `Annotated[str, Field(), Query()]` (#10773) 2023-12-12 00:22:47 +00:00
test_annotated.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_application.py 🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic `UndefinedType` (#9929) 2024-04-18 16:56:59 -05:00
test_callable_endpoint.py 📝 Use Optional in docs (#1644) 2020-06-28 20:13:30 +02:00
test_compat.py ️ Improve performance in request body parsing with a cache for internal model fields (#12184) 2024-09-11 09:45:30 +02:00
test_computed_fields.py 🐛 Fix openapi generation with responses kwarg (#10895) 2024-10-12 11:44:57 +02:00
test_custom_middleware_exception.py Allow custom middlewares to raise `HTTPException`s and propagate them (#2036) 2022-08-25 23:44:40 +02:00
test_custom_route_class.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_custom_schema_fields.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_custom_swagger_ui_redirect.py Improve test debugging (#1222) 2020-04-08 06:37:38 +02:00
test_datastructures.py Add reference (code API) docs with PEP 727, add subclass with custom docstrings for `BackgroundTasks`, refactor docs structure (#10392) 2023-10-18 16:36:40 +04:00
test_datetime_custom_encoder.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_default_response_class.py Re-export utils from Starlette (#1064) 2020-03-01 21:49:20 +01:00
test_default_response_class_router.py Re-export utils from Starlette (#1064) 2020-03-01 21:49:20 +01:00
test_dependency_cache.py 🐛 Fix cached dependencies when using a dependency in `Security()` and other places (e.g. `Depends()`) with different OAuth2 scopes (#2945) 2022-08-23 13:30:24 +00:00
test_dependency_class.py 🔧 Add Flake8 linting (#1774) 2020-08-09 12:54:05 +02:00
test_dependency_contextmanager.py ⬆️ Upgrade version of Ruff and reformat (#12032) 2024-08-16 23:13:50 -05:00
test_dependency_contextvars.py Update internal `AsyncExitStack` to fix context for dependencies with `yield` (#4575) 2022-02-17 13:40:12 +01:00
test_dependency_duplicates.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_dependency_normal_exceptions.py 🐛 Fix unhandled growing memory for internal server errors, refactor dependencies with `yield` and `except` to require raising again as in regular Python (#11191) 2024-02-25 00:06:37 +01:00
test_dependency_overrides.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_dependency_security_overrides.py 🐛 Fix testing security scopes when using dependency overrides (#1549) 2020-06-14 17:54:46 +02:00
test_deprecated_openapi_prefix.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_duplicate_models_openapi.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_empty_router.py ⬆️ Upgrade and fully migrate to Ruff, remove isort, includes a couple of tweaks suggested by the new version of Ruff (#9660) 2023-06-12 00:37:34 +02:00
test_enforce_once_required_parameter.py ⬆ Bump ruff to 0.9.4 (#13299) 2025-03-06 13:18:57 +01:00
test_exception_handlers.py 🐛 Preserve traceback when exception is raised in sync dependency with `yield` (#5823) 2024-12-03 23:37:12 +01:00
test_extra_routes.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_fastapi_cli.py 📝 Update docs for `fastapi-cli` (#13031) 2024-12-04 15:38:39 +01:00
test_filter_pydantic_sub_model_pv2.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_forms_from_non_typing_sequences.py Add support for not needing `...` as default value in required Query(), Path(), Header(), etc. (#4906) 2022-05-13 18:38:22 -05:00
test_forms_single_model.py 🐛 Fix form field regression (#12194) 2024-09-13 11:51:00 +02:00
test_forms_single_param.py ♻️ Refactor deciding if `embed` body fields, do not overwrite fields, compute once per router, refactor internals in preparation for Pydantic models in `Form`, `Query` and others (#12117) 2024-09-05 13:24:36 +02:00
test_generate_unique_id_function.py Refactor tests for duplicate operation ID generation for compatibility with other tools running the FastAPI test suite (#10876) 2024-01-13 16:10:26 +01:00
test_generic_parameterless_depends.py ⬆ Bump ruff to 0.9.4 (#13299) 2025-03-06 13:18:57 +01:00
test_get_request_body.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_http_connection_injection.py Add support for injecting HTTPConnection (#1827) 2020-08-09 15:56:41 +02:00
test_include_route.py Improve test debugging (#1222) 2020-04-08 06:37:38 +02:00
test_include_router_defaults_overrides.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_infer_param_optionality.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_inherited_custom_class.py ⬆️ Upgrade version of Ruff and reformat (#12032) 2024-08-16 23:13:50 -05:00
test_invalid_path_param.py 🐛 Fix path and query parameters receiving dict as valid (#287) 2019-06-03 21:59:40 +04:00
test_invalid_sequence_param.py Add support for not needing `...` as default value in required Query(), Path(), Header(), etc. (#4906) 2022-05-13 18:38:22 -05:00
test_jsonable_encoder.py 🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic `UndefinedType` (#9929) 2024-04-18 16:56:59 -05:00
test_local_docs.py Improve type annotations, add support for mypy --strict, internally and for external packages (#2547) 2020-12-20 19:50:00 +01:00
test_multi_body_errors.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_multi_query_errors.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_multipart_installation.py ♻️ Update logic to import and check `python-multipart` for compatibility with newer version (#12627) 2024-10-27 21:46:26 +00:00
test_no_swagger_ui_redirect.py Improve test debugging (#1222) 2020-04-08 06:37:38 +02:00
test_openapi_examples.py Update internal tests for latest Pydantic, including CI tweaks to install the latest Pydantic (#12147) 2024-09-06 15:57:43 +00:00
test_openapi_query_parameter_extension.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_openapi_route_extensions.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_openapi_separate_input_output_schemas.py 🐛 Fix openapi generation with responses kwarg (#10895) 2024-10-12 11:44:57 +02:00
test_openapi_servers.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_operations_signatures.py Add include, exclude, and by_alias to path operation methods (#264) 2019-05-27 16:08:13 +04:00
test_orjson_response_class.py Update `ORJSONResponse` to support non `str` keys and serializing Numpy arrays (#3892) 2022-09-02 10:17:31 +00:00
test_param_class.py Add support for not needing `...` as default value in required Query(), Path(), Header(), etc. (#4906) 2022-05-13 18:38:22 -05:00
test_param_in_path_and_dependency.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_param_include_in_schema.py ⬆️ Upgrade configuration for Ruff v0.2.0 (#11075) 2024-03-26 11:56:53 -05:00
test_params_repr.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_path.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_put_no_body.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_query.py 🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic `UndefinedType` (#9929) 2024-04-18 16:56:59 -05:00
test_read_with_orm_mode.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_regex_deprecated_body.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_regex_deprecated_params.py Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response (#11461) 2024-04-18 14:40:57 -05:00
test_repeated_cookie_headers.py 🐛 Fix duplicated headers set by indirect dependencies (#1386) 2020-06-13 14:44:51 +02:00
test_repeated_dependency_schema.py ⬆ Bump ruff to 0.9.4 (#13299) 2025-03-06 13:18:57 +01:00
test_repeated_parameter_alias.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_reponse_set_reponse_code_empty.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_request_body_parameters_media_type.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_required_noneable.py Add tests for required nonable parameters and body fields (#4907) 2022-05-14 19:08:31 +00:00
test_response_by_alias.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_response_change_status_code.py Improve test debugging (#1222) 2020-04-08 06:37:38 +02:00
test_response_class_no_mediatype.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_response_code_no_body.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_response_model_as_return_annotation.py Add `ResponseValidationError` printable details, to show up in server error logs (#10078) 2023-08-14 11:49:57 +02:00
test_response_model_data_filter.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_response_model_data_filter_no_inheritance.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_response_model_include_exclude.py 🔧 Configure strict pytest options and update/refactor tests (#2790) 2021-07-19 21:14:58 +02:00
test_response_model_invalid.py 🐛 Admit valid types for Pydantic fields as responses models (#1017) 2020-02-29 14:04:35 +01:00
test_response_model_sub_types.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_route_scope.py ⬆️ Bump Starlette from 0.22.0 to 0.23.0 (#5739) 2023-02-08 11:23:07 +01:00
test_router_events.py 🐛 Ensure that `app.include_router` merges nested lifespans (#9630) 2024-08-24 14:09:52 -05:00
test_router_prefix_with_template.py Improve test debugging (#1222) 2020-04-08 06:37:38 +02:00
test_router_redirect_slashes.py Add allow disabling `redirect_slashes` at the FastAPI app level (#3432) 2023-06-22 10:37:50 +00:00
test_schema_extra_examples.py 👷 Adopt Ruff format (#10517) 2023-10-25 00:26:06 +04:00
test_security_api_key_cookie.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_cookie_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_cookie_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_header.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_header_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_header_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_query.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_query_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_api_key_query_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_base.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_base_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_base_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_basic_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_basic_realm.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_basic_realm_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_bearer.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_bearer_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_bearer_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_digest.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_digest_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_http_digest_optional.py 🐛 Ensure that `HTTPDigest` only raises an exception when `auto_error is True` (#2939) 2025-02-27 13:29:20 +01:00
test_security_oauth2.py 🐛 Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx (#9783) 2025-01-30 12:17:09 +00:00
test_security_oauth2_authorization_code_bearer.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_oauth2_authorization_code_bearer_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_oauth2_optional.py 🐛 Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx (#9783) 2025-01-30 12:17:09 +00:00
test_security_oauth2_optional_description.py 🐛 Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx (#9783) 2025-01-30 12:17:09 +00:00
test_security_oauth2_password_bearer_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_oauth2_password_bearer_optional_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_openid_connect.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_openid_connect_description.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_security_openid_connect_optional.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_serialize_response.py 🎨 Add typing.Optional to variables that accept None as value (#1731) 2020-08-03 14:29:07 +02:00
test_serialize_response_dataclass.py 🐛 Fix `jsonable_encoder` for dataclasses with pydantic-compatible fields (#3607) 2022-08-26 15:56:47 +02:00
test_serialize_response_model.py Add support for not needing `...` as default value in required Query(), Path(), Header(), etc. (#4906) 2022-05-13 18:38:22 -05:00
test_skip_defaults.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_starlette_exception.py Add support for OpenAPI 3.1.0 (#9770) 2023-06-30 20:25:16 +02:00
test_starlette_urlconvertors.py ⬆ Bump Starlette to version `0.22.0` to fix bad encoding for query parameters in `TestClient` (#5659) 2022-11-27 15:46:06 +01:00
test_sub_callbacks.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_swagger_ui_init_oauth.py 🔧 Add Flake8 linting (#1774) 2020-08-09 12:54:05 +02:00
test_tuples.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_typing_python39.py 📝 Update all docs to use `Annotated` as the main recommendation, with new examples and tests (#9268) 2023-03-18 13:29:59 +01:00
test_union_body.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_union_inherited_body.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_validate_response.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_validate_response_dataclass.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00
test_webhooks_security.py ✏️ Fix typos in emoji docs and in some source examples (#10438) 2023-10-20 13:00:44 +04:00
test_ws_dependencies.py Add support for `dependencies` in WebSocket routes (#4534) 2023-06-11 20:35:39 +00:00
test_ws_router.py Add exception handler for `WebSocketRequestValidationError` (which also allows to override it) (#6030) 2023-06-11 21:08:14 +02:00
utils.py Add support for Pydantic v2 (#9816) 2023-07-07 19:12:13 +02:00