diff options
author | pkaralis <pkaralis@intracom-telecom.com> | 2018-12-06 00:43:12 +0200 |
---|---|---|
committer | Panagiotis Karalis <pkaralis@intracom-telecom.com> | 2019-03-20 15:28:23 +0200 |
commit | d0bbf3b8952379883550c6eb2062476a6d15043e (patch) | |
tree | 106f65b223054077279bda7ff988a73bea314a34 /opnfv_testapi/resources/handlers.py | |
parent | 5f20495d6e3ec984c4e86fd76399ddf0d042b336 (diff) |
Enable Web Portal for ONAP results
The web portal needs to be able to read test results of the ONAP
compliance program and display them.
In order for the above goal to be achieved, the following two parts
should be impacted:
1- A new front-end should be prepared in order to handle and display
the results
2- The REST API should be extended in order to support the aforementioned
operation.
JIRA: DOVETAIL-669
Change-Id: I36bbb6e602a67020d7e27aedbfc776f5cf4f3dc3
Signed-off-by: pkaralis <pkaralis@intracom-telecom.com>
Co-Authored-By: Stamatis Katsaounis <mokats@intracom-telecom.com>
Diffstat (limited to 'opnfv_testapi/resources/handlers.py')
-rw-r--r-- | opnfv_testapi/resources/handlers.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/opnfv_testapi/resources/handlers.py b/opnfv_testapi/resources/handlers.py index e8c81f3..559e689 100644 --- a/opnfv_testapi/resources/handlers.py +++ b/opnfv_testapi/resources/handlers.py @@ -41,6 +41,7 @@ DEFAULT_REPRESENTATION = "application/json" class GenericApiHandler(web.RequestHandler): def __init__(self, application, request, **kwargs): + self.is_onap = False super(GenericApiHandler, self).__init__(application, request, **kwargs) self.json_args = None self.table = None @@ -52,6 +53,9 @@ class GenericApiHandler(web.RequestHandler): self.db_scenarios = 'scenarios' self.auth = self.settings["auth"] + def initialize(self, is_onap=False): + self.is_onap = is_onap + def get_int(self, key, value): try: value = int(value) @@ -97,6 +101,11 @@ class GenericApiHandler(web.RequestHandler): if role.find("reviewer") != -1: query['$or'].append({"status": {"$ne": "private"}}) + elif k == 'status': + if v.startswith('{'): + query[k] = json.loads(v) + else: + query[k] = v elif k not in ['last', 'page', 'descend', 'per_page']: query[k] = v if date_range: @@ -107,6 +116,8 @@ class GenericApiHandler(web.RequestHandler): if 'start_date' in query and '$lt' not in query['start_date']: query['start_date'].update({'$lt': str(datetime.now())}) + query['is_onap'] = 'true' if self.is_onap else None + logging.debug("query:%s", query) raise gen.Return((query)) @@ -184,7 +195,7 @@ class GenericApiHandler(web.RequestHandler): if query and table: data = yield dbapi.db_find_one(table, query) if data: - raise gen.Return((True, 'Data alreay exists. %s' % (query))) + raise gen.Return((True, 'Data already exists. %s' % (query))) raise gen.Return((False, 'Data does not exist. %s' % (query))) # @web.asynchronous @@ -214,7 +225,7 @@ class GenericApiHandler(web.RequestHandler): if res_op is None: res = {self.table: data} else: - res = res_op(data, *args) + res = yield res_op(data, *args) if page > 0: res.update({ 'pagination': { |