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