1 ##############################################################################
2 # Copyright (c) 2015 Orange
3 # guyrodrigue.koffi@orange.com / koffirodrigue@gmail.com
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9 from opnfv_testapi.tornado_swagger import swagger
13 class TestcaseCreateRequest(object):
14 def __init__(self, name, url=None, description=None,
15 tier=None, ci_loop=None, criteria=None,
16 blocking=None, dependencies=None, run=None,
17 domains=None, tags=None, version=None):
20 self.description = description
22 self.ci_loop = ci_loop
23 self.criteria = criteria
24 self.blocking = blocking
25 self.dependencies = dependencies
27 self.domains = domains
29 self.version = version
35 "description": self.description,
41 class TestcaseUpdateRequest(object):
42 def __init__(self, name=None, description=None, project_name=None,
43 tier=None, ci_loop=None, criteria=None,
44 blocking=None, dependencies=None, run=None,
45 domains=None, tags=None, version=None, trust=None):
47 self.description = description
48 self.project_name = project_name
50 self.ci_loop = ci_loop
51 self.criteria = criteria
52 self.blocking = blocking
53 self.dependencies = dependencies
55 self.domains = domains
57 self.version = version
63 "description": self.description,
64 "project_name": self.project_name,
66 "ci_loop": self.ci_loop,
67 "criteria": self.criteria,
68 "blocking": self.blocking,
69 "dependencies": self.dependencies,
71 "domains": self.domains,
73 "version": self.version,
79 class Testcase(object):
80 def __init__(self, _id=None, name=None, project_name=None,
81 description=None, url=None, creation_date=None,
82 tier=None, ci_loop=None, criteria=None,
83 blocking=None, dependencies=None, run=None,
84 domains=None, tags=None, version=None,
88 self.project_name = None
89 self.description = None
91 self.creation_date = None
96 self.dependencies=None
104 def from_dict(a_dict):
110 t._id = a_dict.get('_id')
111 t.project_name = a_dict.get('project_name')
112 t.creation_date = a_dict.get('creation_date')
113 t.name = a_dict.get('name')
114 t.description = a_dict.get('description')
115 t.url = a_dict.get('url')
116 t.tier = a_dict.get('tier')
117 t.ci_loop = a_dict.get('ci_loop')
118 t.criteria = a_dict.get('criteria')
119 t.blocking = a_dict.get('blocking')
120 t.dependencies = a_dict.get('dependencies')
121 t.run = a_dict.get('run')
122 t.domains = a_dict.get('domains')
123 t.tags = a_dict.get('tags')
124 t.version = a_dict.get('version')
125 t.trust = a_dict.get('trust')
132 "description": self.description,
133 "project_name": self.project_name,
134 "creation_date": str(self.creation_date),
137 "ci_loop": self.ci_loop,
138 "criteria": self.criteria,
139 "blocking": self.blocking,
140 "dependencies": self.dependencies,
142 "domains": self.domains,
144 "version": self.version,
148 def format_http(self):
150 "_id": str(self._id),
152 "project_name": self.project_name,
153 "description": self.description,
154 "creation_date": str(self.creation_date),
157 "ci_loop": self.ci_loop,
158 "criteria": self.criteria,
159 "blocking": self.blocking,
160 "dependencies": self.dependencies,
162 "domains": self.domains,
164 "version": self.version,
170 class Testcases(object):
173 @ptype testcases: C{list} of L{Testcase}
176 self.testcases = list()
179 def from_dict(res_dict):
184 for testcase in res_dict.get('testcases'):
185 res.testcases.append(Testcase.from_dict(testcase))