mirror of https://github.com/tiangolo/fastapi.git
✅ Add extra tests for wrappers on __call__ in instances
This commit is contained in:
parent
97c9c753ad
commit
6ddfba272d
|
|
@ -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/",
|
||||
|
|
|
|||
Loading…
Reference in New Issue