add unittests of project & refactor response
[releng.git] / utils / test / result_collection_api / resources / project_models.py
1 __author__ = '__serena__'
2
3
4 class ProjectCreateRequest(object):
5     def __init__(self, name='', description=''):
6         self.name = name
7         self.description = description
8
9     def format(self):
10         return {
11             "name": self.name,
12             "description": self.description,
13         }
14
15
16 class Project:
17     """ Describes a test project"""
18
19     def __init__(self):
20         self._id = None
21         self.name = None
22         self.description = None
23         self.creation_date = None
24
25     @staticmethod
26     def from_dict(res_dict):
27
28         if res_dict is None:
29             return None
30
31         t = Project()
32         t._id = res_dict.get('_id')
33         t.creation_date = res_dict.get('creation_date')
34         t.name = res_dict.get('name')
35         t.description = res_dict.get('description')
36
37         return t
38
39     def format(self):
40         return {
41             "name": self.name,
42             "description": self.description,
43             "creation_date": str(self.creation_date)
44         }
45
46     def format_http(self):
47         return {
48             "_id": str(self._id),
49             "name": self.name,
50             "description": self.description,
51             "creation_date": str(self.creation_date),
52         }
53
54
55 class Projects(object):
56     def __init__(self, projects=list()):
57         self.projects = projects
58
59     @staticmethod
60     def from_dict(res_dict):
61         if res_dict is None:
62             return None
63
64         res = Projects()
65         for project in res_dict.get('projects'):
66             res.projects.append(Project.from_dict(project))
67         return res