Merge "bifrost: test-bifrost-deployment.sh: Use the new 'openssh-server' dib element"
[releng.git] / utils / test / testapi / opnfv_testapi / resources / testcase_models.py
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
10
11
12 @swagger.model()
13 class TestcaseCreateRequest(object):
14     def __init__(self, name, url=None, description=None):
15         self.name = name
16         self.url = url
17         self.description = description
18
19     def format(self):
20         return {
21             "name": self.name,
22             "description": self.description,
23             "url": self.url,
24         }
25
26
27 @swagger.model()
28 class TestcaseUpdateRequest(object):
29     def __init__(self, name=None, description=None, project_name=None):
30         self.name = name
31         self.description = description
32         self.project_name = project_name
33
34     def format(self):
35         return {
36             "name": self.name,
37             "description": self.description,
38             "project_name": self.project_name,
39         }
40
41
42 @swagger.model()
43 class Testcase(object):
44     def __init__(self, _id=None, name=None, project_name=None,
45                  description=None, url=None, creation_date=None):
46         self._id = None
47         self.name = None
48         self.project_name = None
49         self.description = None
50         self.url = None
51         self.creation_date = None
52
53     @staticmethod
54     def from_dict(a_dict):
55
56         if a_dict is None:
57             return None
58
59         t = Testcase()
60         t._id = a_dict.get('_id')
61         t.project_name = a_dict.get('project_name')
62         t.creation_date = a_dict.get('creation_date')
63         t.name = a_dict.get('name')
64         t.description = a_dict.get('description')
65         t.url = a_dict.get('url')
66
67         return t
68
69     def format(self):
70         return {
71             "name": self.name,
72             "description": self.description,
73             "project_name": self.project_name,
74             "creation_date": str(self.creation_date),
75             "url": self.url
76         }
77
78     def format_http(self):
79         return {
80             "_id": str(self._id),
81             "name": self.name,
82             "project_name": self.project_name,
83             "description": self.description,
84             "creation_date": str(self.creation_date),
85             "url": self.url,
86         }
87
88
89 @swagger.model()
90 class Testcases(object):
91     """
92         @property testcases:
93         @ptype testcases: C{list} of L{Testcase}
94     """
95     def __init__(self):
96         self.testcases = list()
97
98     @staticmethod
99     def from_dict(res_dict):
100         if res_dict is None:
101             return None
102
103         res = Testcases()
104         for testcase in res_dict.get('testcases'):
105             res.testcases.append(Testcase.from_dict(testcase))
106         return res