1 def assert_projects_same(backend1, backend2):
2 projects1 = list(backend1.get_projects())
5 projects2 = list(backend2.get_projects())
8 assert projects1 == projects2
11 def assert_locations_same(backend1, backend2):
12 locations1 = list(backend1.get_locations())
15 locations2 = list(backend2.get_locations())
18 assert locations1 == locations2
21 def assert_tasks_same(backend1, backend2, projId):
22 tasks1 = list(backend1.get_tasks_with_details(projId))
25 tasks2 = list(backend2.get_tasks_with_details(projId))
28 assert tasks1 == tasks2
31 def exercise_projects(backend):
33 PROJECT_1_NEW_NAME = "p1_1"
36 projects = list(backend.get_projects())
37 assert len(projects) == 0
40 proj1Id = backend.add_project(PROJECT_1_NAME)
42 proj = backend.get_project(proj1Id)
43 assert proj["name"] == PROJECT_1_NAME
44 assert proj["id"] == proj1Id
45 assert proj["isVisible"]
46 assert not proj["isMeta"]
48 projects = list(backend.get_projects())
49 assert len(projects) == 1
50 assert proj == projects[0]
52 lookupProj = backend.lookup_project(PROJECT_1_NAME)
53 assert proj == lookupProj
56 backend.set_project_name(proj1Id, PROJECT_1_NEW_NAME)
58 proj = backend.get_project(proj1Id)
59 assert proj["name"] == PROJECT_1_NEW_NAME
60 assert proj["id"] == proj1Id
61 assert proj["isVisible"]
62 assert not proj["isMeta"]
64 projects = list(backend.get_projects())
65 assert len(projects) == 1
66 assert proj == projects[0]
68 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
69 assert proj == lookupProj
71 # verify visibility/getters
72 backend.set_project_visibility(proj1Id, False)
74 proj = backend.get_project(proj1Id)
75 assert proj["name"] == PROJECT_1_NEW_NAME
76 assert proj["id"] == proj1Id
77 assert not proj["isVisible"]
78 assert not proj["isMeta"]
80 projects = list(backend.get_projects())
81 assert len(projects) == 1
82 assert proj == projects[0]
84 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
85 assert proj == lookupProj
87 # verify second project while modifying first
88 proj2Id = backend.add_project(PROJECT_2_NAME)
90 proj = backend.get_project(proj1Id)
91 assert proj["name"] == PROJECT_1_NEW_NAME
92 assert proj["id"] == proj1Id
93 assert not proj["isVisible"]
94 assert not proj["isMeta"]
96 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
97 assert proj == lookupProj
99 proj = backend.get_project(proj2Id)
100 assert proj["name"] == PROJECT_2_NAME
101 assert proj["id"] == proj2Id
102 assert proj["isVisible"]
103 assert not proj["isMeta"]
105 lookupProj = backend.lookup_project(PROJECT_2_NAME)
106 assert proj == lookupProj
108 backend.set_project_name(proj1Id, PROJECT_1_NAME)
110 proj = backend.get_project(proj1Id)
111 assert proj["name"] == PROJECT_1_NAME
112 assert proj["id"] == proj1Id
113 assert not proj["isVisible"]
114 assert not proj["isMeta"]
116 lookupProj = backend.lookup_project(PROJECT_1_NAME)
117 assert proj == lookupProj
119 proj = backend.get_project(proj2Id)
120 assert proj["name"] == PROJECT_2_NAME
121 assert proj["id"] == proj2Id
122 assert proj["isVisible"]
123 assert not proj["isMeta"]
125 lookupProj = backend.lookup_project(PROJECT_2_NAME)
126 assert proj == lookupProj
128 # verify visibility/getters
129 backend.set_project_visibility(proj1Id, True)
131 proj = backend.get_project(proj1Id)
132 assert proj["name"] == PROJECT_1_NAME
133 assert proj["id"] == proj1Id
134 assert proj["isVisible"]
135 assert not proj["isMeta"]
137 lookupProj = backend.lookup_project(PROJECT_1_NAME)
138 assert proj == lookupProj
140 proj = backend.get_project(proj2Id)
141 assert proj["name"] == PROJECT_2_NAME
142 assert proj["id"] == proj2Id
143 assert proj["isVisible"]
144 assert not proj["isMeta"]
146 lookupProj = backend.lookup_project(PROJECT_2_NAME)
147 assert proj == lookupProj
150 def exercise_locations(backend):
151 locations = list(backend.get_locations())
152 assert len(locations) == 0
155 def exercise_task(backend, proj1Id, proj2Id):
159 proj1Tasks = list(backend.get_tasks_with_details(proj1Id))
160 assert len(proj1Tasks) == 0
161 proj2Tasks = list(backend.get_tasks_with_details(proj2Id))
162 assert len(proj2Tasks) == 0
164 taskId = backend.add_task(proj1Id, TASK_1_NAME)
165 task = backend.get_task_details(taskId)
166 assert task["name"] == TASK_1_NAME
167 assert task["projId"] == proj1Id
168 assert task["id"] == taskId