pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
617 B
24 lines
617 B
import functools
|
|
|
|
from fastapi import FastAPI
|
|
|
|
from .forward_reference_type import forwardref_method
|
|
|
|
|
|
def passthrough(f):
|
|
@functools.wraps(f)
|
|
def method(*args, **kwargs):
|
|
return f(*args, **kwargs)
|
|
|
|
return method
|
|
|
|
|
|
def test_wrapped_method_type_inference():
|
|
"""
|
|
Regression test ensuring that when a method imported from another module
|
|
is decorated with something that sets the __wrapped__ attribute, then
|
|
the types are still processed correctly, including dereferencing of forward
|
|
references.
|
|
"""
|
|
app = FastAPI()
|
|
app.get("/endpoint")(passthrough(forwardref_method))
|
|
|