mirror of
https://github.com/valitydev/openapi-generator.git
synced 2024-11-07 19:08:52 +00:00
2be3414357
Add test case for nested list deserialization.
179 lines
5.4 KiB
Python
179 lines
5.4 KiB
Python
# coding: utf-8
|
|
|
|
"""
|
|
Run the tests.
|
|
$ pip install nose (optional)
|
|
$ cd SwaggerPetstore-python
|
|
$ nosetests -v
|
|
"""
|
|
import os
|
|
import time
|
|
import unittest
|
|
import datetime
|
|
|
|
import swagger_client
|
|
|
|
|
|
class DeserializationTests(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
self.api_client = swagger_client.ApiClient()
|
|
self.deserialize = self.api_client._ApiClient__deserialize
|
|
|
|
def test_deserialize_dict_str_pet(self):
|
|
""" deserialize dict(str, Pet) """
|
|
data = {
|
|
'pet': {
|
|
"id": 0,
|
|
"category": {
|
|
"id": 0,
|
|
"name": "string"
|
|
},
|
|
"name": "doggie",
|
|
"photoUrls": [
|
|
"string"
|
|
],
|
|
"tags": [
|
|
{
|
|
"id": 0,
|
|
"name": "string"
|
|
}
|
|
],
|
|
"status": "available"
|
|
}
|
|
}
|
|
|
|
deserialized = self.deserialize(data, 'dict(str, Pet)')
|
|
self.assertTrue(isinstance(deserialized, dict))
|
|
self.assertTrue(isinstance(deserialized['pet'], swagger_client.Pet))
|
|
|
|
def test_deserialize_dict_str_int(self):
|
|
""" deserialize dict(str, int) """
|
|
data = {
|
|
'integer': 1
|
|
}
|
|
|
|
deserialized = self.deserialize(data, 'dict(str, int)')
|
|
self.assertTrue(isinstance(deserialized, dict))
|
|
self.assertTrue(isinstance(deserialized['integer'], int))
|
|
|
|
def test_deserialize_str(self):
|
|
""" deserialize str """
|
|
data = "test str"
|
|
deserialized = self.deserialize(data, "str")
|
|
self.assertTrue(isinstance(deserialized, str))
|
|
|
|
def test_deserialize_date(self):
|
|
""" deserialize date """
|
|
data = "1997-07-16"
|
|
deserialized = self.deserialize(data, "date")
|
|
self.assertTrue(isinstance(deserialized, datetime.date))
|
|
|
|
def test_deserialize_datetime(self):
|
|
""" deserialize datetime """
|
|
data = "1997-07-16T19:20:30.45+01:00"
|
|
deserialized = self.deserialize(data, "datetime")
|
|
self.assertTrue(isinstance(deserialized, datetime.datetime))
|
|
|
|
def test_deserialize_pet(self):
|
|
""" deserialize pet """
|
|
data = {
|
|
"id": 0,
|
|
"category": {
|
|
"id": 0,
|
|
"name": "string"
|
|
},
|
|
"name": "doggie",
|
|
"photoUrls": [
|
|
"string"
|
|
],
|
|
"tags": [
|
|
{
|
|
"id": 0,
|
|
"name": "string"
|
|
}
|
|
],
|
|
"status": "available"
|
|
}
|
|
deserialized = self.deserialize(data, "Pet")
|
|
self.assertTrue(isinstance(deserialized, swagger_client.Pet))
|
|
self.assertEqual(deserialized.id, 0)
|
|
self.assertEqual(deserialized.name, "doggie")
|
|
self.assertTrue(isinstance(deserialized.category, swagger_client.Category))
|
|
self.assertEqual(deserialized.category.name, "string")
|
|
self.assertTrue(isinstance(deserialized.tags, list))
|
|
self.assertEqual(deserialized.tags[0].name, "string")
|
|
|
|
def test_deserialize_list_of_pet(self):
|
|
""" deserialize list[Pet] """
|
|
data = [{
|
|
"id": 0,
|
|
"category": {
|
|
"id": 0,
|
|
"name": "string"
|
|
},
|
|
"name": "doggie0",
|
|
"photoUrls": [
|
|
"string"
|
|
],
|
|
"tags": [
|
|
{
|
|
"id": 0,
|
|
"name": "string"
|
|
}
|
|
],
|
|
"status": "available"
|
|
},
|
|
{
|
|
"id": 1,
|
|
"category": {
|
|
"id": 0,
|
|
"name": "string"
|
|
},
|
|
"name": "doggie1",
|
|
"photoUrls": [
|
|
"string"
|
|
],
|
|
"tags": [
|
|
{
|
|
"id": 0,
|
|
"name": "string"
|
|
}
|
|
],
|
|
"status": "available"
|
|
}]
|
|
deserialized = self.deserialize(data, "list[Pet]")
|
|
self.assertTrue(isinstance(deserialized, list))
|
|
self.assertTrue(isinstance(deserialized[0], swagger_client.Pet))
|
|
self.assertEqual(deserialized[0].id, 0)
|
|
self.assertEqual(deserialized[1].id, 1)
|
|
self.assertEqual(deserialized[0].name, "doggie0")
|
|
self.assertEqual(deserialized[1].name, "doggie1")
|
|
|
|
def test_deserialize_nested_dict(self):
|
|
""" deserialize dict(str, dict(str, int)) """
|
|
data = {
|
|
"foo": {
|
|
"bar": 1
|
|
}
|
|
}
|
|
|
|
deserialized = self.deserialize(data, "dict(str, dict(str, int))")
|
|
self.assertTrue(isinstance(deserialized, dict))
|
|
self.assertTrue(isinstance(deserialized["foo"], dict))
|
|
self.assertTrue(isinstance(deserialized["foo"]["bar"], int))
|
|
|
|
def test_deserialize_nested_list(self):
|
|
""" deserialize list[list[str]] """
|
|
data = [["foo"]]
|
|
|
|
deserialized = self.deserialize(data, "list[list[str]]")
|
|
self.assertTrue(isinstance(deserialized, list))
|
|
self.assertTrue(isinstance(deserialized[0], list))
|
|
self.assertTrue(isinstance(deserialized[0][0], str))
|
|
|
|
def test_deserialize_none(self):
|
|
""" deserialize None """
|
|
deserialized = self.deserialize(None, "datetime")
|
|
self.assertIsNone(deserialized)
|