summaryrefslogtreecommitdiffstats
path: root/reporting/api/handlers/testcases.py
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2017-07-04 17:23:33 +0200
committerMorgan Richomme <morgan.richomme@orange.com>2017-08-09 16:45:43 +0200
commit980523c1c5fa65b4c4a786d6ddb1ddfb70a63bc6 (patch)
tree68072820e868a4688036c2425195966167fdd8fb /reporting/api/handlers/testcases.py
parent5eb90d88748ee25c0d1a858167d435a9498d175c (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.py33
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))