bug-fix: ssl error for euphrates
[releng.git] / utils / test / testapi / opnfv_testapi / resources / result_handlers.py
index 2bf1792..a258528 100644 (file)
@@ -6,20 +6,20 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
-import logging
-from datetime import datetime
-from datetime import timedelta
 import json
+import logging
 
 from bson import objectid
+from datetime import datetime
+from datetime import timedelta
 
-from opnfv_testapi.common.config import CONF
+from opnfv_testapi.common import constants
 from opnfv_testapi.common import message
 from opnfv_testapi.common import raises
+from opnfv_testapi.common.config import CONF
 from opnfv_testapi.resources import handlers
 from opnfv_testapi.resources import result_models
 from opnfv_testapi.tornado_swagger import swagger
-from opnfv_testapi.ui.auth import constants as auth_const
 
 
 class GenericResultHandler(handlers.GenericApiHandler):
@@ -59,13 +59,12 @@ class GenericResultHandler(handlers.GenericApiHandler):
             elif k == 'to':
                 date_range.update({'$lt': str(v)})
             elif k == 'signed':
-                openid = self.get_secure_cookie(auth_const.OPENID)
-                role = self.get_secure_cookie(auth_const.ROLE)
-                logging.info('role:%s', role)
+                username = self.get_secure_cookie(constants.TESTAPI_ID)
+                role = self.get_secure_cookie(constants.ROLE)
                 if role:
                     del query['public']
                     if role != "reviewer":
-                        query['user'] = openid
+                        query['user'] = username
             elif k not in ['last', 'page', 'descend']:
                 query[k] = v
             if date_range:
@@ -155,7 +154,7 @@ class ResultsCLHandler(GenericResultHandler):
             @type last: L{string}
             @in last: query
             @required last: False
-            @param page: which page to list
+            @param page: which page to list, default to 1
             @type page: L{int}
             @in page: query
             @required page: False
@@ -180,7 +179,7 @@ class ResultsCLHandler(GenericResultHandler):
             return self.get_int('last', self.get_query_argument('last', 0))
 
         def page_limit():
-            return self.get_int('page', self.get_query_argument('page', 0))
+            return self.get_int('page', self.get_query_argument('page', 1))
 
         limitations = {
             'sort': {'_id': descend_limit()},
@@ -216,12 +215,18 @@ class ResultsCLHandler(GenericResultHandler):
             return {'project_name': self.json_args.get('project_name'),
                     'name': self.json_args.get('case_name')}
 
+        def options_check(field, options):
+            return self.json_args.get(field).upper() in options
+
         miss_fields = ['pod_name', 'project_name', 'case_name']
         carriers = [('pods', pod_query),
                     ('projects', project_query),
                     ('testcases', testcase_query)]
+        values_check = [('criteria', options_check, ['PASS', 'FAIL'])]
 
-        self._create(miss_fields=miss_fields, carriers=carriers)
+        self._create(miss_fields=miss_fields,
+                     carriers=carriers,
+                     values_check=values_check)
 
 
 class ResultsUploadHandler(ResultsCLHandler):
@@ -246,7 +251,7 @@ class ResultsUploadHandler(ResultsCLHandler):
         self.json_args = json.loads(fileinfo['body']).copy()
         self.json_args['public'] = is_public
 
-        openid = self.get_secure_cookie(auth_const.OPENID)
+        openid = self.get_secure_cookie(constants.TESTAPI_ID)
         if openid:
             self.json_args['user'] = openid