fastapi/tests
Sebastián Ramírez 8cedb742cb
Add test for Pydantic v2, dataclasses, UUID, and `__annotations__` (#14477)
2025-12-09 12:12:24 +01:00
..
test_filter_pydantic_sub_model
test_modules_same_name_body
test_pydantic_v1_v2_multifile 🐛 Fix separation of schemas with nested models introduced in 0.119.0 (#14246) 2025-10-29 14:09:30 +01:00
test_tutorial 🐛 Fix parsing extra non-body parameter list (#14356) 2025-12-02 05:57:19 +01:00
test_validate_response_recursive Simplify tests for `validate_response_recursive` (#13507) 2025-06-17 12:24:10 +02:00
__init__.py
forward_reference_type.py Add support for wrapped functions (e.g. `@functools.wraps()`) used with forward references (#5077) 2025-12-02 18:23:14 +01:00
main.py Add OpenAPI `external_docs` parameter to `FastAPI` (#13713) 2025-09-20 19:11:46 +02:00
test_additional_properties.py
test_additional_properties_bool.py
test_additional_response_extra.py
test_additional_responses_bad.py
test_additional_responses_custom_model_in_callback.py
test_additional_responses_custom_validationerror.py
test_additional_responses_default_validationerror.py
test_additional_responses_response_class.py
test_additional_responses_router.py
test_allow_inf_nan_in_enforcing.py
test_ambiguous_params.py
test_annotated.py
test_application.py Add OpenAPI `external_docs` parameter to `FastAPI` (#13713) 2025-09-20 19:11:46 +02:00
test_callable_endpoint.py
test_compat.py 🐛 Fix optional sequence handling with new union syntax from Python 3.10 (#14430) 2025-12-02 16:59:38 +00:00
test_compat_params_v1.py Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app (#14168) 2025-10-11 18:45:54 +02:00
test_computed_fields.py 🐛 Fix OpenAPI schema support for computed fields when using `separate_input_output_schemas=False` (#13207) 2025-12-02 09:22:08 +00:00
test_custom_middleware_exception.py
test_custom_route_class.py
test_custom_schema_fields.py Allow array values for OpenAPI schema `type` field (#13639) 2025-09-20 17:47:24 +00:00
test_custom_swagger_ui_redirect.py
test_datastructures.py
test_datetime_custom_encoder.py
test_default_response_class.py
test_default_response_class_router.py
test_dependency_after_yield_raise.py 🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done (#14099) 2025-09-29 05:29:38 +02:00
test_dependency_after_yield_streaming.py 🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done (#14099) 2025-09-29 05:29:38 +02:00
test_dependency_after_yield_websockets.py 🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done (#14099) 2025-09-29 05:29:38 +02:00
test_dependency_cache.py
test_dependency_class.py 🐛 Fix using class (not instance) dependency that has `__call__` method (#14458) 2025-12-05 21:21:05 +00:00
test_dependency_contextmanager.py 🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done (#14099) 2025-09-29 05:29:38 +02:00
test_dependency_contextvars.py
test_dependency_duplicates.py
test_dependency_overrides.py
test_dependency_paramless.py ♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself (#14256) 2025-10-30 20:35:04 +01:00
test_dependency_partial.py Allow using dependables with `functools.partial()` (#9753) 2025-12-02 20:58:30 +00:00
test_dependency_security_overrides.py
test_dependency_wrapped.py 🐛 Fix support for functools wraps and partial combined, for async and regular functions and classes in path operations and dependencies (#14448) 2025-12-04 08:29:28 +01:00
test_dependency_yield_except_httpexception.py 🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done (#14099) 2025-09-29 05:29:38 +02:00
test_dependency_yield_scope.py 🐛 Fix `Depends(func, scope='function')` for top level (parameterless) dependencies (#14301) 2025-11-08 22:43:30 +01:00
test_dependency_yield_scope_websockets.py Add support for dependencies with scopes, support `scope="request"` for dependencies with `yield` that exit before the response is sent (#14262) 2025-11-03 11:12:49 +01:00
test_depends_hashable.py ♻️ Make the result of `Depends()` and `Security()` hashable, as a workaround for other tools interacting with these internal parts (#14372) 2025-11-19 17:50:18 +01:00
test_deprecated_openapi_prefix.py
test_duplicate_models_openapi.py
test_empty_router.py
test_enforce_once_required_parameter.py ⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.49.0 (#14077) 2025-09-16 19:21:48 +02:00
test_exception_handlers.py
test_extra_routes.py
test_fastapi_cli.py 🐛 Fix Windows UnicodeEncodeError in CLI test (#14295) 2025-12-02 04:02:38 +00:00
test_file_and_form_order_issue_9116.py 🐛 Fix validation error when `File` is declared after `Form` parameter (#11194) 2025-09-20 21:55:59 +02:00
test_filter_pydantic_sub_model_pv2.py
test_form_default.py 🐛 Fix support for form values with empty strings interpreted as missing (`None` if that's the default), for compatibility with HTML forms (#13537) 2025-12-02 05:39:55 +01:00
test_forms_from_non_typing_sequences.py
test_forms_single_model.py 🐛 Fix parsing extra `Form` parameter list (#14303) 2025-12-02 05:49:32 +01:00
test_forms_single_param.py
test_generate_unique_id_function.py
test_generic_parameterless_depends.py
test_get_model_definitions_formfeed_escape.py 🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1 (#14186) 2025-10-20 13:26:49 +02:00
test_get_request_body.py
test_http_connection_injection.py
test_include_route.py
test_include_router_defaults_overrides.py
test_infer_param_optionality.py
test_inherited_custom_class.py
test_invalid_path_param.py
test_invalid_sequence_param.py
test_jsonable_encoder.py 🐛 Fix `TypeError` when encoding a decimal with a `NaN` or `Infinity` value (#12935) 2025-12-02 04:31:59 +01:00
test_local_docs.py
test_multi_body_errors.py 👽️ Ensure compatibility with Pydantic 2.12.0 (#14036) 2025-10-08 10:57:37 +02:00
test_multi_query_errors.py
test_multipart_installation.py
test_no_schema_split.py 🐛 Fix separation of schemas with nested models introduced in 0.119.0 (#14246) 2025-10-29 14:09:30 +01:00
test_no_swagger_ui_redirect.py
test_openapi_examples.py
test_openapi_model_description_trim_on_formfeed.py
test_openapi_query_parameter_extension.py
test_openapi_route_extensions.py
test_openapi_schema_type.py Allow array values for OpenAPI schema `type` field (#13639) 2025-09-20 17:47:24 +00:00
test_openapi_separate_input_output_schemas.py 🐛 Fix `separate_input_output_schemas=False` with `computed_field` (#14453) 2025-12-05 21:19:30 +01:00
test_openapi_servers.py
test_operations_signatures.py
test_optional_file_list.py 🐛 Fix optional sequence handling in `serialize sequence value` with Pydantic V2 (#14297) 2025-12-02 08:10:27 +01:00
test_orjson_response_class.py
test_param_class.py
test_param_in_path_and_dependency.py
test_param_include_in_schema.py
test_params_repr.py ♻️ Refactor internals of dependencies, simplify using dataclasses (#14254) 2025-10-30 05:51:50 +01:00
test_path.py
test_put_no_body.py
test_pydantic_v1_v2_01.py Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app (#14168) 2025-10-11 18:45:54 +02:00
test_pydantic_v1_v2_list.py Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app (#14168) 2025-10-11 18:45:54 +02:00
test_pydantic_v1_v2_mixed.py Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app (#14168) 2025-10-11 18:45:54 +02:00
test_pydantic_v1_v2_noneable.py Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app (#14168) 2025-10-11 18:45:54 +02:00
test_pydanticv2_dataclasses_uuid_stringified_annotations.py Add test for Pydantic v2, dataclasses, UUID, and `__annotations__` (#14477) 2025-12-09 12:12:24 +01:00
test_query.py
test_query_cookie_header_model_extra_params.py 🐛 Fix parsing extra non-body parameter list (#14356) 2025-12-02 05:57:19 +01:00
test_read_with_orm_mode.py
test_regex_deprecated_body.py
test_regex_deprecated_params.py
test_repeated_cookie_headers.py
test_repeated_dependency_schema.py
test_repeated_parameter_alias.py
test_reponse_set_reponse_code_empty.py
test_request_body_parameters_media_type.py
test_request_param_model_by_alias.py 🐛 Fix Query\Header\Cookie parameter model alias (#14360) 2025-12-02 07:24:09 +00:00
test_required_noneable.py
test_response_by_alias.py
test_response_change_status_code.py
test_response_class_no_mediatype.py
test_response_code_no_body.py
test_response_model_as_return_annotation.py 🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1 (#14186) 2025-10-20 13:26:49 +02:00
test_response_model_data_filter.py
test_response_model_data_filter_no_inheritance.py
test_response_model_default_factory.py ️ Fix `default_factory` for response model field with Pydantic V1 (#9704) 2025-09-20 20:51:40 +02:00
test_response_model_include_exclude.py
test_response_model_invalid.py
test_response_model_sub_types.py
test_return_none_stringified_annotations.py Allow `None` as return type for bodiless responses (#9425) 2025-09-20 18:44:43 +00:00
test_route_scope.py 🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done (#14099) 2025-09-29 05:29:38 +02:00
test_router_events.py
test_router_prefix_with_template.py
test_router_redirect_slashes.py
test_schema_compat_pydantic_v2.py 🐛 Avoid accessing non-existing "$ref" key for Pydantic v2 compat remapping (#14361) 2025-12-02 05:04:13 +01:00
test_schema_extra_examples.py
test_schema_ref_pydantic_v2.py 🐛 Fix handling of JSON Schema attributes named "$ref" (#14349) 2025-11-13 14:59:07 +01:00
test_security_api_key_cookie.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_api_key_cookie_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_api_key_cookie_optional.py
test_security_api_key_header.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_api_key_header_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_api_key_header_optional.py
test_security_api_key_query.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_api_key_query_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_api_key_query_optional.py
test_security_http_base.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_base_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_base_optional.py
test_security_http_basic_optional.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_basic_realm.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_basic_realm_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_bearer.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_bearer_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_bearer_optional.py
test_security_http_digest.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_digest_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_http_digest_optional.py
test_security_oauth2.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_oauth2_authorization_code_bearer.py
test_security_oauth2_authorization_code_bearer_description.py
test_security_oauth2_authorization_code_bearer_scopes_openapi.py 🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes (#14459) 2025-12-04 23:22:01 +01:00
test_security_oauth2_authorization_code_bearer_scopes_openapi_simple.py 🐛 Fix OAuth2 scopes in OpenAPI in extra corner cases, parent dependency with scopes, sub-dependency security scheme without scopes (#14459) 2025-12-04 23:22:01 +01:00
test_security_oauth2_optional.py
test_security_oauth2_optional_description.py
test_security_oauth2_password_bearer_optional.py
test_security_oauth2_password_bearer_optional_description.py
test_security_openid_connect.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_openid_connect_description.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_security_openid_connect_optional.py
test_security_scopes.py 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes (#14419) 2025-11-30 15:45:49 +01:00
test_security_scopes_dont_propagate.py 🐛 Fix hierarchical security scope propagation (#5624) 2025-11-30 12:57:01 +01:00
test_security_scopes_sub_dependency.py 🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes (#14419) 2025-11-30 15:45:49 +01:00
test_serialize_response.py
test_serialize_response_dataclass.py
test_serialize_response_model.py
test_skip_defaults.py
test_starlette_exception.py
test_starlette_urlconvertors.py
test_stringified_annotations_simple.py 🐛 Fix evaluating stringified annotations in Python 3.10 (#11355) 2025-12-04 09:18:32 +01:00
test_sub_callbacks.py
test_swagger_ui_init_oauth.py
test_top_level_security_scheme_in_openapi.py 🐛 Use `401` status code in security classes when credentials are missing (#13786) 2025-11-24 20:03:06 +01:00
test_tuples.py
test_typing_python39.py
test_union_body.py
test_union_body_discriminator.py 🐛 Fix tagged discriminated union not recognized as body field (#12942) 2025-10-08 14:48:30 +00:00
test_union_forms.py 🐛 Fix support for unions when using `Form` (#13827) 2025-06-26 17:22:53 +02:00
test_union_inherited_body.py
test_validate_response.py
test_validate_response_dataclass.py
test_validation_error_context.py 🚸 Improve tracebacks by adding endpoint metadata (#14306) 2025-12-06 12:21:57 +00:00
test_webhooks_security.py
test_wrapped_method_forward_reference.py Add support for wrapped functions (e.g. `@functools.wraps()`) used with forward references (#5077) 2025-12-02 18:23:14 +01:00
test_ws_dependencies.py
test_ws_router.py
utils.py Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app (#14168) 2025-10-11 18:45:54 +02:00