bugfix: version return body is inconsistent with the designed model 57/14857/1
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 31 May 2016 06:32:35 +0000 (14:32 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 31 May 2016 06:32:35 +0000 (14:32 +0800)
JIRA: FUNCTEST-278

Change-Id: I53fa2eca6476c07ad513e72241d9715431cbdee8
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/result_collection_api/resources/handlers.py
utils/test/result_collection_api/resources/models.py
utils/test/result_collection_api/tests/unit/test_version.py

index a2c6b8d..0977ef0 100644 (file)
@@ -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})
index 3c834fd..7241bb7 100644 (file)
@@ -36,10 +36,21 @@ class CreateResponse(object):
 @swagger.model()\r
 class Versions(object):\r
     """\r
+        @property versions:\r
         @ptype versions: C{list} of L{Version}\r
     """\r
-    def __init__(self, versions):\r
-        self.versions = versions\r
+    def __init__(self):\r
+        self.versions = list()\r
+\r
+    @staticmethod\r
+    def from_dict(res_dict):\r
+        if res_dict is None:\r
+            return None\r
+\r
+        res = Versions()\r
+        for version in res_dict.get('versions'):\r
+            res.versions.append(Version.from_dict(version))\r
+        return res\r
 \r
 \r
 @swagger.model()\r
@@ -47,3 +58,13 @@ class Version(object):
     def __init__(self, version=None, description=None):\r
         self.version = version\r
         self.description = description\r
+\r
+    @staticmethod\r
+    def from_dict(a_dict):\r
+        if a_dict is None:\r
+            return None\r
+\r
+        ver = Version()\r
+        ver.version = a_dict.get('version')\r
+        ver.description = str(a_dict.get('description'))\r
+        return ver\r
index a58cd56..8e544e0 100644 (file)
@@ -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()