Skip to content

Commit d694e9a

Browse files
committed
[Python] Add test for UUID serialization
1 parent 2a102b7 commit d694e9a

File tree

6 files changed

+37
-0
lines changed

6 files changed

+37
-0
lines changed

samples/openapi3/client/petstore/python-aiohttp/tests/test_model.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import os
88
import time
99
import unittest
10+
import json
11+
import uuid
1012

1113
from pydantic import ValidationError
1214

@@ -283,3 +285,8 @@ def test_constraints(self):
283285
self.fail("invalid validation")
284286
except ValidationError as e:
285287
self.assertIn("String should have at most 7 characters", str(e))
288+
289+
def test_uuid(self):
290+
a = petstore_api.MixedPropertiesAndAdditionalPropertiesClass(uuid=uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75'))
291+
self.assertEqual(a.to_dict(), {'uuid': uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75')})
292+
self.assertEqual(json.loads(a.to_json()), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})

samples/openapi3/client/petstore/python-httpx/tests/test_model.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import os
88
import time
99
import unittest
10+
import json
11+
import uuid
1012

1113
from pydantic import ValidationError
1214

@@ -283,3 +285,8 @@ def test_constraints(self):
283285
self.fail("invalid validation")
284286
except ValidationError as e:
285287
self.assertIn("String should have at most 7 characters", str(e))
288+
289+
def test_uuid(self):
290+
a = petstore_api.MixedPropertiesAndAdditionalPropertiesClass(uuid=uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75'))
291+
self.assertEqual(a.to_dict(), {'uuid': uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75')})
292+
self.assertEqual(json.loads(a.to_json()), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})

samples/openapi3/client/petstore/python-lazyImports/tests/test_model.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import os
88
import time
99
import unittest
10+
import uuid
1011

1112
from pydantic import ValidationError, SecretStr, BaseModel, StrictStr, Field
1213
import pytest
@@ -637,6 +638,11 @@ def test_allof_discriminator_mapping(self):
637638
assert user_info is not None
638639
self.assertEqual(user_info.to_json(), user_info_json)
639640

641+
def test_uuid(self):
642+
a = petstore_api.MixedPropertiesAndAdditionalPropertiesClass(uuid=uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75'))
643+
self.assertEqual(a.to_dict(), {'uuid': uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75')})
644+
self.assertEqual(json.loads(a.to_json()), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})
645+
640646
class TestdditionalPropertiesAnyType(unittest.TestCase):
641647
def test_additional_properties(self):
642648
a1 = petstore_api.AdditionalPropertiesAnyType()

samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/tests/test_model.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import os
77
import time
88
import unittest
9+
import json
910

1011
import petstore_api
1112

@@ -236,3 +237,8 @@ def test_inline_enum_validator(self):
236237
self.assertTrue(False) # this line shouldn't execute
237238
except ValueError as e:
238239
self.assertTrue("must be one of enum values ('available', 'pending', 'sold')" in str(e))
240+
241+
def test_uuid(self):
242+
a = petstore_api.MixedPropertiesAndAdditionalPropertiesClass(uuid='16ce5deb-4464-4712-bff9-1e795a43cc75')
243+
self.assertEqual(a.to_dict(), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})
244+
self.assertEqual(json.loads(a.to_json()), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})

samples/openapi3/client/petstore/python-pydantic-v1/tests/test_model.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,11 @@ def test_additional_properties(self):
581581
self.assertEqual(a3.to_dict(), {"xyz": 45.6})
582582
self.assertEqual(a3.to_json(), "{\"xyz\": 45.6}")
583583

584+
def test_uuid(self):
585+
a = petstore_api.MixedPropertiesAndAdditionalPropertiesClass(uuid='16ce5deb-4464-4712-bff9-1e795a43cc75')
586+
self.assertEqual(a.to_dict(), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})
587+
self.assertEqual(json.loads(a.to_json()), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})
588+
584589
class TestUnnamedDictWithAdditionalStringListProperties:
585590
def test_empty_dict(self):
586591
a = petstore_api.UnnamedDictWithAdditionalStringListProperties(dict_property={})

samples/openapi3/client/petstore/python/tests/test_model.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import os
88
import time
99
import unittest
10+
import uuid
1011

1112
from pydantic import ValidationError, SecretStr, BaseModel, StrictStr, Field
1213
import pytest
@@ -637,6 +638,11 @@ def test_allof_discriminator_mapping(self):
637638
assert user_info is not None
638639
self.assertEqual(user_info.to_json(), user_info_json)
639640

641+
def test_uuid(self):
642+
a = petstore_api.MixedPropertiesAndAdditionalPropertiesClass(uuid=uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75'))
643+
self.assertEqual(a.to_dict(), {'uuid': uuid.UUID('16ce5deb-4464-4712-bff9-1e795a43cc75')})
644+
self.assertEqual(json.loads(a.to_json()), {'uuid': '16ce5deb-4464-4712-bff9-1e795a43cc75'})
645+
640646
class TestdditionalPropertiesAnyType(unittest.TestCase):
641647
def test_additional_properties(self):
642648
a1 = petstore_api.AdditionalPropertiesAnyType()

0 commit comments

Comments
 (0)