Skip to content
This repository was archived by the owner on Sep 4, 2020. It is now read-only.

Commit 239ad22

Browse files
author
Caitlin Bales (MSFT)
committed
Add some of the Planner tests
1 parent 0d96edd commit 239ad22

1 file changed

Lines changed: 267 additions & 0 deletions

File tree

Lines changed: 267 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,267 @@
1+
package com.microsoft.graph.functional;
2+
3+
import android.test.AndroidTestCase;
4+
5+
//import com.microsoft.graph.extensions.IDirectoryDeletedItemsCollectionPage;
6+
import com.google.gson.JsonArray;
7+
import com.google.gson.JsonElement;
8+
import com.google.gson.JsonObject;;
9+
import com.google.gson.JsonPrimitive;
10+
import com.microsoft.graph.extensions.Group;
11+
import com.microsoft.graph.extensions.GroupRequestBuilder;
12+
import com.microsoft.graph.extensions.IDirectoryObjectCollectionPage;
13+
import com.microsoft.graph.extensions.IDriveItemCollectionPage;
14+
import com.microsoft.graph.extensions.IDriveItemCollectionRequestBuilder;
15+
import com.microsoft.graph.extensions.IGraphServiceClient;
16+
import com.microsoft.graph.extensions.IGroupCollectionPage;
17+
import com.microsoft.graph.extensions.IPlannerBucketCollectionPage;
18+
import com.microsoft.graph.extensions.IPlannerBucketRequest;
19+
import com.microsoft.graph.extensions.IPlannerPlanCollectionPage;
20+
import com.microsoft.graph.extensions.IPlannerPlanRequest;
21+
import com.microsoft.graph.extensions.IPlannerPlanRequestBuilder;
22+
import com.microsoft.graph.extensions.IPlannerTaskCollectionPage;
23+
import com.microsoft.graph.extensions.IPlannerTaskRequest;
24+
import com.microsoft.graph.extensions.ITaskCollectionPage;
25+
import com.microsoft.graph.extensions.PlannerAssignedToTaskBoardTaskFormat;
26+
import com.microsoft.graph.extensions.PlannerAssignment;
27+
import com.microsoft.graph.extensions.PlannerAssignments;
28+
import com.microsoft.graph.extensions.PlannerBucket;
29+
import com.microsoft.graph.extensions.PlannerBucketCollectionPage;
30+
import com.microsoft.graph.extensions.PlannerBucketRequest;
31+
import com.microsoft.graph.extensions.PlannerBucketTaskBoardTaskFormat;
32+
import com.microsoft.graph.extensions.PlannerChecklistItems;
33+
import com.microsoft.graph.extensions.PlannerExternalReferences;
34+
import com.microsoft.graph.extensions.PlannerPlan;
35+
import com.microsoft.graph.extensions.PlannerProgressTaskBoardTaskFormat;
36+
import com.microsoft.graph.extensions.PlannerTask;
37+
import com.microsoft.graph.extensions.PlannerTaskDetails;
38+
import com.microsoft.graph.extensions.Task;
39+
import com.microsoft.graph.options.HeaderOption;
40+
import com.microsoft.graph.serializer.AdditionalDataManager;
41+
42+
import java.util.Calendar;
43+
import java.util.Collection;
44+
import java.util.List;
45+
46+
public class PlannerTests extends AndroidTestCase {
47+
private TestBase testBase;
48+
// For now, you must specify a specific plan ID since the test cannot
49+
// clean up after itself
50+
private String planId = "bVQECPYdRkqg3c9Mp4mJbmQADG1N";
51+
private PlannerBucket planBucket;
52+
private PlannerTask planTask;
53+
54+
public void setUp() {
55+
testBase = new TestBase();
56+
testBase.graphClient.setServiceRoot("https://graph.microsoft.com/stagingbeta");
57+
58+
PlannerBucket newBucket = new PlannerBucket();
59+
newBucket.name = "Test Bucket";
60+
newBucket.planId = planId;
61+
62+
planBucket = testBase.graphClient.getPlanner().getBuckets().buildRequest().post(newBucket);
63+
64+
PlannerTask newTask = new PlannerTask();
65+
newTask.title = "Test Task";
66+
newTask.planId = planId;
67+
newTask.bucketId = planBucket.id;
68+
69+
planTask = testBase.graphClient.getPlanner().getTasks().buildRequest().post(newTask);
70+
}
71+
72+
public void testPostTask() {
73+
PlannerTask newTask = new PlannerTask();
74+
newTask.title = "Test1";
75+
newTask.planId = planId;
76+
newTask.bucketId = planBucket.id;
77+
78+
PlannerTask task = testBase.graphClient.getPlanner().getTasks().buildRequest().post(newTask);
79+
assertNotNull(task);
80+
}
81+
82+
public void testBucketTaskBoardFormat() {
83+
PlannerBucketTaskBoardTaskFormat format = testBase.graphClient.getPlanner().getTasks(planTask.id).getBucketTaskBoardFormat().buildRequest().get();
84+
assertNotNull(format);
85+
}
86+
87+
public void testAssignedToTaskBoardFormat() {
88+
PlannerAssignedToTaskBoardTaskFormat format = testBase.graphClient.getPlanner().getTasks(planTask.id).getAssignedToTaskBoardFormat().buildRequest().get();
89+
assertNotNull(format);
90+
}
91+
92+
public void testProgressTaskBoardFormat() {
93+
PlannerProgressTaskBoardTaskFormat format = testBase.graphClient.getPlanner().getTasks(planTask.id).getProgressTaskBoardFormat().buildRequest().get();
94+
assertNotNull(format);
95+
}
96+
97+
public void testGetTaskDetails() {
98+
PlannerTaskDetails details = testBase.graphClient.getPlanner().getTasks(planTask.id).getDetails().buildRequest().get();
99+
assertNotNull(details);
100+
}
101+
102+
public void testUpdateTask() {
103+
// PlannerTask task = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().get();
104+
//
105+
// PlannerAssignments assignments = new PlannerAssignments();
106+
// PlannerAssignment assignment = new PlannerAssignment();
107+
// assignment.orderHint = "!";
108+
// assignment.oDataType = "#microsoft.graph.plannerAssignment";
109+
// assignments.getAdditionalDataManager();
110+
//
111+
// task.assignments = assignments;
112+
//
113+
// PlannerTask returnTask = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().patch(task);
114+
//
115+
// assertNotNull(returnTask);
116+
}
117+
118+
public void testUpdateTaskDetailsChecklist() {
119+
// PlannerTaskDetails details = new PlannerTaskDetails();
120+
//
121+
// details.checklist = new PlannerChecklistItems();
122+
//
123+
// PlannerTaskDetails returnTaskDetails = testBase.graphClient.getPlanner().getTasks(planTask.id).getDetails().buildRequest().patch(details);
124+
//
125+
// assertNotNull(returnTaskDetails);
126+
}
127+
128+
public void testUpdateTaskDetails() {
129+
// PlannerTaskDetails details = new PlannerTaskDetails();
130+
//
131+
// details.references = new PlannerExternalReferences();
132+
//
133+
// PlannerTaskDetails returnTaskDetails = testBase.graphClient.getPlanner().getTasks(planTask.id).getDetails().buildRequest().patch(details);
134+
//
135+
// assertNotNull(returnTaskDetails);
136+
}
137+
138+
public void testUpdateTaskCompletion() {
139+
PlannerTask task = new PlannerTask();
140+
task.percentComplete = 50;
141+
142+
IPlannerTaskRequest req = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest();
143+
req.addHeader("If-Match", getEtag(planTask.getRawObject()));
144+
req.patch(task);
145+
146+
PlannerTask updatedTask = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().get();
147+
148+
assertEquals(task.percentComplete, updatedTask.percentComplete);
149+
}
150+
151+
public void testUpdateTaskStartDate() {
152+
PlannerTask task = new PlannerTask();
153+
task.startDateTime = Calendar.getInstance();
154+
155+
IPlannerTaskRequest req = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest();
156+
req.addHeader("If-Match", getEtag(planTask.getRawObject()));
157+
req.patch(task);
158+
159+
PlannerTask updatedTask = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().get();
160+
updatedTask = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().get();
161+
assertEquals(task.startDateTime, updatedTask.startDateTime);
162+
}
163+
164+
public void testUpdateTaskDueDate() {
165+
PlannerTask task = new PlannerTask();
166+
task.dueDateTime = Calendar.getInstance();
167+
168+
IPlannerTaskRequest req = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest();
169+
req.addHeader("If-Match", getEtag(planTask.getRawObject()));
170+
req.patch(task);
171+
172+
PlannerTask updatedTask = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().get();
173+
updatedTask = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().get();
174+
assertEquals(task.dueDateTime, updatedTask.dueDateTime);
175+
}
176+
177+
public void testUpdateTaskCategories() {
178+
}
179+
180+
public void testUpdatePlanDetails() {
181+
182+
}
183+
184+
public void testDeleteTask() {
185+
PlannerTask newTask = new PlannerTask();
186+
newTask.title = "Delete Me";
187+
newTask.planId = planId;
188+
newTask.bucketId = planBucket.id;
189+
190+
PlannerTask task = testBase.graphClient.getPlanner().getTasks().buildRequest().post(newTask);
191+
192+
IPlannerTaskRequest req = testBase.graphClient.getPlanner().getTasks(task.id).buildRequest();
193+
req.addHeader("If-Match", getEtag(task.getRawObject()));
194+
req.delete();
195+
}
196+
197+
public void testCreateBucket() {
198+
PlannerBucket newBucket = new PlannerBucket();
199+
newBucket.name = "Create Bucket Test";
200+
newBucket.planId = planId;
201+
202+
PlannerBucket createdBucket = testBase.graphClient.getPlanner().getBuckets().buildRequest().post(newBucket);
203+
assertEquals(newBucket.name, createdBucket.name);
204+
}
205+
206+
public void testUpdateBucket() {
207+
//planBucket.name = "RenamedBucket";
208+
PlannerBucket patchBucket = new PlannerBucket();
209+
patchBucket.name = "RenamedBucket";
210+
patchBucket.oDataType = "#microsoft.graph.plannerBucket";
211+
212+
IPlannerBucketRequest req = testBase.graphClient.getPlanner().getBuckets(planBucket.id).buildRequest();
213+
req.addHeader("If-Match", getEtag(planBucket.getRawObject()));
214+
215+
req.patch(patchBucket);
216+
PlannerBucket updatedBucket = testBase.graphClient.getPlanner().getBuckets(planBucket.id).buildRequest().get();
217+
218+
assertEquals(patchBucket.name, updatedBucket.name);
219+
220+
patchBucket.name = "Test Bucket";
221+
IPlannerBucketRequest req2 = testBase.graphClient.getPlanner().getBuckets(planBucket.id).buildRequest();
222+
req2.addHeader("If-Match", getEtag(updatedBucket.getRawObject()));
223+
req2.patch(patchBucket);
224+
}
225+
226+
public void testDeleteBucket() {
227+
PlannerBucket newBucket = new PlannerBucket();
228+
newBucket.name = "Delete Me";
229+
newBucket.planId = planId;
230+
231+
PlannerBucket createdBucket = testBase.graphClient.getPlanner().getBuckets().buildRequest().post(newBucket);
232+
233+
IPlannerBucketRequest req = testBase.graphClient.getPlanner().getBuckets(createdBucket.id).buildRequest();
234+
req.addHeader("If-Match", getEtag(createdBucket.getRawObject()));
235+
req.delete();
236+
}
237+
238+
public void testUpdateAssignedToTaskBoardFormat() {
239+
240+
}
241+
242+
public void tearDown() {
243+
// This may have updated since we last saw it
244+
PlannerTask task = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest().get();
245+
IPlannerTaskRequest taskReq = testBase.graphClient.getPlanner().getTasks(planTask.id).buildRequest();
246+
taskReq.addHeader("If-Match", getEtag(task.getRawObject()));
247+
taskReq.delete();
248+
249+
PlannerBucket bucket = testBase.graphClient.getPlanner().getBuckets(planBucket.id).buildRequest().get();
250+
IPlannerBucketRequest bucketReq = testBase.graphClient.getPlanner().getBuckets(planBucket.id).buildRequest();
251+
bucketReq.addHeader("If-Match", getEtag(bucket.getRawObject()));
252+
bucketReq.delete();
253+
254+
//Fails with 403 Forbidden
255+
// PlannerPlan plan = testBase.graphClient.getPlanner().getPlans(planId).buildRequest().get();
256+
// IPlannerPlanRequest planReq = testBase.graphClient.getPlanner().getPlans(planId).buildRequest();
257+
// planReq.addHeader("If-Match", getEtag(plan.getRawObject()));
258+
// planReq.delete();
259+
}
260+
261+
public String getEtag(JsonObject obj) {
262+
String etag = obj.get("@odata.etag").toString();
263+
etag = etag.substring(1, etag.length()-1);
264+
etag = etag.replace("\\", "");
265+
return etag;
266+
}
267+
}

0 commit comments

Comments
 (0)