Browse Source

Add failing test for #5065.

pull/5077/head
Lucas Wiman 3 years ago
parent
commit
972e75a4fa
  1. 9
      tests/forward_reference_type.py
  2. 24
      tests/test_wrapped_method_forward_reference.py

9
tests/forward_reference_type.py

@ -0,0 +1,9 @@
from pydantic import BaseModel
def forwardref_method(input: "ForwardRef") -> "ForwardRef":
return ForwardRef()
class ForwardRef(BaseModel):
x: int = 0

24
tests/test_wrapped_method_forward_reference.py

@ -0,0 +1,24 @@
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))
Loading…
Cancel
Save