summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2016-05-31 14:32:35 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2016-05-31 14:32:35 +0800
commitc013525b837ab047cd6a3583b31b4a8253cb7932 (patch)
treeaa276f90c6b8f051b964894c413d409f661a0bf9
parent9a758c37d8464ba6a452f83b30e8bf8af072eb67 (diff)
bugfix: version return body is inconsistent with the designed model
JIRA: FUNCTEST-278 Change-Id: I53fa2eca6476c07ad513e72241d9715431cbdee8 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
-rw-r--r--utils/test/result_collection_api/resources/handlers.py5
-rw-r--r--utils/test/result_collection_api/resources/models.py25
-rw-r--r--utils/test/result_collection_api/tests/unit/test_version.py11
3 files changed, 31 insertions, 10 deletions
diff --git a/utils/test/result_collection_api/resources/handlers.py b/utils/test/result_collection_api/resources/handlers.py
index a2c6b8d01..0977ef07e 100644
--- a/utils/test/result_collection_api/resources/handlers.py
+++ b/utils/test/result_collection_api/resources/handlers.py
@@ -223,7 +223,8 @@ class VersionHandler(GenericApiHandler):
@swagger.operation(nickname='list')
def get(self):
"""
- @description: Display a message for the API version
+ @description: list all supported versions
@rtype: L{Versions}
"""
- self.finish_request([{'v1': 'basics'}])
+ versions = [{'version': 'v1.0', 'description': 'basics'}]
+ self.finish_request({'versions': versions})
diff --git a/utils/test/result_collection_api/resources/models.py b/utils/test/result_collection_api/resources/models.py
index 3c834fd48..7241bb7a8 100644
--- a/utils/test/result_collection_api/resources/models.py
+++ b/utils/test/result_collection_api/resources/models.py
@@ -36,10 +36,21 @@ class CreateResponse(object):
@swagger.model()
class Versions(object):
"""
+ @property versions:
@ptype versions: C{list} of L{Version}
"""
- def __init__(self, versions):
- self.versions = versions
+ def __init__(self):
+ self.versions = list()
+
+ @staticmethod
+ def from_dict(res_dict):
+ if res_dict is None:
+ return None
+
+ res = Versions()
+ for version in res_dict.get('versions'):
+ res.versions.append(Version.from_dict(version))
+ return res
@swagger.model()
@@ -47,3 +58,13 @@ class Version(object):
def __init__(self, version=None, description=None):
self.version = version
self.description = description
+
+ @staticmethod
+ def from_dict(a_dict):
+ if a_dict is None:
+ return None
+
+ ver = Version()
+ ver.version = a_dict.get('version')
+ ver.description = str(a_dict.get('description'))
+ return ver
diff --git a/utils/test/result_collection_api/tests/unit/test_version.py b/utils/test/result_collection_api/tests/unit/test_version.py
index a58cd5629..8e544e060 100644
--- a/utils/test/result_collection_api/tests/unit/test_version.py
+++ b/utils/test/result_collection_api/tests/unit/test_version.py
@@ -1,15 +1,14 @@
-import json
import unittest
from test_base import TestBase
-
+from resources.models import Versions
__author__ = 'serena'
class TestVersionbBase(TestBase):
def setUp(self):
super(TestVersionbBase, self).setUp()
- self.list_res = None
+ self.list_res = Versions
self.basePath = '/versions'
@@ -17,9 +16,9 @@ class TestVersion(TestVersionbBase):
def test_success(self):
code, body = self.get()
self.assertEqual(200, code)
- json_body = json.loads(body)
- self.assertEqual(len(json_body), 1)
- self.assertEqual('basics', json_body[0].get('v1'))
+ self.assertEqual(len(body.versions), 1)
+ self.assertEqual(body.versions[0].version, 'v1.0')
+ self.assertEqual(body.versions[0].description, 'basics')
if __name__ == '__main__':
unittest.main()