forked from loafle/openapi-generator-original
Update unit tests of Python client.
Add more test cases for deserialization.
This commit is contained in:
parent
2912ee8ae1
commit
80d1deb2dd
@ -15,7 +15,7 @@ VERSION = "{{packageVersion}}"
|
|||||||
# Try reading the setuptools documentation:
|
# Try reading the setuptools documentation:
|
||||||
# http://pypi.python.org/pypi/setuptools
|
# http://pypi.python.org/pypi/setuptools
|
||||||
|
|
||||||
REQUIRES = ["urllib3 >= 1.10", "six >= 1.9", "certifi"]
|
REQUIRES = ["urllib3 >= 1.10", "six >= 1.9", "certifi", "python-dateutil"]
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name=NAME,
|
name=NAME,
|
||||||
|
@ -4,7 +4,7 @@ verbosity=2
|
|||||||
randomize=true
|
randomize=true
|
||||||
exe=true
|
exe=true
|
||||||
with-coverage=true
|
with-coverage=true
|
||||||
cover-package=swagger_petstore
|
cover-package=swagger_client
|
||||||
cover-erase=true
|
cover-erase=true
|
||||||
|
|
||||||
[flake8]
|
[flake8]
|
||||||
|
@ -15,7 +15,7 @@ VERSION = "1.0.0"
|
|||||||
# Try reading the setuptools documentation:
|
# Try reading the setuptools documentation:
|
||||||
# http://pypi.python.org/pypi/setuptools
|
# http://pypi.python.org/pypi/setuptools
|
||||||
|
|
||||||
REQUIRES = ["urllib3 >= 1.10", "six >= 1.9", "certifi"]
|
REQUIRES = ["urllib3 >= 1.10", "six >= 1.9", "certifi", "python-dateutil"]
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name=NAME,
|
name=NAME,
|
||||||
|
@ -88,47 +88,3 @@ class ApiClientTests(unittest.TestCase):
|
|||||||
content_types = []
|
content_types = []
|
||||||
content_type = self.api_client.select_header_content_type(content_types)
|
content_type = self.api_client.select_header_content_type(content_types)
|
||||||
self.assertEqual(content_type, 'application/json')
|
self.assertEqual(content_type, 'application/json')
|
||||||
|
|
||||||
def test_deserialize_to_dict(self):
|
|
||||||
# dict(str, Pet)
|
|
||||||
json = {
|
|
||||||
'pet': {
|
|
||||||
"id": 0,
|
|
||||||
"category": {
|
|
||||||
"id": 0,
|
|
||||||
"name": "string"
|
|
||||||
},
|
|
||||||
"name": "doggie",
|
|
||||||
"photoUrls": [
|
|
||||||
"string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 0,
|
|
||||||
"name": "string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "available"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
data = self.api_client._ApiClient__deserialize(json, 'dict(str, Pet)')
|
|
||||||
self.assertTrue(isinstance(data, dict))
|
|
||||||
self.assertTrue(isinstance(data['pet'], swagger_client.Pet))
|
|
||||||
|
|
||||||
# dict(str, int)
|
|
||||||
json = {
|
|
||||||
'integer': 1
|
|
||||||
}
|
|
||||||
|
|
||||||
data = self.api_client._ApiClient__deserialize(json, 'dict(str, int)')
|
|
||||||
self.assertTrue(isinstance(data, dict))
|
|
||||||
self.assertTrue(isinstance(data['integer'], int))
|
|
||||||
|
|
||||||
def test_deserialize_to_object(self):
|
|
||||||
data = self.api_client._ApiClient__deserialize("", "object")
|
|
||||||
self.assertTrue(type(data) == object)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
145
samples/client/petstore/python/tests/test_deserialization.py
Normal file
145
samples/client/petstore/python/tests/test_deserialization.py
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
# 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_datetime(self):
|
||||||
|
""" deserialize dateimte """
|
||||||
|
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")
|
Loading…
x
Reference in New Issue
Block a user