@@ -59,19 +59,21 @@ class FormModel(BaseModel):
5959
6060
6161class RequestBodyWithIterableModel (BaseModel ):
62- b1 : List [str ]
63- b2 : Tuple [str , int ]
64- b3 : Optional [List [int ]] = None
65- b4 : Union [Tuple [str , int ], None ] = None
62+ b1 : List
63+ b2 : List [str ]
64+ b3 : Tuple [str , int ]
65+ b4 : Optional [List [int ]] = None
66+ b5 : Union [Tuple [str , int ], None ] = None
6667
6768
6869if sys .version_info >= (3 , 10 ):
6970 # New Python(>=3.10) syntax tests
7071 class RequestBodyWithIterableModelPy310 (BaseModel ):
71- b1 : list [str ]
72- b2 : tuple [str , int ]
73- b3 : list [int ] | None = None
74- b4 : tuple [str , int ] | None = None
72+ b1 : list
73+ b2 : list [str ]
74+ b3 : tuple [str , int ]
75+ b4 : list [int ] | None = None
76+ b5 : tuple [str , int ] | None = None
7577
7678
7779class RequestBodyModelRoot (RootModel ):
@@ -220,21 +222,23 @@ class RequestBodyModelRoot(RootModel):
220222 ValidateParams (
221223 body_model = RequestBodyWithIterableModel ,
222224 request_body = {
223- "b1" : ["str1" , "str1" ],
224- "b2" : ("str" , 123 ),
225- "b3" : [1 , 2 , 3 ],
226- "b4" : ("str" , 321 ),
225+ "b1" : ["str1" , "str2" ],
226+ "b2" : ["str1" , "str2" ],
227+ "b3" : ("str" , 123 ),
228+ "b4" : [1 , 2 , 3 ],
229+ "b5" : ("str" , 321 ),
227230 },
228231 expected_response_body = {
229- "b1" : ["str1" , "str1" ],
230- "b2" : ("str" , 123 ),
231- "b3" : [1 , 2 , 3 ],
232- "b4" : ("str" , 321 ),
232+ "b1" : ["str1" , "str2" ],
233+ "b2" : ["str1" , "str2" ],
234+ "b3" : ("str" , 123 ),
235+ "b4" : [1 , 2 , 3 ],
236+ "b5" : ("str" , 321 ),
233237 },
234238 response_model = RequestBodyWithIterableModel ,
235239 expected_status_code = 200 ,
236240 ),
237- id = "ASASD " ,
241+ id = "iterable and Optional[Iterable] fields in pydantic model " ,
238242 ),
239243]
240244
@@ -245,21 +249,23 @@ class RequestBodyModelRoot(RootModel):
245249 ValidateParams (
246250 body_model = RequestBodyWithIterableModelPy310 ,
247251 request_body = {
248- "b1" : ["str1" , "str1" ],
249- "b2" : ("str" , 123 ),
250- "b3" : [1 , 2 , 3 ],
251- "b4" : ("str" , 321 ),
252+ "b1" : ["str1" , "str2" ],
253+ "b2" : ["str1" , "str2" ],
254+ "b3" : ("str" , 123 ),
255+ "b4" : [1 , 2 , 3 ],
256+ "b5" : ("str" , 321 ),
252257 },
253258 expected_response_body = {
254- "b1" : ["str1" , "str1" ],
255- "b2" : ("str" , 123 ),
256- "b3" : [1 , 2 , 3 ],
257- "b4" : ("str" , 321 ),
259+ "b1" : ["str1" , "str2" ],
260+ "b2" : ["str1" , "str2" ],
261+ "b3" : ("str" , 123 ),
262+ "b4" : [1 , 2 , 3 ],
263+ "b5" : ("str" , 321 ),
258264 },
259265 response_model = RequestBodyWithIterableModelPy310 ,
260266 expected_status_code = 200 ,
261267 ),
262- id = "ASASD " ,
268+ id = "iterable and Iterable | None fields in pydantic model (Python 3.10+) " ,
263269 ),
264270 ]
265271 )
0 commit comments