Test API add start_date, stop_date parameters in results 65/14665/2
authorMorgan Richomme <morgan.richomme@orange.com>
Wed, 25 May 2016 13:32:54 +0000 (15:32 +0200)
committerMorgan Richomme <morgan.richomme@orange.com>
Wed, 25 May 2016 15:39:12 +0000 (17:39 +0200)
Change-Id: I8c8c5b1d82e447fb7a7413368a919b3d3c7b99a6
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
utils/test/result_collection_api/dashboard/bottlenecks2Dashboard.py
utils/test/result_collection_api/dashboard/doctor2Dashboard.py
utils/test/result_collection_api/dashboard/functest2Dashboard.py
utils/test/result_collection_api/dashboard/qtip2Dashboard.py
utils/test/result_collection_api/dashboard/vsperf2Dashboard.py
utils/test/result_collection_api/dashboard/yardstick2Dashboard.py
utils/test/result_collection_api/resources/handlers.py
utils/test/result_collection_api/resources/result_models.py
utils/test/result_collection_api/tests/unit/test_result.py

index 9a7e4ce..2e106be 100755 (executable)
@@ -67,7 +67,7 @@ def format_rubbos_for_dashboard(results):
     #new_element = []
     #for each_result in results:
     #    throughput_data = [record['throughput'] for record in each_result['details']]
-    #    new_element.append({'x': each_result['creation_date'],
+    #    new_element.append({'x': each_result['start_date'],
     #                        'y': max(throughput_data)})
 
     #test_data.append({'name': "Rubbos max throughput",
index eba35b5..38b23ab 100644 (file)
@@ -78,7 +78,7 @@ def format_doctor_notification_case_for_dashboard(results):
     # consider only seconds => 09
     for data in results:
         t = data['details']['duration']
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': t})
 
     test_data.append({'name': "doctor-notification duration ",
index 379b932..86521b9 100644 (file)
@@ -89,7 +89,7 @@ def format_vIMS_for_dashboard(results):
     new_element = []
 
     for data in results:
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': data['details']['orchestrator']['duration'],
                             'y2': data['details']['vIMS']['duration'],
                             'y3': data['details']['sig_test']['duration']})
@@ -127,7 +127,7 @@ def format_vIMS_for_dashboard(results):
             except:
                 nbTests = 0
 
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': nbTests,
                             'y2': nbFailures,
                             'y3': nbSkipped})
@@ -181,7 +181,7 @@ def format_Tempest_for_dashboard(results):
     # ********************************
     new_element = []
     for data in results:
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': data['details']['duration']})
 
     test_data.append({'name': "Tempest duration",
@@ -194,7 +194,7 @@ def format_Tempest_for_dashboard(results):
     # ***************************************
     new_element = []
     for data in results:
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': data['details']['tests'],
                             'y2': data['details']['failures']})
 
@@ -229,7 +229,7 @@ def format_Tempest_for_dashboard(results):
         except:
             success_rate = 0
 
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': success_rate})
 
     test_data.append({'name': "Tempest success rate",
@@ -257,7 +257,7 @@ def format_ODL_for_dashboard(results):
         for odl in odl_results:
             if (odl['test_status']['@status'] == "FAIL"):
                 nbFailures += 1
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': len(odl_results),
                             'y2': nbFailures})
 
@@ -288,7 +288,7 @@ def format_ONOS_for_dashboard(results):
         new_duration = int(datetime.timedelta(hours=int(h),
                                               minutes=int(m),
                                               seconds=int(s)).total_seconds())
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': new_duration})
 
     test_data.append({'name': "ONOS FUNCvirNet duration ",
@@ -307,7 +307,7 @@ def format_ONOS_for_dashboard(results):
         for onos in onos_results:
             if (onos['Case result'] == "FAIL"):
                 nbFailures += 1
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': len(onos_results),
                             'y2': nbFailures})
 
@@ -331,7 +331,7 @@ def format_ONOS_for_dashboard(results):
         new_duration = int(datetime.timedelta(hours=int(h),
                                               minutes=int(m),
                                               seconds=int(s)).total_seconds())
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': new_duration})
 
     test_data.append({'name': "ONOS FUNCvirNetL3 duration",
@@ -350,7 +350,7 @@ def format_ONOS_for_dashboard(results):
         for onos in onos_results:
             if (onos['Case result'] == "FAIL"):
                 nbFailures += 1
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': len(onos_results),
                             'y2': nbFailures})
 
