2 sys.path.append("../src")
9 def assert_projects_same(backend1, backend2):
10 projects1 = list(backend1.get_projects())
13 projects2 = list(backend2.get_projects())
16 assert projects1 == projects2
19 def assert_locations_same(backend1, backend2):
20 locations1 = list(backend1.get_locations())
23 locations2 = list(backend2.get_locations())
26 assert locations1 == locations2
29 def assert_tasks_same(backend1, backend2, projId):
30 tasks1 = list(backend1.get_tasks_with_details(projId))
33 tasks2 = list(backend2.get_tasks_with_details(projId))
36 assert tasks1 == tasks2
39 def exercise_projects(backend):
41 PROJECT_1_NEW_NAME = "p1_1"
44 projects = list(backend.get_projects())
45 assert len(projects) == 0
48 proj1Id = backend.add_project(PROJECT_1_NAME)
50 proj = backend.get_project(proj1Id)
51 assert proj["name"] == PROJECT_1_NAME
52 assert proj["id"] == proj1Id
53 assert proj["isVisible"]
54 assert not proj["isMeta"]
56 projects = list(backend.get_projects())
57 assert len(projects) == 1
58 assert proj == projects[0]
60 lookupProj = backend.lookup_project(PROJECT_1_NAME)
61 assert proj == lookupProj
64 backend.set_project_name(proj1Id, PROJECT_1_NEW_NAME)
66 proj = backend.get_project(proj1Id)
67 assert proj["name"] == PROJECT_1_NEW_NAME
68 assert proj["id"] == proj1Id
69 assert proj["isVisible"]
70 assert not proj["isMeta"]
72 projects = list(backend.get_projects())
73 assert len(projects) == 1
74 assert proj == projects[0]
76 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
77 assert proj == lookupProj
79 # verify visibility/getters
80 backend.set_project_visibility(proj1Id, False)
82 proj = backend.get_project(proj1Id)
83 assert proj["name"] == PROJECT_1_NEW_NAME
84 assert proj["id"] == proj1Id
85 assert not proj["isVisible"]
86 assert not proj["isMeta"]
88 projects = list(backend.get_projects())
89 assert len(projects) == 1
90 assert proj == projects[0]
92 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
93 assert proj == lookupProj
95 # verify second project while modifying first
96 proj2Id = backend.add_project(PROJECT_2_NAME)
98 proj = backend.get_project(proj1Id)
99 assert proj["name"] == PROJECT_1_NEW_NAME
100 assert proj["id"] == proj1Id
101 assert not proj["isVisible"]
102 assert not proj["isMeta"]
104 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
105 assert proj == lookupProj
107 proj = backend.get_project(proj2Id)
108 assert proj["name"] == PROJECT_2_NAME
109 assert proj["id"] == proj2Id
110 assert proj["isVisible"]
111 assert not proj["isMeta"]
113 lookupProj = backend.lookup_project(PROJECT_2_NAME)
114 assert proj == lookupProj
116 backend.set_project_name(proj1Id, PROJECT_1_NAME)
118 proj = backend.get_project(proj1Id)
119 assert proj["name"] == PROJECT_1_NAME
120 assert proj["id"] == proj1Id
121 assert not proj["isVisible"]
122 assert not proj["isMeta"]
124 lookupProj = backend.lookup_project(PROJECT_1_NAME)
125 assert proj == lookupProj
127 proj = backend.get_project(proj2Id)
128 assert proj["name"] == PROJECT_2_NAME
129 assert proj["id"] == proj2Id
130 assert proj["isVisible"]
131 assert not proj["isMeta"]
133 lookupProj = backend.lookup_project(PROJECT_2_NAME)
134 assert proj == lookupProj
136 # verify visibility/getters
137 backend.set_project_visibility(proj1Id, True)
139 proj = backend.get_project(proj1Id)
140 assert proj["name"] == PROJECT_1_NAME
141 assert proj["id"] == proj1Id
142 assert proj["isVisible"]
143 assert not proj["isMeta"]
145 lookupProj = backend.lookup_project(PROJECT_1_NAME)
146 assert proj == lookupProj
148 proj = backend.get_project(proj2Id)
149 assert proj["name"] == PROJECT_2_NAME
150 assert proj["id"] == proj2Id
151 assert proj["isVisible"]
152 assert not proj["isMeta"]
154 lookupProj = backend.lookup_project(PROJECT_2_NAME)
155 assert proj == lookupProj
158 def exercise_locations(backend):
159 locations = list(backend.get_locations())
160 assert len(locations) == 0
163 def exercise_task(backend, proj1Id, proj2Id):
165 TASK_1_NEW_NAME = "t1_1"
166 TASK_1_DUEDATE = toolbox.Optional(datetime.datetime.now())
169 proj1Tasks = list(backend.get_tasks_with_details(proj1Id))
170 assert len(proj1Tasks) == 0
171 proj2Tasks = list(backend.get_tasks_with_details(proj2Id))
172 assert len(proj2Tasks) == 0
174 taskId = backend.add_task(proj1Id, TASK_1_NAME)
175 task = backend.get_task_details(taskId)
176 assert task["name"] == TASK_1_NAME
177 assert task["projId"] == proj1Id
178 assert task["id"] == taskId
180 proj1Tasks = list(backend.get_tasks_with_details(proj1Id))
181 assert len(proj1Tasks) == 1
182 proj2Tasks = list(backend.get_tasks_with_details(proj2Id))
183 assert len(proj2Tasks) == 0
185 backend.set_name(taskId, TASK_1_NEW_NAME)
186 task = backend.get_task_details(taskId)
187 assert task["name"] == TASK_1_NEW_NAME
189 assert task["dueDate"] == toolbox.Optional(), "%r not optional" % task["dueDate"]
190 backend.set_duedate(taskId, TASK_1_DUEDATE)
191 task = backend.get_task_details(taskId)
192 assert task["dueDate"] == TASK_1_DUEDATE