add pod related unittests in testAPI
[releng.git] / utils / test / result_collection_api / resources / pod_models.py
1 from models import MetaCreateResponse, MetaGetResponse
2
3
4 class PodCreateRequest(object):
5     def __init__(self, name='', mode='', details=''):
6         self.name = name
7         self.mode = mode
8         self.details = details
9
10     def format(self):
11         return {
12             "name": self.name,
13             "mode": self.mode,
14             "details": self.details,
15         }
16
17     @staticmethod
18     def from_dict(req_dict):
19         if req_dict is None:
20             return None
21
22         req = PodCreateRequest()
23         req.name = req_dict.get('name')
24         req.mode = req_dict.get('mode')
25         req.details = req_dict.get('details')
26         return req
27
28
29 class Pod(PodCreateRequest):
30     """ describes a POD platform """
31     def __init__(self, name='', mode='', details='', _id='', create_date=''):
32         super(Pod, self).__init__(name, mode, details)
33         self._id = _id
34         self.creation_date = create_date
35
36     @staticmethod
37     def pod_from_dict(pod_dict):
38         if pod_dict is None:
39             return None
40
41         p = Pod()
42         p._id = pod_dict.get('_id')
43         p.creation_date = str(pod_dict.get('creation_date'))
44         p.name = pod_dict.get('name')
45         p.mode = pod_dict.get('mode')
46         p.details = pod_dict.get('details')
47         return p
48
49     def format(self):
50         f = super(Pod, self).format()
51         f['creation_date'] = str(self.creation_date)
52         return f
53
54     def format_http(self):
55         f = self.format()
56         f['_id'] = str(self._id)
57         return f
58
59
60 class PodCreateResponse(object):
61     def __init__(self, pod=None, meta=None):
62         self.pod = pod
63         self.meta = meta
64
65     @staticmethod
66     def from_dict(res_dict):
67         if res_dict is None:
68             return None
69
70         res = PodCreateResponse()
71         res.pod = Pod.pod_from_dict(res_dict.get('pod'))
72         res.meta = MetaCreateResponse.from_dict(res_dict.get('meta'))
73         return res
74
75
76 class PodGetResponse(PodCreateRequest):
77     def __init__(self, name='', mode='', details='', create_date=''):
78         self.creation_date = create_date
79         super(PodGetResponse, self).__init__(name, mode, details)
80
81     @staticmethod
82     def from_dict(req_dict):
83         if req_dict is None:
84             return None
85
86         res = PodGetResponse()
87         res.creation_date = str(req_dict.get('creation_date'))
88         res.name = req_dict.get('name')
89         res.mode = req_dict.get('mode')
90         res.details = req_dict.get('details')
91         return res
92
93
94 class PodsGetResponse(object):
95     def __init__(self, pods=[], meta=None):
96         self.pods = pods
97         self.meta = meta
98
99     @staticmethod
100     def from_dict(res_dict):
101         if res_dict is None:
102             return None
103
104         res = PodsGetResponse()
105         for pod in res_dict.get('pods'):
106             res.pods.append(PodGetResponse.from_dict(pod))
107         res.meta = MetaGetResponse.from_dict(res_dict.get('meta'))
108         return res