diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2016-05-31 08:59:42 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-05-31 08:59:42 +0000 |
commit | 1e2c8d51ccc9720758f01e418957fdd826c278df (patch) | |
tree | 6d4980a983b4d01f9f925b7f8407a18541c1dc2c /utils | |
parent | 16dff1bf982d842bcdd717ff8c69627f1cdbdb52 (diff) | |
parent | c013525b837ab047cd6a3583b31b4a8253cb7932 (diff) |
Merge "bugfix: version return body is inconsistent with the designed model"
Diffstat (limited to 'utils')
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() |