# 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)