fastapi/tests
Sebastián Ramírez 1b42639296
🔥 Remove test variants for Pydantic v1 in test_request_params (#14612)
2025-12-27 19:31:34 +01:00
..
benchmarks Run performance tests only on Pydantic v2 (#14608) 2025-12-26 20:40:26 +00: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_request_params 🔥 Remove test variants for Pydantic v1 in test_request_params (#14612) 2025-12-27 19:31:34 +01:00
test_tutorial 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_validate_response_recursive Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01: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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_additional_properties.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_additional_properties_bool.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_additional_response_extra.py
test_additional_responses_bad.py
test_additional_responses_custom_model_in_callback.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_additional_responses_custom_validationerror.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_additional_responses_default_validationerror.py
test_additional_responses_response_class.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_additional_responses_router.py
test_allow_inf_nan_in_enforcing.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_ambiguous_params.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_annotated.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_application.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_arbitrary_types.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_callable_endpoint.py
test_compat.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00
test_computed_fields.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_custom_middleware_exception.py
test_custom_route_class.py
test_custom_schema_fields.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_custom_swagger_ui_redirect.py
test_datastructures.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_datetime_custom_encoder.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00
test_default_response_class.py
test_default_response_class_router.py
test_dependency_after_yield_raise.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_after_yield_streaming.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_after_yield_websockets.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_cache.py
test_dependency_class.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_contextmanager.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_contextvars.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_duplicates.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_dependency_overrides.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_dependency_paramless.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_partial.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_security_overrides.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_wrapped.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00: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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_dependency_yield_scope_websockets.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00: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 🐛 Preserve traceback when exception is raised in sync dependency with `yield` (#5823) 2024-12-03 23:37:12 +01:00
test_extra_routes.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_filter_pydantic_sub_model_pv2.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_form_default.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_forms_from_non_typing_sequences.py
test_forms_single_model.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_forms_single_param.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_generate_unique_id_function.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_generic_parameterless_depends.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_get_model_definitions_formfeed_escape.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01: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 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_inherited_custom_class.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00
test_invalid_path_param.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_invalid_sequence_param.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_jsonable_encoder.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00
test_local_docs.py
test_multi_body_errors.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_multi_query_errors.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_multipart_installation.py
test_no_schema_split.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_no_swagger_ui_redirect.py
test_openapi_examples.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_openapi_model_description_trim_on_formfeed.py 🐛 Fix truncating the model's description with form feed (`\f`) character for Pydantic V2 (#13698) 2025-06-17 09:46:27 +02:00
test_openapi_query_parameter_extension.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_openapi_route_extensions.py
test_openapi_schema_type.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_openapi_separate_input_output_schemas.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_openapi_servers.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_operations_signatures.py
test_optional_file_list.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00: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 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_path.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_put_no_body.py
test_pydantic_v1_error.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00
test_pydanticv2_dataclasses_uuid_stringified_annotations.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_query.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_query_cookie_header_model_extra_params.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_read_with_orm_mode.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00
test_regex_deprecated_body.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_regex_deprecated_params.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_repeated_cookie_headers.py
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
test_reponse_set_reponse_code_empty.py
test_request_body_parameters_media_type.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_request_param_model_by_alias.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_required_noneable.py
test_response_by_alias.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_response_change_status_code.py
test_response_class_no_mediatype.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_response_code_no_body.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_response_model_as_return_annotation.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00
test_response_model_data_filter.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_response_model_data_filter_no_inheritance.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_response_model_sub_types.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_router_prefix_with_template.py
test_router_redirect_slashes.py
test_schema_compat_pydantic_v2.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_schema_extra_examples.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_schema_ref_pydantic_v2.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +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 🐛 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 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_security_oauth2_authorization_code_bearer_scopes_openapi_simple.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_security_oauth2_optional.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_security_oauth2_optional_description.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_security_scopes_dont_propagate.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_security_scopes_sub_dependency.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_serialize_response.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_serialize_response_dataclass.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_serialize_response_model.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_skip_defaults.py
test_starlette_exception.py
test_starlette_urlconvertors.py
test_stringified_annotation_dependency.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_stringified_annotations_simple.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_sub_callbacks.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
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 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_typing_python39.py
test_union_body.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_union_body_discriminator.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_union_body_discriminator_annotated.py Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` (#14575) 2025-12-20 16:55:38 +01:00
test_union_forms.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_union_inherited_body.py 🔥 Remove Pydantic v1 specific test variants (#14611) 2025-12-27 19:19:10 +01:00
test_validate_response.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_validate_response_dataclass.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_validation_error_context.py 🚸 Improve tracebacks by adding endpoint metadata (#14306) 2025-12-06 12:21:57 +00:00
test_webhooks_security.py ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
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 ♻️ Upgrade internal syntax to Python 3.9+ 🎉 (#14564) 2025-12-17 21:25:59 +00:00
test_ws_router.py
utils.py Drop support for `pydantic.v1` (#14609) 2025-12-27 13:54:56 +01:00