Skip to content

Commit fa92f9a

Browse files
Fix unit tests
1 parent a045cf3 commit fa92f9a

File tree

2 files changed

+26
-90
lines changed

2 files changed

+26
-90
lines changed

tests/test_parser/test_properties/test_init.py

Lines changed: 25 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -252,57 +252,28 @@ def test_get_type_imports(self, mocker):
252252

253253

254254
class TestUnionProperty:
255-
def test_get_type_string(self, mocker):
256-
from openapi_python_client.parser.properties import UnionProperty
257-
258-
inner_property_1 = mocker.MagicMock()
259-
inner_property_1.get_type_string.return_value = "inner_type_string_1"
260-
inner_property_2 = mocker.MagicMock()
261-
inner_property_2.get_type_string.return_value = "inner_type_string_2"
262-
p = UnionProperty(
263-
name="test",
264-
required=True,
265-
default=None,
266-
inner_properties=[inner_property_1, inner_property_2],
267-
nullable=False,
268-
)
269-
270-
base_type_string = f"Union[inner_type_string_1, inner_type_string_2]"
271-
272-
assert p.get_type_string() == base_type_string
273-
274-
p = UnionProperty(
275-
name="test",
276-
required=True,
277-
default=None,
278-
inner_properties=[inner_property_1, inner_property_2],
279-
nullable=True,
280-
)
281-
assert p.get_type_string() == f"Union[None, inner_type_string_1, inner_type_string_2]"
282-
assert p.get_type_string(no_optional=True) == base_type_string
283-
284-
base_type_string_with_unset = f"Union[Unset, inner_type_string_1, inner_type_string_2]"
285-
p = UnionProperty(
286-
name="test",
287-
required=False,
288-
default=None,
289-
inner_properties=[inner_property_1, inner_property_2],
290-
nullable=True,
291-
)
292-
assert p.get_type_string() == f"Union[Unset, None, inner_type_string_1, inner_type_string_2]"
293-
assert p.get_type_string(no_optional=True) == base_type_string
294-
295-
p = UnionProperty(
296-
name="test",
297-
required=False,
298-
default=None,
299-
inner_properties=[inner_property_1, inner_property_2],
300-
nullable=False,
301-
)
302-
assert p.get_type_string() == base_type_string_with_unset
303-
assert p.get_type_string(no_optional=True) == base_type_string
304-
305-
def test_get_type_string_query_parameter(self, mocker):
255+
@pytest.mark.parametrize(
256+
"query_parameter,nullable,required,no_optional,expected",
257+
[
258+
(False, False, False, False, "Union[Unset, inner_type_string_1, inner_type_string_2]"),
259+
(False, False, False, True, "Union[inner_type_string_1, inner_type_string_2]"),
260+
(False, False, True, False, "Union[inner_type_string_1, inner_type_string_2]"),
261+
(False, False, True, True, "Union[inner_type_string_1, inner_type_string_2]"),
262+
(False, True, False, False, "Union[Unset, None, inner_type_string_1, inner_type_string_2]"),
263+
(False, True, False, True, "Union[inner_type_string_1, inner_type_string_2]"),
264+
(False, True, True, False, "Union[None, inner_type_string_1, inner_type_string_2]"),
265+
(False, True, True, True, "Union[inner_type_string_1, inner_type_string_2]"),
266+
(True, False, False, False, "Union[Unset, None, inner_type_string_1, inner_type_string_2]"),
267+
(True, False, False, True, "Union[inner_type_string_1, inner_type_string_2]"),
268+
(True, False, True, False, "Union[inner_type_string_1, inner_type_string_2]"),
269+
(True, False, True, True, "Union[inner_type_string_1, inner_type_string_2]"),
270+
(True, True, False, False, "Union[Unset, None, inner_type_string_1, inner_type_string_2]"),
271+
(True, True, False, True, "Union[inner_type_string_1, inner_type_string_2]"),
272+
(True, True, True, False, "Union[None, inner_type_string_1, inner_type_string_2]"),
273+
(True, True, True, True, "Union[inner_type_string_1, inner_type_string_2]"),
274+
],
275+
)
276+
def test_get_type_string(self, mocker, query_parameter, nullable, required, no_optional, expected):
306277
from openapi_python_client.parser.properties import UnionProperty
307278

308279
inner_property_1 = mocker.MagicMock()
@@ -311,48 +282,13 @@ def test_get_type_string_query_parameter(self, mocker):
311282
inner_property_2.get_type_string.return_value = "inner_type_string_2"
312283
p = UnionProperty(
313284
name="test",
314-
required=True,
315-
default=None,
316-
inner_properties=[inner_property_1, inner_property_2],
317-
nullable=False,
318-
)
319-
320-
base_type_string = f"Union[inner_type_string_1, inner_type_string_2]"
321-
322-
assert p.get_type_string(query_parameter=True) == base_type_string
323-
324-
p = UnionProperty(
325-
name="test",
326-
required=True,
327-
default=None,
328-
inner_properties=[inner_property_1, inner_property_2],
329-
nullable=True,
330-
)
331-
assert p.get_type_string(query_parameter=True) == f"Union[None, inner_type_string_1, inner_type_string_2]"
332-
assert p.get_type_string(no_optional=True, query_parameter=True) == base_type_string
333-
334-
base_type_string_with_unset = f"Union[Unset, None, inner_type_string_1, inner_type_string_2]"
335-
p = UnionProperty(
336-
name="test",
337-
required=False,
285+
required=required,
338286
default=None,
339287
inner_properties=[inner_property_1, inner_property_2],
340-
nullable=True,
341-
)
342-
assert (
343-
p.get_type_string(query_parameter=True) == f"Union[Unset, None, inner_type_string_1, inner_type_string_2]"
288+
nullable=nullable,
344289
)
345-
assert p.get_type_string(no_optional=True, query_parameter=True) == base_type_string
346290

347-
p = UnionProperty(
348-
name="test",
349-
required=False,
350-
default=None,
351-
inner_properties=[inner_property_1, inner_property_2],
352-
nullable=False,
353-
)
354-
assert p.get_type_string(query_parameter=True) == base_type_string_with_unset
355-
assert p.get_type_string(no_optional=True, query_parameter=True) == base_type_string
291+
assert p.get_type_string(query_parameter=query_parameter, no_optional=no_optional) == expected
356292

357293
def test_get_imports(self, mocker):
358294
from openapi_python_client.parser.properties import UnionProperty

tests/test_templates/test_property_templates/test_date_property/optional_nullable.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
some_source = date(2020, 10, 12)
77

88

9-
some_destination: Union[Unset, str] = UNSET
9+
some_destination: Union[Unset, None, str] = UNSET
1010
if not isinstance(some_source, Unset):
1111

1212
some_destination = some_source.isoformat() if some_source else None

0 commit comments

Comments
 (0)