Adding some unit tests
[doneit] / tests / test_backend.py
1 def exercise_projects(backend):
2         PROJECT_1_NAME = "1"
3         PROJECT_1_NEW_NAME = "1_1"
4         PROJECT_2_NAME = "2"
5
6         projects = list(backend.get_projects())
7         assert len(projects) == 0
8
9         # Verify add/getters
10         proj1Id = backend.add_project(PROJECT_1_NAME)
11
12         proj = backend.get_project(proj1Id)
13         assert proj["name"] == PROJECT_1_NAME
14         assert proj["id"] == proj1Id
15         assert proj["isVisible"]
16         assert not proj["isMeta"]
17
18         projects = list(backend.get_projects())
19         assert len(projects) == 1
20         assert proj == projects[0]
21
22         lookupProj = backend.lookup_project(PROJECT_1_NAME)
23         assert proj == lookupProj
24
25         # verify name/getters
26         backend.set_project_name(proj1Id, PROJECT_1_NEW_NAME)
27
28         proj = backend.get_project(proj1Id)
29         assert proj["name"] == PROJECT_1_NEW_NAME
30         assert proj["id"] == proj1Id
31         assert proj["isVisible"]
32         assert not proj["isMeta"]
33
34         projects = list(backend.get_projects())
35         assert len(projects) == 1
36         assert proj == projects[0]
37
38         lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
39         assert proj == lookupProj
40
41         # verify visibility/getters
42         backend.set_project_visibility(proj1Id, False)
43
44         proj = backend.get_project(proj1Id)
45         assert proj["name"] == PROJECT_1_NEW_NAME
46         assert proj["id"] == proj1Id
47         assert not proj["isVisible"]
48         assert not proj["isMeta"]
49
50         projects = list(backend.get_projects())
51         assert len(projects) == 1
52         assert proj == projects[0]
53
54         lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
55         assert proj == lookupProj
56
57         # verify second project while modifying first
58         proj2Id = backend.add_project(PROJECT_2_NAME)
59
60         proj = backend.get_project(proj1Id)
61         assert proj["name"] == PROJECT_1_NEW_NAME
62         assert proj["id"] == proj1Id
63         assert not proj["isVisible"]
64         assert not proj["isMeta"]
65
66         lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
67         assert proj == lookupProj
68
69         proj = backend.get_project(proj2Id)
70         assert proj["name"] == PROJECT_2_NAME
71         assert proj["id"] == proj2Id
72         assert proj["isVisible"]
73         assert not proj["isMeta"]
74
75         lookupProj = backend.lookup_project(PROJECT_2_NAME)
76         assert proj == lookupProj
77
78         backend.set_project_name(proj1Id, PROJECT_1_NAME)
79
80         proj = backend.get_project(proj1Id)
81         assert proj["name"] == PROJECT_1_NAME
82         assert proj["id"] == proj1Id
83         assert not proj["isVisible"]
84         assert not proj["isMeta"]
85
86         lookupProj = backend.lookup_project(PROJECT_1_NAME)
87         assert proj == lookupProj
88
89         proj = backend.get_project(proj2Id)
90         assert proj["name"] == PROJECT_2_NAME
91         assert proj["id"] == proj2Id
92         assert proj["isVisible"]
93         assert not proj["isMeta"]
94
95         lookupProj = backend.lookup_project(PROJECT_2_NAME)
96         assert proj == lookupProj
97
98         # verify visibility/getters
99         backend.set_project_visibility(proj1Id, True)
100
101         proj = backend.get_project(proj1Id)
102         assert proj["name"] == PROJECT_1_NAME
103         assert proj["id"] == proj1Id
104         assert proj["isVisible"]
105         assert not proj["isMeta"]
106
107         lookupProj = backend.lookup_project(PROJECT_1_NAME)
108         assert proj == lookupProj
109
110         proj = backend.get_project(proj2Id)
111         assert proj["name"] == PROJECT_2_NAME
112         assert proj["id"] == proj2Id
113         assert proj["isVisible"]
114         assert not proj["isMeta"]
115
116         lookupProj = backend.lookup_project(PROJECT_2_NAME)
117         assert proj == lookupProj
118
119
120 def exercise_locations(backend):
121         locations = list(backend.get_locations())
122         assert len(locations) == 0