@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})
@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
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
-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'
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()