Skip to content

Commit 147fe01

Browse files
Always check
1 parent b405fce commit 147fe01

File tree

4 files changed

+27
-3
lines changed

4 files changed

+27
-3
lines changed

end_to_end_tests/golden-record-custom/custom_e2e/api/tests/defaults_tests_defaults_post.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def httpx_request(
5252
union_prop_with_ref: Union[Unset, float, AnEnum] = 0.6,
5353
enum_prop: Union[Unset, AnEnum] = UNSET,
5454
model_prop: Union[ModelWithUnionProperty, Unset] = UNSET,
55+
required_model_prop: ModelWithUnionProperty,
5556
) -> Response[Union[None, HTTPValidationError]]:
5657

5758
json_datetime_prop: Union[Unset, str] = UNSET
@@ -95,6 +96,8 @@ def httpx_request(
9596
if not isinstance(model_prop, Unset):
9697
json_model_prop = model_prop.to_dict()
9798

99+
json_required_model_prop = required_model_prop.to_dict()
100+
98101
params: Dict[str, Any] = {
99102
"string_prop": string_prop,
100103
"datetime_prop": json_datetime_prop,
@@ -107,8 +110,9 @@ def httpx_request(
107110
"union_prop_with_ref": json_union_prop_with_ref,
108111
"enum_prop": json_enum_prop,
109112
}
110-
if not isinstance(json_model_prop, Unset):
113+
if not isinstance(json_model_prop, Unset) and json_model_prop is not None:
111114
params.update(json_model_prop)
115+
params.update(json_required_model_prop)
112116
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
113117

114118
response = client.request(

end_to_end_tests/golden-record/my_test_api_client/api/tests/defaults_tests_defaults_post.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ def _get_kwargs(
2525
union_prop_with_ref: Union[Unset, float, AnEnum] = 0.6,
2626
enum_prop: Union[Unset, AnEnum] = UNSET,
2727
model_prop: Union[ModelWithUnionProperty, Unset] = UNSET,
28+
required_model_prop: ModelWithUnionProperty,
2829
) -> Dict[str, Any]:
2930
url = "{}/tests/defaults".format(client.base_url)
3031

@@ -71,6 +72,8 @@ def _get_kwargs(
7172
if not isinstance(model_prop, Unset):
7273
json_model_prop = model_prop.to_dict()
7374

75+
json_required_model_prop = required_model_prop.to_dict()
76+
7477
params: Dict[str, Any] = {
7578
"string_prop": string_prop,
7679
"datetime_prop": json_datetime_prop,
@@ -83,8 +86,9 @@ def _get_kwargs(
8386
"union_prop_with_ref": json_union_prop_with_ref,
8487
"enum_prop": json_enum_prop,
8588
}
86-
if not isinstance(json_model_prop, Unset):
89+
if not isinstance(json_model_prop, Unset) and json_model_prop is not None:
8790
params.update(json_model_prop)
91+
params.update(json_required_model_prop)
8892
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
8993

9094
return {
@@ -131,6 +135,7 @@ def sync_detailed(
131135
union_prop_with_ref: Union[Unset, float, AnEnum] = 0.6,
132136
enum_prop: Union[Unset, AnEnum] = UNSET,
133137
model_prop: Union[ModelWithUnionProperty, Unset] = UNSET,
138+
required_model_prop: ModelWithUnionProperty,
134139
) -> Response[Union[None, HTTPValidationError]]:
135140
kwargs = _get_kwargs(
136141
client=client,
@@ -145,6 +150,7 @@ def sync_detailed(
145150
union_prop_with_ref=union_prop_with_ref,
146151
enum_prop=enum_prop,
147152
model_prop=model_prop,
153+
required_model_prop=required_model_prop,
148154
)
149155

150156
response = httpx.post(
@@ -168,6 +174,7 @@ def sync(
168174
union_prop_with_ref: Union[Unset, float, AnEnum] = 0.6,
169175
enum_prop: Union[Unset, AnEnum] = UNSET,
170176
model_prop: Union[ModelWithUnionProperty, Unset] = UNSET,
177+
required_model_prop: ModelWithUnionProperty,
171178
) -> Optional[Union[None, HTTPValidationError]]:
172179
""" """
173180

@@ -184,6 +191,7 @@ def sync(
184191
union_prop_with_ref=union_prop_with_ref,
185192
enum_prop=enum_prop,
186193
model_prop=model_prop,
194+
required_model_prop=required_model_prop,
187195
).parsed
188196

189197

@@ -201,6 +209,7 @@ async def asyncio_detailed(
201209
union_prop_with_ref: Union[Unset, float, AnEnum] = 0.6,
202210
enum_prop: Union[Unset, AnEnum] = UNSET,
203211
model_prop: Union[ModelWithUnionProperty, Unset] = UNSET,
212+
required_model_prop: ModelWithUnionProperty,
204213
) -> Response[Union[None, HTTPValidationError]]:
205214
kwargs = _get_kwargs(
206215
client=client,
@@ -215,6 +224,7 @@ async def asyncio_detailed(
215224
union_prop_with_ref=union_prop_with_ref,
216225
enum_prop=enum_prop,
217226
model_prop=model_prop,
227+
required_model_prop=required_model_prop,
218228
)
219229

220230
async with httpx.AsyncClient() as _client:
@@ -237,6 +247,7 @@ async def asyncio(
237247
union_prop_with_ref: Union[Unset, float, AnEnum] = 0.6,
238248
enum_prop: Union[Unset, AnEnum] = UNSET,
239249
model_prop: Union[ModelWithUnionProperty, Unset] = UNSET,
250+
required_model_prop: ModelWithUnionProperty,
240251
) -> Optional[Union[None, HTTPValidationError]]:
241252
""" """
242253

@@ -254,5 +265,6 @@ async def asyncio(
254265
union_prop_with_ref=union_prop_with_ref,
255266
enum_prop=enum_prop,
256267
model_prop=model_prop,
268+
required_model_prop=required_model_prop,
257269
)
258270
).parsed

end_to_end_tests/openapi.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,14 @@
404404
},
405405
"name": "model_prop",
406406
"in": "query"
407+
},
408+
{
409+
"required": true,
410+
"schema": {
411+
"$ref": "#/components/schemas/ModelWithUnionProperty"
412+
},
413+
"name": "required_model_prop",
414+
"in": "query"
407415
}
408416
],
409417
"responses": {

openapi_python_client/templates/endpoint_macros.py.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ params: Dict[str, Any] = {
3737
{% if property.required and not property.nullable %}
3838
params.update({{ property_name }})
3939
{% else %}
40-
if {% if not property.required %}not isinstance({{ property_name }}, Unset){% endif %}{% if not property.required and property.nullable %} and {% endif %}{% if property.nullable %}{{ property_name }} is not None{% endif %}:
40+
if not isinstance({{ property_name }}, Unset) and {{ property_name }} is not None:
4141
params.update({{ "json_" + property.python_name }})
4242
{% endif %}
4343
{% endif %}

0 commit comments

Comments
 (0)