Skip to content

Commit 5e8ad7a

Browse files
committed
chore: Reimplement functionality based on the latest main
1 parent 565cad7 commit 5e8ad7a

File tree

20 files changed

+260
-128
lines changed

20 files changed

+260
-128
lines changed

end_to_end_tests/baseline_openapi_3.0.json

+49
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,55 @@
476476
}
477477
}
478478
},
479+
"/tests/upload/multiple-files-in-object": {
480+
"post": {
481+
"tags": [
482+
"tests"
483+
],
484+
"summary": "Array of files in object",
485+
"description": "Upload an array of files as part of an object",
486+
"operationId": "upload_array_of_files_in_object_tests_upload_post",
487+
"parameters": [],
488+
"requestBody": {
489+
"content": {
490+
"multipart/form-data": {
491+
"schema": {
492+
"type" : "object",
493+
"files" : {
494+
"type" : "array",
495+
"items" : {
496+
"type" : "string",
497+
"description" : "attachments content",
498+
"format" : "binary"
499+
}
500+
}
501+
}
502+
}
503+
},
504+
"required": true
505+
},
506+
"responses": {
507+
"200": {
508+
"description": "Successful Response",
509+
"content": {
510+
"application/json": {
511+
"schema": {}
512+
}
513+
}
514+
},
515+
"422": {
516+
"description": "Validation Error",
517+
"content": {
518+
"application/json": {
519+
"schema": {
520+
"$ref": "#/components/schemas/HTTPValidationError"
521+
}
522+
}
523+
}
524+
}
525+
}
526+
}
527+
},
479528
"/tests/json_body": {
480529
"post": {
481530
"tags": [

end_to_end_tests/baseline_openapi_3.1.yaml

+49
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,55 @@ info:
463463
}
464464
}
465465
},
466+
"/tests/upload/multiple-files-in-object": {
467+
"post": {
468+
"tags": [
469+
"tests"
470+
],
471+
"summary": "Array of files in object",
472+
"description": "Upload an array of files as part of an object",
473+
"operationId": "upload_array_of_files_in_object_tests_upload_post",
474+
"parameters": [ ],
475+
"requestBody": {
476+
"content": {
477+
"multipart/form-data": {
478+
"schema": {
479+
"type": "object",
480+
"files": {
481+
"type": "array",
482+
"items": {
483+
"type": "string",
484+
"description": "attachments content",
485+
"format": "binary"
486+
}
487+
}
488+
}
489+
}
490+
},
491+
"required": true
492+
},
493+
"responses": {
494+
"200": {
495+
"description": "Successful Response",
496+
"content": {
497+
"application/json": {
498+
"schema": { }
499+
}
500+
}
501+
},
502+
"422": {
503+
"description": "Validation Error",
504+
"content": {
505+
"application/json": {
506+
"schema": {
507+
"$ref": "#/components/schemas/HTTPValidationError"
508+
}
509+
}
510+
}
511+
}
512+
}
513+
}
514+
},
466515
"/tests/json_body": {
467516
"post": {
468517
"tags": [

end_to_end_tests/custom-templates-golden-record/my_test_api_client/api/tests/__init__.py

+8
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
test_inline_objects,
2121
token_with_cookie_auth_token_with_cookie_get,
2222
unsupported_content_tests_unsupported_content_get,
23+
upload_array_of_files_in_object_tests_upload_post,
2324
upload_file_tests_upload_post,
2425
upload_multiple_files_tests_upload_post,
2526
)
@@ -89,6 +90,13 @@ def upload_multiple_files_tests_upload_post(cls) -> types.ModuleType:
8990
"""
9091
return upload_multiple_files_tests_upload_post
9192

93+
@classmethod
94+
def upload_array_of_files_in_object_tests_upload_post(cls) -> types.ModuleType:
95+
"""
96+
Upload an array of files as part of an object
97+
"""
98+
return upload_array_of_files_in_object_tests_upload_post
99+
92100
@classmethod
93101
def json_body_tests_json_body_post(cls) -> types.ModuleType:
94102
"""

end_to_end_tests/golden-record/my_test_api_client/models/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
)
8888
from .test_inline_objects_body import TestInlineObjectsBody
8989
from .test_inline_objects_response_200 import TestInlineObjectsResponse200
90+
from .upload_array_of_files_in_object_tests_upload_post_body import UploadArrayOfFilesInObjectTestsUploadPostBody
9091
from .validation_error import ValidationError
9192

9293
__all__ = (
@@ -167,5 +168,6 @@
167168
"PostResponsesUnionsSimpleBeforeComplexResponse200AType1",
168169
"TestInlineObjectsBody",
169170
"TestInlineObjectsResponse200",
171+
"UploadArrayOfFilesInObjectTestsUploadPostBody",
170172
"ValidationError",
171173
)

end_to_end_tests/golden-record/my_test_api_client/models/a_model.py

+1
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ def to_dict(self) -> dict[str, Any]:
206206
not_required_nullable_model = self.not_required_nullable_model
207207

208208
field_dict: dict[str, Any] = {}
209+
209210
field_dict.update(
210211
{
211212
"an_enum_value": an_enum_value,

end_to_end_tests/golden-record/my_test_api_client/models/body_upload_file_tests_upload_post.py

+38-38
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ def to_dict(self) -> dict[str, Any]:
136136
field_dict: dict[str, Any] = {}
137137
for prop_name, prop in self.additional_properties.items():
138138
field_dict[prop_name] = prop.to_dict()
139+
139140
field_dict.update(
140141
{
141142
"some_file": some_file,
@@ -167,44 +168,59 @@ def to_dict(self) -> dict[str, Any]:
167168

168169
return field_dict
169170

170-
def to_multipart(self) -> dict[str, Any]:
171+
def to_multipart(self) -> list[tuple[str, Any]]:
172+
field_list: list[tuple[str, Any]] = []
171173
some_file = self.some_file.to_tuple()
172174

175+
field_list.append(("some_file", some_file))
173176
some_required_number = (None, str(self.some_required_number).encode(), "text/plain")
174177

178+
field_list.append(("some_required_number", some_required_number))
175179
some_object = (None, json.dumps(self.some_object.to_dict()).encode(), "application/json")
176180

181+
field_list.append(("some_object", some_object))
177182
some_nullable_object: tuple[None, bytes, str]
178183

179184
if isinstance(self.some_nullable_object, BodyUploadFileTestsUploadPostSomeNullableObject):
180185
some_nullable_object = (None, json.dumps(self.some_nullable_object.to_dict()).encode(), "application/json")
181186
else:
182187
some_nullable_object = (None, str(self.some_nullable_object).encode(), "text/plain")
183188

189+
field_list.append(("some_nullable_object", some_nullable_object))
184190
some_optional_file: Union[Unset, FileJsonType] = UNSET
185191
if not isinstance(self.some_optional_file, Unset):
186192
some_optional_file = self.some_optional_file.to_tuple()
187193

194+
if some_optional_file is not UNSET:
195+
field_list.append(("some_optional_file", some_optional_file))
188196
some_string = (
189197
self.some_string
190198
if isinstance(self.some_string, Unset)
191199
else (None, str(self.some_string).encode(), "text/plain")
192200
)
193201

202+
if some_string is not UNSET:
203+
field_list.append(("some_string", some_string))
194204
a_datetime: Union[Unset, bytes] = UNSET
195205
if not isinstance(self.a_datetime, Unset):
196206
a_datetime = self.a_datetime.isoformat().encode()
197207

208+
if a_datetime is not UNSET:
209+
field_list.append(("a_datetime", a_datetime))
198210
a_date: Union[Unset, bytes] = UNSET
199211
if not isinstance(self.a_date, Unset):
200212
a_date = self.a_date.isoformat().encode()
201213

214+
if a_date is not UNSET:
215+
field_list.append(("a_date", a_date))
202216
some_number = (
203217
self.some_number
204218
if isinstance(self.some_number, Unset)
205219
else (None, str(self.some_number).encode(), "text/plain")
206220
)
207221

222+
if some_number is not UNSET:
223+
field_list.append(("some_number", some_number))
208224
some_nullable_number: Union[Unset, tuple[None, bytes, str]]
209225

210226
if isinstance(self.some_nullable_number, Unset):
@@ -214,14 +230,17 @@ def to_multipart(self) -> dict[str, Any]:
214230
else:
215231
some_nullable_number = (None, str(self.some_nullable_number).encode(), "text/plain")
216232

217-
some_int_array: Union[Unset, tuple[None, bytes, str]] = UNSET
218-
if not isinstance(self.some_int_array, Unset):
219-
_temp_some_int_array = []
220-
for some_int_array_item_data in self.some_int_array:
221-
some_int_array_item: Union[None, int]
222-
some_int_array_item = some_int_array_item_data
223-
_temp_some_int_array.append(some_int_array_item)
224-
some_int_array = (None, json.dumps(_temp_some_int_array).encode(), "application/json")
233+
if some_nullable_number is not UNSET:
234+
field_list.append(("some_nullable_number", some_nullable_number))
235+
for some_int_array_element in self.some_int_array or []:
236+
some_int_array_item: tuple[None, bytes, str]
237+
238+
if isinstance(some_int_array_element, int):
239+
some_int_array_item = (None, str(some_int_array_element).encode(), "text/plain")
240+
else:
241+
some_int_array_item = (None, str(some_int_array_element).encode(), "text/plain")
242+
243+
field_list.append(("some_int_array", some_int_array_item))
225244

226245
some_array: Union[Unset, tuple[None, bytes, str]]
227246

@@ -236,47 +255,28 @@ def to_multipart(self) -> dict[str, Any]:
236255
else:
237256
some_array = (None, str(self.some_array).encode(), "text/plain")
238257

258+
if some_array is not UNSET:
259+
field_list.append(("some_array", some_array))
239260
some_optional_object: Union[Unset, tuple[None, bytes, str]] = UNSET
240261
if not isinstance(self.some_optional_object, Unset):
241262
some_optional_object = (None, json.dumps(self.some_optional_object.to_dict()).encode(), "application/json")
242263

264+
if some_optional_object is not UNSET:
265+
field_list.append(("some_optional_object", some_optional_object))
243266
some_enum: Union[Unset, tuple[None, bytes, str]] = UNSET
244267
if not isinstance(self.some_enum, Unset):
245268
some_enum = (None, str(self.some_enum.value).encode(), "text/plain")
246269

270+
if some_enum is not UNSET:
271+
field_list.append(("some_enum", some_enum))
272+
247273
field_dict: dict[str, Any] = {}
248274
for prop_name, prop in self.additional_properties.items():
249275
field_dict[prop_name] = (None, json.dumps(prop.to_dict()).encode(), "application/json")
250-
field_dict.update(
251-
{
252-
"some_file": some_file,
253-
"some_required_number": some_required_number,
254-
"some_object": some_object,
255-
"some_nullable_object": some_nullable_object,
256-
}
257-
)
258-
if some_optional_file is not UNSET:
259-
field_dict["some_optional_file"] = some_optional_file
260-
if some_string is not UNSET:
261-
field_dict["some_string"] = some_string
262-
if a_datetime is not UNSET:
263-
field_dict["a_datetime"] = a_datetime
264-
if a_date is not UNSET:
265-
field_dict["a_date"] = a_date
266-
if some_number is not UNSET:
267-
field_dict["some_number"] = some_number
268-
if some_nullable_number is not UNSET:
269-
field_dict["some_nullable_number"] = some_nullable_number
270-
if some_int_array is not UNSET:
271-
field_dict["some_int_array"] = some_int_array
272-
if some_array is not UNSET:
273-
field_dict["some_array"] = some_array
274-
if some_optional_object is not UNSET:
275-
field_dict["some_optional_object"] = some_optional_object
276-
if some_enum is not UNSET:
277-
field_dict["some_enum"] = some_enum
278276

279-
return field_dict
277+
field_list += list(field_dict.items())
278+
279+
return field_list
280280

281281
@classmethod
282282
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:

end_to_end_tests/golden-record/my_test_api_client/models/http_validation_error.py

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def to_dict(self) -> dict[str, Any]:
3030
detail.append(detail_item)
3131

3232
field_dict: dict[str, Any] = {}
33+
3334
field_dict.update({})
3435
if detail is not UNSET:
3536
field_dict["detail"] = detail

end_to_end_tests/golden-record/my_test_api_client/models/model_with_additional_properties_inlined.py

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def to_dict(self) -> dict[str, Any]:
3333
field_dict: dict[str, Any] = {}
3434
for prop_name, prop in self.additional_properties.items():
3535
field_dict[prop_name] = prop.to_dict()
36+
3637
field_dict.update({})
3738
if a_number is not UNSET:
3839
field_dict["a_number"] = a_number

end_to_end_tests/golden-record/my_test_api_client/models/model_with_union_property.py

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def to_dict(self) -> dict[str, Any]:
2929
a_property = self.a_property.value
3030

3131
field_dict: dict[str, Any] = {}
32+
3233
field_dict.update({})
3334
if a_property is not UNSET:
3435
field_dict["a_property"] = a_property

end_to_end_tests/golden-record/my_test_api_client/models/model_with_union_property_inlined.py

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ def to_dict(self) -> dict[str, Any]:
3434
fruit = self.fruit.to_dict()
3535

3636
field_dict: dict[str, Any] = {}
37+
3738
field_dict.update({})
3839
if fruit is not UNSET:
3940
field_dict["fruit"] = fruit

end_to_end_tests/golden-record/my_test_api_client/models/post_bodies_multiple_files_body.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,20 @@ def to_dict(self) -> dict[str, Any]:
3030

3131
return field_dict
3232

33-
def to_multipart(self) -> dict[str, Any]:
33+
def to_multipart(self) -> list[tuple[str, Any]]:
34+
field_list: list[tuple[str, Any]] = []
3435
a = self.a if isinstance(self.a, Unset) else (None, str(self.a).encode(), "text/plain")
3536

37+
if a is not UNSET:
38+
field_list.append(("a", a))
39+
3640
field_dict: dict[str, Any] = {}
3741
for prop_name, prop in self.additional_properties.items():
3842
field_dict[prop_name] = (None, str(prop).encode(), "text/plain")
3943

40-
field_dict.update({})
41-
if a is not UNSET:
42-
field_dict["a"] = a
44+
field_list += list(field_dict.items())
4345

44-
return field_dict
46+
return field_list
4547

4648
@classmethod
4749
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:

end_to_end_tests/golden-record/my_test_api_client/models/test_inline_objects_body.py

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def to_dict(self) -> dict[str, Any]:
2121
a_property = self.a_property
2222

2323
field_dict: dict[str, Any] = {}
24+
2425
field_dict.update({})
2526
if a_property is not UNSET:
2627
field_dict["a_property"] = a_property

end_to_end_tests/golden-record/my_test_api_client/models/test_inline_objects_response_200.py

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def to_dict(self) -> dict[str, Any]:
2121
a_property = self.a_property
2222

2323
field_dict: dict[str, Any] = {}
24+
2425
field_dict.update({})
2526
if a_property is not UNSET:
2627
field_dict["a_property"] = a_property

end_to_end_tests/golden-record/my_test_api_client/models/validation_error.py

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def to_dict(self) -> dict[str, Any]:
2727
type_ = self.type_
2828

2929
field_dict: dict[str, Any] = {}
30+
3031
field_dict.update(
3132
{
3233
"loc": loc,

end_to_end_tests/literal-enums-golden-record/my_enum_api_client/models/a_model.py

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def to_dict(self) -> dict[str, Any]:
5252
nested_list_of_enums.append(nested_list_of_enums_item)
5353

5454
field_dict: dict[str, Any] = {}
55+
5556
field_dict.update(
5657
{
5758
"an_enum_value": an_enum_value,

0 commit comments

Comments
 (0)