From 6ddfba272db83586e1283a8981dab8c59066b73b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Thu, 4 Dec 2025 02:44:16 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Add=20extra=20tests=20for=20wrapper?= =?UTF-8?q?s=20on=20=5F=5Fcall=5F=5F=20in=20instances?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_dependency_wrapped.py | 74 +++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/tests/test_dependency_wrapped.py b/tests/test_dependency_wrapped.py index 054a5ee59..dfe893106 100644 --- a/tests/test_dependency_wrapped.py +++ b/tests/test_dependency_wrapped.py @@ -65,6 +65,24 @@ wrapped_class_instance_dep = noop_wrap(class_instance_dep) wrapped_class_instance_dep_async_wrapper = noop_wrap_async(class_instance_dep) +class ClassInstanceWrappedDep: + @noop_wrap + def __call__(self): + return True + + +class_instance_wrapped_dep = ClassInstanceWrappedDep() + + +class ClassInstanceWrappedAsyncDep: + @noop_wrap_async + def __call__(self): + return True + + +class_instance_wrapped_async_dep = ClassInstanceWrappedAsyncDep() + + class ClassDep: def __init__(self): self.value = True @@ -79,11 +97,31 @@ class ClassInstanceAsyncDep: return True -wrapped_class_instance_async_dep = noop_wrap(ClassInstanceAsyncDep()) +class_instance_async_dep = ClassInstanceAsyncDep() +wrapped_class_instance_async_dep = noop_wrap(class_instance_async_dep) wrapped_class_instance_async_dep_async_wrapper = noop_wrap_async( - ClassInstanceAsyncDep() + class_instance_async_dep ) + +class ClassInstanceAsyncWrappedDep: + @noop_wrap + async def __call__(self): + return True + + +class_instance_async_wrapped_dep = ClassInstanceAsyncWrappedDep() + + +class ClassInstanceAsyncWrappedAsyncDep: + @noop_wrap_async + async def __call__(self): + return True + + +class_instance_async_wrapped_async_dep = ClassInstanceAsyncWrappedAsyncDep() + + app = FastAPI() # Sync wrapper @@ -145,6 +183,34 @@ async def get_wrapped_class_instance_async_dependency( return value +@app.get("/class-instance-wrapped-dependency/") +async def get_class_instance_wrapped_dependency( + value: bool = Depends(class_instance_wrapped_dep), +): + return value + + +@app.get("/class-instance-wrapped-async-dependency/") +async def get_class_instance_wrapped_async_dependency( + value: bool = Depends(class_instance_wrapped_async_dep), +): + return value + + +@app.get("/class-instance-async-wrapped-dependency/") +async def get_class_instance_async_wrapped_dependency( + value: bool = Depends(class_instance_async_wrapped_dep), +): + return value + + +@app.get("/class-instance-async-wrapped-async-dependency/") +async def get_class_instance_async_wrapped_async_dependency( + value: bool = Depends(class_instance_async_wrapped_async_dep), +): + return value + + @app.get("/wrapped-class-dependency/") async def get_wrapped_class_dependency(value: ClassDep = Depends(wrapped_class_dep)): return value.value @@ -258,6 +324,10 @@ client = TestClient(app) "/async-wrapped-gen-dependency/", "/wrapped-class-instance-dependency/", "/wrapped-class-instance-async-dependency/", + "/class-instance-wrapped-dependency/", + "/class-instance-wrapped-async-dependency/", + "/class-instance-async-wrapped-dependency/", + "/class-instance-async-wrapped-async-dependency/", "/wrapped-class-dependency/", "/wrapped-endpoint/", "/async-wrapped-endpoint/",