change the usage of tornado_swagger package
[releng.git] / utils / test / result_collection_api / opnfv_testapi / resources / testcase_models.py
1 from opnfv_testapi.tornado_swagger import swagger
2
3 __author__ = '__serena__'
4
5
6 @swagger.model()
7 class TestcaseCreateRequest(object):
8     def __init__(self, name, url=None, description=None):
9         self.name = name
10         self.url = url
11         self.description = description
12
13     def format(self):
14         return {
15             "name": self.name,
16             "description": self.description,
17             "url": self.url,
18         }
19
20
21 @swagger.model()
22 class TestcaseUpdateRequest(object):
23     def __init__(self, name=None, description=None, project_name=None):
24         self.name = name
25         self.description = description
26         self.project_name = project_name
27
28     def format(self):
29         return {
30             "name": self.name,
31             "description": self.description,
32             "project_name": self.project_name,
33         }
34
35
36 @swagger.model()
37 class Testcase(object):
38     def __init__(self):
39         self._id = None
40         self.name = None
41         self.project_name = None
42         self.description = None
43         self.url = None
44         self.creation_date = None
45
46     @staticmethod
47     def from_dict(a_dict):
48
49         if a_dict is None:
50             return None
51
52         t = Testcase()
53         t._id = a_dict.get('_id')
54         t.project_name = a_dict.get('project_name')
55         t.creation_date = a_dict.get('creation_date')
56         t.name = a_dict.get('name')
57         t.description = a_dict.get('description')
58         t.url = a_dict.get('url')
59
60         return t
61
62     def format(self):
63         return {
64             "name": self.name,
65             "description": self.description,
66             "project_name": self.project_name,
67             "creation_date": str(self.creation_date),
68             "url": self.url
69         }
70
71     def format_http(self):
72         return {
73             "_id": str(self._id),
74             "name": self.name,
75             "project_name": self.project_name,
76             "description": self.description,
77             "creation_date": str(self.creation_date),
78             "url": self.url,
79         }
80
81
82 @swagger.model()
83 class Testcases(object):
84     """
85         @property testcases:
86         @ptype testcases: C{list} of L{Testcase}
87     """
88     def __init__(self):
89         self.testcases = list()
90
91     @staticmethod
92     def from_dict(res_dict):
93         if res_dict is None:
94             return None
95
96         res = Testcases()
97         for testcase in res_dict.get('testcases'):
98             res.testcases.append(Testcase.from_dict(testcase))
99         return res