add router package to implement url-2-XXXHandlers mappings in testAPI project
[releng.git] / utils / test / result_collection_api / opnfv_testapi / router / url_mappings.py
1 from opnfv_testapi.resources.handlers import VersionHandler
2 from opnfv_testapi.resources.testcase_handlers import TestcaseCLHandler, \
3     TestcaseGURHandler
4 from opnfv_testapi.resources.pod_handlers import PodCLHandler, PodGURHandler
5 from opnfv_testapi.resources.project_handlers import ProjectCLHandler, \
6     ProjectGURHandler
7 from opnfv_testapi.resources.result_handlers import ResultsCLHandler, \
8     ResultsGURHandler
9 from opnfv_testapi.resources.dashboard_handlers import DashboardHandler
10
11
12 mappings = [
13     # GET /versions => GET API version
14     (r"/versions", VersionHandler),
15
16     # few examples:
17     # GET /api/v1/pods => Get all pods
18     # GET /api/v1/pods/1 => Get details on POD 1
19     (r"/api/v1/pods", PodCLHandler),
20     (r"/api/v1/pods/([^/]+)", PodGURHandler),
21
22     # few examples:
23     # GET /projects
24     # GET /projects/yardstick
25     (r"/api/v1/projects", ProjectCLHandler),
26     (r"/api/v1/projects/([^/]+)", ProjectGURHandler),
27
28     # few examples
29     # GET /projects/qtip/cases => Get cases for qtip
30     (r"/api/v1/projects/([^/]+)/cases", TestcaseCLHandler),
31     (r"/api/v1/projects/([^/]+)/cases/([^/]+)", TestcaseGURHandler),
32
33     # new path to avoid a long depth
34     # GET /results?project=functest&case=keystone.catalog&pod=1
35     #   => get results with optional filters
36     # POST /results =>
37     # Push results with mandatory request payload parameters
38     # (project, case, and pod)
39     (r"/api/v1/results", ResultsCLHandler),
40     (r"/api/v1/results/([^/]+)", ResultsGURHandler),
41
42     # Method to manage Dashboard ready results
43     # GET /dashboard?project=functest&case=vPing&pod=opnfv-jump2
44     #  => get results in dasboard ready format
45     # get /dashboard
46     #  => get the list of project with dashboard ready results
47     (r"/dashboard/v1/results", DashboardHandler),
48 ]