from typing import Any, List from dirty_equals import IsOneOf from fastapi.params import Body, Cookie, Depends, Header, Param, Path, Query test_data: List[Any] = ["teststr", None, ..., 1, []] def get_user(): return {} # pragma: no cover def test_param_repr_str(): assert repr(Param("teststr")) == "Param(teststr)" def test_param_repr_none(): assert repr(Param(None)) == "Param(None)" def test_param_repr_ellipsis(): assert repr(Param(...)) == IsOneOf( "Param(PydanticUndefined)", # TODO: remove when deprecating Pydantic v1 "Param(Ellipsis)", ) def test_param_repr_number(): assert repr(Param(1)) == "Param(1)" def test_param_repr_list(): assert repr(Param([])) == "Param([])" def test_path_repr(): assert repr(Path()) == IsOneOf( "Path(PydanticUndefined)", # TODO: remove when deprecating Pydantic v1 "Path(Ellipsis)", ) assert repr(Path(...)) == IsOneOf( "Path(PydanticUndefined)", # TODO: remove when deprecating Pydantic v1 "Path(Ellipsis)", ) def test_query_repr_str(): assert repr(Query("teststr")) == "Query(teststr)" def test_query_repr_none(): assert repr(Query(None)) == "Query(None)" def test_query_repr_ellipsis(): assert repr(Query(...)) == IsOneOf( "Query(PydanticUndefined)", # TODO: remove when deprecating Pydantic v1 "Query(Ellipsis)", ) def test_query_repr_number(): assert repr(Query(1)) == "Query(1)" def test_query_repr_list(): assert repr(Query([])) == "Query([])" def test_header_repr_str(): assert repr(Header("teststr")) == "Header(teststr)" def test_header_repr_none(): assert repr(Header(None)) == "Header(None)" def test_header_repr_ellipsis(): assert repr(Header(...)) == IsOneOf( "Header(PydanticUndefined)", # TODO: remove when deprecating Pydantic v1 "Header(Ellipsis)", ) def test_header_repr_number(): assert repr(Header(1)) == "Header(1)" def test_header_repr_list(): assert repr(Header([])) == "Header([])" def test_cookie_repr_str(): assert repr(Cookie("teststr")) == "Cookie(teststr)" def test_cookie_repr_none(): assert repr(Cookie(None)) == "Cookie(None)" def test_cookie_repr_ellipsis(): assert repr(Cookie(...)) == IsOneOf( "Cookie(PydanticUndefined)", # TODO: remove when deprecating Pydantic v1 "Cookie(Ellipsis)", ) def test_cookie_repr_number(): assert repr(Cookie(1)) == "Cookie(1)" def test_cookie_repr_list(): assert repr(Cookie([])) == "Cookie([])" def test_body_repr_str(): assert repr(Body("teststr")) == "Body(teststr)" def test_body_repr_none(): assert repr(Body(None)) == "Body(None)" def test_body_repr_ellipsis(): assert repr(Body(...)) == IsOneOf( "Body(PydanticUndefined)", # TODO: remove when deprecating Pydantic v1 "Body(Ellipsis)", ) def test_body_repr_number(): assert repr(Body(1)) == "Body(1)" def test_body_repr_list(): assert repr(Body([])) == "Body([])" def test_depends_repr(): assert repr(Depends()) == "Depends(NoneType)" assert repr(Depends(get_user)) == "Depends(get_user)" assert repr(Depends(use_cache=False)) == "Depends(NoneType, use_cache=False)" assert ( repr(Depends(get_user, use_cache=False)) == "Depends(get_user, use_cache=False)" )