@@ -373,7 +373,7 @@ def format_Rally_for_dashboard(results):
     new_element = []
     for data in results:
         summary_cursor = len(data['details']) - 1
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': int(data['details'][summary_cursor]['summary']['duration'])})
 
     test_data.append({'name': "rally duration",
@@ -386,7 +386,7 @@ def format_Rally_for_dashboard(results):
     # ********************************
     new_element = []
     for data in results:
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': float(data['details'][summary_cursor]['summary']['nb success'])})
 
     test_data.append({'name': "rally success rate",
@@ -408,7 +408,7 @@ def format_vPing_for_dashboard(results):
     # ********************************
     new_element = []
     for data in results:
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': data['details']['duration']})
 
     test_data.append({'name': "vPing duration",
@@ -445,7 +445,7 @@ def format_vPing_userdata_for_dashboard(results):
     # ********************************
     new_element = []
     for data in results:
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': data['details']['duration']})
 
     test_data.append({'name': "vPing_userdata duration",
index 0112945..6ceccd3 100644 (file)
@@ -93,7 +93,7 @@ def _get_results(db_url, testcase):
 
         rawresults = datajson['test_results'][x]['details']
         index = rawresults['index']
-        resultarray[str(datajson['test_results'][x]['creation_date'])]=index
+        resultarray[str(datajson['test_results'][x]['start_date'])]=index
 
     return resultarray
 
index 323d391..5a6882d 100755 (executable)
@@ -79,7 +79,7 @@ def format_common_for_dashboard(case, results):
     # ********************************
     new_element = []
     for data in results:
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y1': data['details']['64'],
                             'y2': data['details']['128'],
                             'y3': data['details']['512'],
@@ -105,8 +105,8 @@ def format_common_for_dashboard(case, results):
 import os
 
 def _test():
-    ans = [{'creation_date': '2015-09-12', 'project_name': 'vsperf', 'version': 'ovs_master', 'pod_name': 'pod1-vsperf', 'case_name': 'tput_ovsdpdk', 'installer': 'build_sie', 'details': {'64': '26.804', '1024': '1097.284', '512': '178.137', '1518': '12635.860', '128': '100.564'}},
-           {'creation_date': '2015-09-33', 'project_name': 'vsperf', 'version': 'ovs_master', 'pod_name': 'pod1-vsperf', 'case_name': 'tput_ovsdpdk', 'installer': 'build_sie', 'details': {'64': '16.804', '1024': '1087.284', '512': '168.137', '1518': '12625.860', '128': '99.564'}}]
+    ans = [{'start_date': '2015-09-12', 'project_name': 'vsperf', 'version': 'ovs_master', 'pod_name': 'pod1-vsperf', 'case_name': 'tput_ovsdpdk', 'installer': 'build_sie', 'details': {'64': '26.804', '1024': '1097.284', '512': '178.137', '1518': '12635.860', '128': '100.564'}},
+           {'start_date': '2015-09-33', 'project_name': 'vsperf', 'version': 'ovs_master', 'pod_name': 'pod1-vsperf', 'case_name': 'tput_ovsdpdk', 'installer': 'build_sie', 'details': {'64': '16.804', '1024': '1087.284', '512': '168.137', '1518': '12625.860', '128': '99.564'}}]
 
     result = format_vsperf_for_dashboard("pvp_cont_ovsdpdkcuse", ans)
     print result
index 20b0864..4f022d5 100644 (file)
@@ -84,7 +84,7 @@ def format_Ping_for_dashboard(results):
                         if "benchmark" in record]
 
         avg_rtt = sum(records) / len(records)
-        new_element.append({'x': data['creation_date'],
+        new_element.append({'x': data['start_date'],
                             'y': avg_rtt})
 
     test_data.append({'name': "ping duration",
index 268d19a..8cc68e9 100644 (file)
@@ -620,9 +620,6 @@ class TestResultsHandler(GenericApiHandler):
                             "Could not find testcase [{}] "
                             .format(result.case_name))
 
-        # convert payload to object
-        result.creation_date = datetime.now()
-
         _id = yield self.db.results.insert(result.format(), check_keys=False)
 
         self.finish_request(self._create_response(_id))
index 795621a..15684e2 100644 (file)
@@ -6,7 +6,8 @@ class ResultCreateRequest(object):
                  case_name=None,
                  installer=None,
                  version=None,
-                 description=None,
+                 start_date=None,
+                 stop_date=None,
                  details=None,
                  build_tag=None,
                  scenario=None,
@@ -17,7 +18,8 @@ class ResultCreateRequest(object):
         self.case_name = case_name
         self.installer = installer
         self.version = version
-        self.description = description
+        self.start_date = start_date
+        self.stop_date = stop_date
         self.details = details
         self.build_tag = build_tag
         self.scenario = scenario
@@ -31,7 +33,8 @@ class ResultCreateRequest(object):
             "case_name": self.case_name,
             "installer": self.installer,
             "version": self.version,
-            "description": self.description,
+            "start_date": self.start_date,
+            "stop_date": self.stop_date,
             "details": self.details,
             "build_tag": self.build_tag,
             "scenario": self.scenario,
@@ -50,8 +53,8 @@ class TestResult:
         self.pod_name = None
         self.installer = None
         self.version = None
-        self.description = None
-        self.creation_date = None
+        self.start_date = None
+        self.stop_date = None
         self.details = None
         self.build_tag = None
         self.scenario = None
@@ -70,7 +73,8 @@ class TestResult:
         t.pod_name = a_dict.get('pod_name')
         t.project_name = a_dict.get('project_name')
         t.description = a_dict.get('description')
-        t.creation_date = str(a_dict.get('creation_date'))
+        t.start_date = str(a_dict.get('start_date'))
+        t.stop_date = str(a_dict.get('stop_date'))
         t.details = a_dict.get('details')
         t.version = a_dict.get('version')
         t.installer = a_dict.get('installer')
@@ -98,7 +102,8 @@ class TestResult:
             "project_name": self.project_name,
             "pod_name": self.pod_name,
             "description": self.description,
-            "creation_date": str(self.creation_date),
+            "start_date": str(self.start_date),
+            "stop_date": str(self.stop_date),
             "version": self.version,
             "installer": self.installer,
             "details": self.details,
@@ -115,7 +120,8 @@ class TestResult:
             "project_name": self.project_name,
             "pod_name": self.pod_name,
             "description": self.description,
-            "creation_date": str(self.creation_date),
+            "start_date": str(self.start_date),
+            "stop_date": str(self.stop_date),
             "version": self.version,
             "installer": self.installer,
             "details": self.details,
index 2ea1b6c..9e27e3c 100644 (file)
@@ -47,8 +47,10 @@ class TestResultBase(TestBase):
         self.version = 'C'
         self.build_tag = 'v3.0'
         self.scenario = 'odl-l2'
-        self.criteria = '10s'
+        self.criteria = 'passed'
         self.trust_indicator = 0.7
+        self.start_date = "2016-05-23 07:16:09.477097"
+        self.stop_date = "2016-05-23 07:16:19.477097"
         super(TestResultBase, self).setUp()
         self.details = Details(timestart='0', duration='9s', status='OK')
         self.req_d = ResultCreateRequest(pod_name=self.pod,
@@ -56,7 +58,8 @@ class TestResultBase(TestBase):
                                          case_name=self.case,
                                          installer=self.installer,
                                          version=self.version,
-                                         description='vping use ssh',
+                                         start_date=self.start_date,
+                                         stop_date=self.stop_date,
                                          details=self.details.format(),
                                          build_tag=self.build_tag,
                                          scenario=self.scenario,
@@ -82,7 +85,6 @@ class TestResultBase(TestBase):
         self.assertEqual(result.case_name, req.case_name)
         self.assertEqual(result.installer, req.installer)
         self.assertEqual(result.version, req.version)
-        self.assertEqual(result.description, req.description)
         details_req = Details.from_dict(req.details)
         details_res = Details.from_dict(result.details)
         self.assertEqual(details_res.duration, details_req.duration)
@@ -92,7 +94,8 @@ class TestResultBase(TestBase):
         self.assertEqual(result.scenario, req.scenario)
         self.assertEqual(result.criteria, req.criteria)
         self.assertEqual(result.trust_indicator, req.trust_indicator)
-        self.assertIsNotNone(result.creation_date)
+        self.assertIsNotNone(result.start_date)
+        self.assertIsNotNone(result.stop_date)
         self.assertIsNotNone(result._id)