Merge "Modify YARDSTICK_DB_BACKEND value on zte-pod1."
[releng.git] / utils / test / result_collection_api / resources / models.py
index 82c17fd..adf6842 100644 (file)
-##############################################################################
-# Copyright (c) 2015 Orange
-# guyrodrigue.koffi@orange.com / koffirodrigue@gmail.com
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-
-class Pod:
-    """ describes a POD platform """
-    def __init__(self):
-        self._id = ""
-        self.name = ""
-        self.creation_date = ""
-
-    @staticmethod
-    def pod_from_dict(pod_dict):
-        if pod_dict is None:
-            return None
-
-        p = Pod()
-        p._id = pod_dict.get('_id')
-        p.creation_date = pod_dict.get('creation_date')
-        p.name = pod_dict.get('name')
-        return p
-
-    def format(self):
-        return {
-            "_id": self._id,
-            "name": self.name,
-            "creation_date": str(self.creation_date),
-        }
-
-
-class TestProject:
-    """ Describes a test project"""
-
-    def __init__(self):
-        self._id = None
-        self.name = None
-        self.description = None
-        self.creation_date = None
-
-    @staticmethod
-    def testproject_from_dict(testproject_dict):
-
-        if testproject_dict is None:
-            return None
-
-        t = TestProject()
-        t._id = testproject_dict.get('_id')
-        t.creation_date = testproject_dict.get('creation_date')
-        t.name = testproject_dict.get('name')
-        t.description = testproject_dict.get('description')
-
-        return t
-
-    def format(self):
-        return {
-            "name": self.name,
-            "description": self.description,
-            "creation_date": str(self.creation_date)
-        }
-
-    def format_http(self, test_cases=0):
-        return {
-            "_id": str(self._id),
-            "name": self.name,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-            "test_cases": test_cases
-        }
-
-
-class TestCase:
-    """ Describes a test case"""
-
-    def __init__(self):
-        self._id = None
-        self.name = None
-        self.project_name = None
-        self.description = None
-        self.creation_date = None
-
-    @staticmethod
-    def test_case_from_dict(testcase_dict):
-
-        if testcase_dict is None:
-            return None
-
-        t = TestCase()
-        t._id = testcase_dict.get('_id')
-        t.project_name = testcase_dict.get('project_name')
-        t.creation_date = testcase_dict.get('creation_date')
-        t.name = testcase_dict.get('name')
-        t.description = testcase_dict.get('description')
-
-        return t
-
-    def format(self):
-        return {
-            "name": self.name,
-            "description": self.description,
-            "project_name": self.project_name,
-            "creation_date": str(self.creation_date)
-        }
-
-    def format_http(self, test_project=None):
-        res = {
-            "_id": str(self._id),
-            "name": self.name,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-        }
-        if test_project is not None:
-            res["test_project"] = test_project
-
-        return res
-
-
-class TestResult:
-    """ Describes a test result"""
-
-    def __init__(self):
-        self._id = None
-        self.case_name = None
-        self.project_name = None
-        self.pod_id = None
-        self.installer = None
-        self.platform_version = None
-        self.description = None
-        self.creation_date = None
-        self.details = None
-
-    @staticmethod
-    def test_result_from_dict(test_result_dict):
-
-        if test_result_dict is None:
-            return None
-
-        t = TestResult()
-        t._id = test_result_dict.get('_id')
-        t.case_name = test_result_dict.get('case_name')
-        t.project_name = test_result_dict.get('project_name')
-        t.pod_id = test_result_dict.get('pod_id')
-        t.description = test_result_dict.get('description')
-        t.creation_date = str(test_result_dict.get('creation_date'))
-        t.details = test_result_dict.get('details')
-
-        return t
-
-    def format(self):
-        return {
-            "case_name": self.case_name,
-            "project_name": self.project_name,
-            "pod_id": self.pod_id,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-            "details": self.details,
-        }
-
-    def format_http(self):
-        return {
-            "_id": str(self._id),
-            "case_name": self.case_name,
-            "project_name": self.project_name,
-            "pod_id": self.pod_id,
-            "description": self.description,
-            "creation_date": str(self.creation_date),
-            "details": self.details,
-        }
+##############################################################################\r
+# Copyright (c) 2015 Orange\r
+# guyrodrigue.koffi@orange.com / koffirodrigue@gmail.com\r
+# All rights reserved. This program and the accompanying materials\r
+# are made available under the terms of the Apache License, Version 2.0\r
+# which accompanies this distribution, and is available at\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+# feng.xiaowei@zte.com.cn  mv Pod to pod_models.py                 6-18-2016\r
+# feng.xiaowei@zte.com.cn  add MetaCreateResponse/MetaGetResponse  6-18-2016\r
+##############################################################################\r
+\r
+\r
+class MetaCreateResponse(object):\r
+    def __init__(self, success=True, uri=''):\r
+        self.success = success\r
+        self.uri = uri\r
+\r
+    @staticmethod\r
+    def from_dict(meta_dict):\r
+        if meta_dict is None:\r
+            return None\r
+\r
+        meta = MetaCreateResponse()\r
+        meta.success = meta_dict.get('success')\r
+        meta.uri = meta_dict.get('uri')\r
+        return meta\r
+\r
+\r
+class MetaGetResponse(object):\r
+    def __init__(self, success=True, total=0):\r
+        self.success = success\r
+        self.total = total\r
+\r
+    @staticmethod\r
+    def from_dict(meta_dict):\r
+        if meta_dict is None:\r
+            return None\r
+\r
+        meta = MetaGetResponse()\r
+        meta.success = meta_dict.get('success')\r
+        meta.total = meta_dict.get('total')\r
+        return meta\r
+\r
+\r
+class TestProject:\r
+    """ Describes a test project"""\r
+\r
+    def __init__(self):\r
+        self._id = None\r
+        self.name = None\r
+        self.description = None\r
+        self.creation_date = None\r
+\r
+    @staticmethod\r
+    def testproject_from_dict(testproject_dict):\r
+\r
+        if testproject_dict is None:\r
+            return None\r
+\r
+        t = TestProject()\r
+        t._id = testproject_dict.get('_id')\r
+        t.creation_date = testproject_dict.get('creation_date')\r
+        t.name = testproject_dict.get('name')\r
+        t.description = testproject_dict.get('description')\r
+\r
+        return t\r
+\r
+    def format(self):\r
+        return {\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date)\r
+        }\r
+\r
+    def format_http(self, test_cases=0):\r
+        return {\r
+            "_id": str(self._id),\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+        }\r
+\r
+\r
+class TestCase:\r
+    """ Describes a test case"""\r
+\r
+    def __init__(self):\r
+        self._id = None\r
+        self.name = None\r
+        self.project_name = None\r
+        self.description = None\r
+        self.url = None\r
+        self.creation_date = None\r
+\r
+    @staticmethod\r
+    def test_case_from_dict(testcase_dict):\r
+\r
+        if testcase_dict is None:\r
+            return None\r
+\r
+        t = TestCase()\r
+        t._id = testcase_dict.get('_id')\r
+        t.project_name = testcase_dict.get('project_name')\r
+        t.creation_date = testcase_dict.get('creation_date')\r
+        t.name = testcase_dict.get('name')\r
+        t.description = testcase_dict.get('description')\r
+        t.url = testcase_dict.get('url')\r
+\r
+        return t\r
+\r
+    def format(self):\r
+        return {\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "project_name": self.project_name,\r
+            "creation_date": str(self.creation_date),\r
+            "url": self.url\r
+        }\r
+\r
+    def format_http(self, test_project=None):\r
+        res = {\r
+            "_id": str(self._id),\r
+            "name": self.name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+            "url": self.url,\r
+        }\r
+        if test_project is not None:\r
+            res["test_project"] = test_project\r
+\r
+        return res\r
+\r
+\r
+class TestResult:\r
+    """ Describes a test result"""\r
+\r
+    def __init__(self):\r
+        self._id = None\r
+        self.case_name = None\r
+        self.project_name = None\r
+        self.pod_name = None\r
+        self.installer = None\r
+        self.version = None\r
+        self.description = None\r
+        self.creation_date = None\r
+        self.details = None\r
+        self.build_tag = None\r
+        self.scenario = None\r
+        self.criteria = None\r
+        self.trust_indicator = None\r
+\r
+    @staticmethod\r
+    def test_result_from_dict(test_result_dict):\r
+\r
+        if test_result_dict is None:\r
+            return None\r
+\r
+        t = TestResult()\r
+        t._id = test_result_dict.get('_id')\r
+        t.case_name = test_result_dict.get('case_name')\r
+        t.pod_name = test_result_dict.get('pod_name')\r
+        t.project_name = test_result_dict.get('project_name')\r
+        t.description = test_result_dict.get('description')\r
+        t.creation_date = str(test_result_dict.get('creation_date'))\r
+        t.details = test_result_dict.get('details')\r
+        t.version = test_result_dict.get('version')\r
+        t.installer = test_result_dict.get('installer')\r
+        t.build_tag = test_result_dict.get('build_tag')\r
+        t.scenario = test_result_dict.get('scenario')\r
+        t.criteria = test_result_dict.get('criteria')\r
+        # 0 < trust indicator < 1\r
+        # if bad value =>  set this indicator to 0\r
+        if test_result_dict.get('trust_indicator') is not None:\r
+            if isinstance(test_result_dict.get('trust_indicator'),\r
+                          (int, long, float)):\r
+                if test_result_dict.get('trust_indicator') < 0:\r
+                    t.trust_indicator = 0\r
+                elif test_result_dict.get('trust_indicator') > 1:\r
+                    t.trust_indicator = 1\r
+                else:\r
+                    t.trust_indicator = test_result_dict.get('trust_indicator')\r
+            else:\r
+                t.trust_indicator = 0\r
+        else:\r
+            t.trust_indicator = 0\r
+        return t\r
+\r
+    def format(self):\r
+        return {\r
+            "case_name": self.case_name,\r
+            "project_name": self.project_name,\r
+            "pod_name": self.pod_name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+            "version": self.version,\r
+            "installer": self.installer,\r
+            "details": self.details,\r
+            "build_tag": self.build_tag,\r
+            "scenario": self.scenario,\r
+            "criteria": self.criteria,\r
+            "trust_indicator": self.trust_indicator\r
+        }\r
+\r
+    def format_http(self):\r
+        return {\r
+            "_id": str(self._id),\r
+            "case_name": self.case_name,\r
+            "project_name": self.project_name,\r
+            "pod_name": self.pod_name,\r
+            "description": self.description,\r
+            "creation_date": str(self.creation_date),\r
+            "version": self.version,\r
+            "installer": self.installer,\r
+            "details": self.details,\r
+            "build_tag": self.build_tag,\r
+            "scenario": self.scenario,\r
+            "criteria": self.criteria,\r
+            "trust_indicator": self.trust_indicator\r
+        }\r