_impartial(self.call)
) or inspect.isgeneratorfunction(_unwrapped_call(self.call)):
return True
+ if inspect.isclass(_unwrapped_call(self.call)):
+ return False
dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004
if dunder_call is None:
return False # pragma: no cover
_impartial(self.call)
) or inspect.isasyncgenfunction(_unwrapped_call(self.call)):
return True
+ if inspect.isclass(_unwrapped_call(self.call)):
+ return False
dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004
if dunder_call is None:
return False # pragma: no cover
_unwrapped_call(self.call)
):
return True
+ if inspect.isclass(_unwrapped_call(self.call)):
+ return False
dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004
if dunder_call is None:
return False # pragma: no cover
_impartial(dunder_unwrapped_call)
) or iscoroutinefunction(_unwrapped_call(dunder_unwrapped_call)):
return True
- # if inspect.isclass(self.call): False, covered by default return
return False
@cached_property
methods_dependency = MethodsDependency()
+@app.get("/callable-dependency-class")
+async def get_callable_dependency_class(
+ value: str, instance: CallableDependency = Depends()
+):
+ return instance(value)
+
+
+@app.get("/callable-gen-dependency-class")
+async def get_callable_gen_dependency_class(
+ value: str, instance: CallableGenDependency = Depends()
+):
+ return next(instance(value))
+
+
+@app.get("/async-callable-dependency-class")
+async def get_async_callable_dependency_class(
+ value: str, instance: AsyncCallableDependency = Depends()
+):
+ return await instance(value)
+
+
+@app.get("/async-callable-gen-dependency-class")
+async def get_async_callable_gen_dependency_class(
+ value: str, instance: AsyncCallableGenDependency = Depends()
+):
+ return await instance(value).__anext__()
+
+
@app.get("/callable-dependency")
async def get_callable_dependency(value: str = Depends(callable_dependency)):
return value
("/synchronous-method-gen-dependency", "synchronous-method-gen-dependency"),
("/asynchronous-method-dependency", "asynchronous-method-dependency"),
("/asynchronous-method-gen-dependency", "asynchronous-method-gen-dependency"),
+ ("/callable-dependency-class", "callable-dependency-class"),
+ ("/callable-gen-dependency-class", "callable-gen-dependency-class"),
+ ("/async-callable-dependency-class", "async-callable-dependency-class"),
+ ("/async-callable-gen-dependency-class", "async-callable-gen-dependency-class"),
],
)
def test_class_dependency(route, value):