Merge "swagger-ize testcase-apis of testAPI"
[releng.git] / utils / test / result_collection_api / resources / pod_models.py
index 5c4ef72..cc98c90 100644 (file)
@@ -1,40 +1,41 @@
-from models import MetaCreateResponse, MetaGetResponse
+from tornado_swagger_ui.tornado_swagger import swagger
 
+__author__ = '__serena__'
 
+# name: name of the POD e.g. zte-1
+# mode: metal or virtual
+# details: any detail
+# role: ci-pod or community-pod or single-node
+
+
+@swagger.model()
 class PodCreateRequest(object):
-    def __init__(self, name='', mode='', details=''):
+    def __init__(self, name, mode='', details='', role=""):
         self.name = name
         self.mode = mode
         self.details = details
+        self.role = role
 
     def format(self):
         return {
             "name": self.name,
             "mode": self.mode,
             "details": self.details,
+            "role": self.role,
         }
 
-    @staticmethod
-    def from_dict(req_dict):
-        if req_dict is None:
-            return None
-
-        req = PodCreateRequest()
-        req.name = req_dict.get('name')
-        req.mode = req_dict.get('mode')
-        req.details = req_dict.get('details')
-        return req
-
 
+@swagger.model()
 class Pod(PodCreateRequest):
-    """ describes a POD platform """
-    def __init__(self, name='', mode='', details='', _id='', create_date=''):
-        super(Pod, self).__init__(name, mode, details)
+    def __init__(self,
+                 name='', mode='', details='',
+                 role="", _id='', create_date=''):
+        super(Pod, self).__init__(name, mode, details, role)
         self._id = _id
         self.creation_date = create_date
 
     @staticmethod
-    def pod_from_dict(pod_dict):
+    def from_dict(pod_dict):
         if pod_dict is None:
             return None
 
@@ -44,6 +45,7 @@ class Pod(PodCreateRequest):
         p.name = pod_dict.get('name')
         p.mode = pod_dict.get('mode')
         p.details = pod_dict.get('details')
+        p.role = pod_dict.get('role')
         return p
 
     def format(self):
@@ -57,52 +59,20 @@ class Pod(PodCreateRequest):
         return f
 
 
-class PodCreateResponse(object):
-    def __init__(self, pod=None, meta=None):
-        self.pod = pod
-        self.meta = meta
-
-    @staticmethod
-    def from_dict(res_dict):
-        if res_dict is None:
-            return None
-
-        res = PodCreateResponse()
-        res.pod = Pod.pod_from_dict(res_dict.get('pod'))
-        res.meta = MetaCreateResponse.from_dict(res_dict.get('meta'))
-        return res
-
-
-class PodGetResponse(PodCreateRequest):
-    def __init__(self, name='', mode='', details='', create_date=''):
-        self.creation_date = create_date
-        super(PodGetResponse, self).__init__(name, mode, details)
-
-    @staticmethod
-    def from_dict(req_dict):
-        if req_dict is None:
-            return None
-
-        res = PodGetResponse()
-        res.creation_date = str(req_dict.get('creation_date'))
-        res.name = req_dict.get('name')
-        res.mode = req_dict.get('mode')
-        res.details = req_dict.get('details')
-        return res
-
-
-class PodsGetResponse(object):
-    def __init__(self, pods=[], meta=None):
+@swagger.model()
+class Pods(object):
+    """
+        @ptype pods: C{list} of L{Pod}
+    """
+    def __init__(self, pods=list()):
         self.pods = pods
-        self.meta = meta
 
     @staticmethod
     def from_dict(res_dict):
         if res_dict is None:
             return None
 
-        res = PodsGetResponse()
+        res = Pods()
         for pod in res_dict.get('pods'):
-            res.pods.append(PodGetResponse.from_dict(pod))
-        res.meta = MetaGetResponse.from_dict(res_dict.get('meta'))
+            res.pods.append(Pod.from_dict(pod))
         return res