Merge "Modify YARDSTICK_DB_BACKEND value on zte-pod1."
[releng.git] / utils / test / result_collection_api / resources / handlers.py
index be08c97..fff1662 100644 (file)
@@ -13,7 +13,8 @@ from tornado.web import RequestHandler, asynchronous, HTTPError
 from tornado import gen
 from datetime import datetime, timedelta
 
-from models import Pod, TestProject, TestCase, TestResult
+from models import TestProject, TestCase, TestResult
+from resources.pod_models import Pod
 from common.constants import DEFAULT_REPRESENTATION, HTTP_BAD_REQUEST, \
     HTTP_NOT_FOUND, HTTP_FORBIDDEN
 from common.config import prepare_put_request
@@ -508,7 +509,12 @@ class TestResultsHandler(GenericApiHandler):
          - pod : pod name
          - version : platform version (Arno-R1, ...)
          - installer (fuel, ...)
+         - build_tag : Jenkins build tag name
          - period : x (x last days)
+         - scenario : the test scenario (previously version)
+         - criteria : the global criteria status passed or failed
+         - trust_indicator : evaluate the stability of the test case to avoid
+         running systematically long and stable test case
 
 
         :param result_id: Get a result by ID
@@ -524,7 +530,11 @@ class TestResultsHandler(GenericApiHandler):
         pod_arg = self.get_query_argument("pod", None)
         version_arg = self.get_query_argument("version", None)
         installer_arg = self.get_query_argument("installer", None)
+        build_tag_arg = self.get_query_argument("build_tag", None)
+        scenario_arg = self.get_query_argument("scenario", None)
+        criteria_arg = self.get_query_argument("criteria", None)
         period_arg = self.get_query_argument("period", None)
+        trust_indicator_arg = self.get_query_argument("trust_indicator", None)
 
         # prepare request
         get_request = dict()
@@ -544,6 +554,18 @@ class TestResultsHandler(GenericApiHandler):
             if installer_arg is not None:
                 get_request["installer"] = installer_arg
 
+            if build_tag_arg is not None:
+                get_request["build_tag"] = build_tag_arg
+
+            if scenario_arg is not None:
+                get_request["scenario"] = scenario_arg
+
+            if criteria_arg is not None:
+                get_request["criteria_tag"] = criteria_arg
+
+            if trust_indicator_arg is not None:
+                get_request["trust_indicator_arg"] = trust_indicator_arg
+
             if period_arg is not None:
                 try:
                     period_arg = int(period_arg)
@@ -552,7 +574,7 @@ class TestResultsHandler(GenericApiHandler):
 
                 if period_arg > 0:
                     period = datetime.now() - timedelta(days=period_arg)
-                    obj = {"$gte": period}
+                    obj = {"$gte": str(period)}
                     get_request["creation_date"] = obj
         else:
             get_request["_id"] = result_id
@@ -705,7 +727,7 @@ class DashboardHandler(GenericApiHandler):
                     raise HTTPError(HTTP_BAD_REQUEST)
                 if period_arg > 0:
                     period = datetime.now() - timedelta(days=period_arg)
-                    obj = {"$gte": period}
+                    obj = {"$gte": str(period)}
                     get_request["creation_date"] = obj
         else:
             get_request["_id"] = result_id