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)
|
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:
|
class ClassDep:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.value = True
|
self.value = True
|
||||||
|
|
@ -79,11 +97,31 @@ class ClassInstanceAsyncDep:
|
||||||
return True
|
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(
|
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()
|
app = FastAPI()
|
||||||
|
|
||||||
# Sync wrapper
|
# Sync wrapper
|
||||||
|
|
@ -145,6 +183,34 @@ async def get_wrapped_class_instance_async_dependency(
|
||||||
return value
|
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/")
|
@app.get("/wrapped-class-dependency/")
|
||||||
async def get_wrapped_class_dependency(value: ClassDep = Depends(wrapped_class_dep)):
|
async def get_wrapped_class_dependency(value: ClassDep = Depends(wrapped_class_dep)):
|
||||||
return value.value
|
return value.value
|
||||||
|
|
@ -258,6 +324,10 @@ client = TestClient(app)
|
||||||
"/async-wrapped-gen-dependency/",
|
"/async-wrapped-gen-dependency/",
|
||||||
"/wrapped-class-instance-dependency/",
|
"/wrapped-class-instance-dependency/",
|
||||||
"/wrapped-class-instance-async-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-class-dependency/",
|
||||||
"/wrapped-endpoint/",
|
"/wrapped-endpoint/",
|
||||||
"/async-wrapped-endpoint/",
|
"/async-wrapped-endpoint/",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue