Merge "Allow Asynchronous Apex Builds"
[releng.git] / utils / test / testapi / opnfv_testapi / resources / testcase_models.py
index c9dce60..2379dfc 100644 (file)
@@ -6,87 +6,83 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+from opnfv_testapi.resources import models
 from opnfv_testapi.tornado_swagger import swagger
 
 
 @swagger.model()
-class TestcaseCreateRequest(object):
-    def __init__(self, name, url=None, description=None):
+class TestcaseCreateRequest(models.ModelBase):
+    def __init__(self, name, url=None, description=None,
+                 catalog_description=None, tier=None, ci_loop=None,
+                 criteria=None, blocking=None, dependencies=None, run=None,
+                 domains=None, tags=None, version=None):
         self.name = name
         self.url = url
         self.description = description
-
-    def format(self):
-        return {
-            "name": self.name,
-            "description": self.description,
-            "url": self.url,
-        }
+        self.catalog_description = catalog_description
+        self.tier = tier
+        self.ci_loop = ci_loop
+        self.criteria = criteria
+        self.blocking = blocking
+        self.dependencies = dependencies
+        self.run = run
+        self.domains = domains
+        self.tags = tags
+        self.version = version
+        self.trust = "Silver"
 
 
 @swagger.model()
-class TestcaseUpdateRequest(object):
-    def __init__(self, name=None, description=None, project_name=None):
+class TestcaseUpdateRequest(models.ModelBase):
+    def __init__(self, name=None, description=None, project_name=None,
+                 catalog_description=None, tier=None, ci_loop=None,
+                 criteria=None, blocking=None, dependencies=None, run=None,
+                 domains=None, tags=None, version=None, trust=None):
         self.name = name
         self.description = description
+        self.catalog_description = catalog_description
         self.project_name = project_name
-
-    def format(self):
-        return {
-            "name": self.name,
-            "description": self.description,
-            "project_name": self.project_name,
-        }
+        self.tier = tier
+        self.ci_loop = ci_loop
+        self.criteria = criteria
+        self.blocking = blocking
+        self.dependencies = dependencies
+        self.run = run
+        self.domains = domains
+        self.tags = tags
+        self.version = version
+        self.trust = trust
 
 
 @swagger.model()
-class Testcase(object):
-    def __init__(self):
+class Testcase(models.ModelBase):
+    def __init__(self, _id=None, name=None, project_name=None,
+                 description=None, url=None, creation_date=None,
+                 catalog_description=None, tier=None, ci_loop=None,
+                 criteria=None, blocking=None, dependencies=None, run=None,
+                 domains=None, tags=None, version=None,
+                 trust=None):
         self._id = None
         self.name = None
         self.project_name = None
         self.description = None
+        self.catalog_description = None
         self.url = None
         self.creation_date = None
-
-    @staticmethod
-    def from_dict(a_dict):
-
-        if a_dict is None:
-            return None
-
-        t = Testcase()
-        t._id = a_dict.get('_id')
-        t.project_name = a_dict.get('project_name')
-        t.creation_date = a_dict.get('creation_date')
-        t.name = a_dict.get('name')
-        t.description = a_dict.get('description')
-        t.url = a_dict.get('url')
-
-        return t
-
-    def format(self):
-        return {
-            "name": self.name,
-            "description": self.description,
-            "project_name": self.project_name,
-            "creation_date": str(self.creation_date),
-            "url": self.url
-        }
-
-    def format_http(self):
-        return {
-            "_id": str(self._id),
-            "name": self.name,
-            "project_name": self.project_name,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-            "url": self.url,
-        }
+        self.tier = None
+        self.ci_loop = None
+        self.criteria = None
+        self.blocking = None
+        self.dependencies = None
+        self.run = None
+        self.domains = None
+        self.tags = None
+        self.version = None
+        self.trust = None
 
 
 @swagger.model()
-class Testcases(object):
+class Testcases(models.ModelBase):
     """
         @property testcases:
         @ptype testcases: C{list} of L{Testcase}
@@ -95,11 +91,5 @@ class Testcases(object):
         self.testcases = list()
 
     @staticmethod
-    def from_dict(res_dict):
-        if res_dict is None:
-            return None
-
-        res = Testcases()
-        for testcase in res_dict.get('testcases'):
-            res.testcases.append(Testcase.from_dict(testcase))
-        return res
+    def attr_parser():
+        return {'testcases': Testcase}