diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2017-07-04 17:23:33 +0200 |
---|---|---|
committer | Morgan Richomme <morgan.richomme@orange.com> | 2017-08-09 16:45:43 +0200 |
commit | 980523c1c5fa65b4c4a786d6ddb1ddfb70a63bc6 (patch) | |
tree | 68072820e868a4688036c2425195966167fdd8fb /reporting/api/handlers/testcases.py | |
parent | 5eb90d88748ee25c0d1a858167d435a9498d175c (diff) |
Initiate packetization of Testing reporting
Testing reporting provides
- static reporting pages [1] (jinja2)
- landing pages including test case catalogue [2] (angular)
It consumes the Test API to build web pages providing status for
the testing projects (so far functest, yardstick, storperf and
qtip).
Dockerization has been initiated [3]. The goal is to replace the
static page hosted on testresults.opnfv.org by a docker regenerated
and redeployed when reporting code is changed
But the docker and more generally the testing reporting directory
must be refactored to
- manage dependencies properly
- leverage tox (py27, docs, pylint, pep8)
This patch
- setups tox (py27, pep8, pylint, docs)
- integrate the requirement management
- fix pep8 errors
- introduce 1 dummy unit test
This patch does not
- fix pylint errors
- create any doc
[1]: http://testresults.opnfv.org/reporting2/display/index.html
[2]: http://testresults.opnfv.org/reporting2/reporting/index.html
[3]: https://gerrit.opnfv.org/gerrit/#/c/36735/
Change-Id: I4613de7ca7036d6c6bbb8f58ade492b1d673599b
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
Diffstat (limited to 'reporting/api/handlers/testcases.py')
-rw-r--r-- | reporting/api/handlers/testcases.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/reporting/api/handlers/testcases.py b/reporting/api/handlers/testcases.py new file mode 100644 index 0000000..2b91186 --- /dev/null +++ b/reporting/api/handlers/testcases.py @@ -0,0 +1,33 @@ +############################################################################## +# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## +import requests + +from tornado.escape import json_encode + +from api.handlers import BaseHandler +from api import conf + + +class TestCases(BaseHandler): + def get(self, project): + self._set_header() + + url = '{}/projects/{}/cases'.format(conf.base_url, project) + cases = requests.get(url).json().get('testcases', []) + data = [{t['name']: t['catalog_description']} for t in cases] + self.write(json_encode(data)) + + +class TestCase(BaseHandler): + def get(self, project, name): + self._set_header() + + url = '{}/projects/{}/cases/{}'.format(conf.base_url, project, name) + data = requests.get(url).json() + self.write(json_encode(data)) |