import com.google.gson.Gson; import com.instructure.canvasapi.model.Group; import com.instructure.canvasapi.utilities.CanvasRestAdapter; import junit.framework.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; @Config(sdk = 17) @RunWith(RobolectricGradleTestRunner.class) public class GroupUnitTest extends Assert{ @Test public void myGroupsTest(){ Gson gson = CanvasRestAdapter.getGSONParser(); Group[] groupList = gson.fromJson(myGroupListJSON, Group[].class); assertNotNull(groupList); Group group = groupList[0]; assertNotNull(group); assertNull(group.getDescription()); assertTrue(group.getId() == 91885); assertTrue(group.getGroupCategoryId() == 22277); assertFalse(group.isPublic()); assertTrue(group.getMembersCount() == 2); assertTrue(group.getCourseId() == 969287); assertNull(group.getAvatarUrl()); //assertNull(group.getRole()); } @Test public void courseGroupsTest(){ Gson gson = CanvasRestAdapter.getGSONParser(); Group[] groupList = gson.fromJson(courseGroupsJSON, Group[].class); assertNotNull(groupList); Group group = groupList[0]; assertNotNull(group); assertNull(group.getDescription()); assertTrue(group.getGroupCategoryId() == 41559); assertTrue(group.getId() == 175540); assertFalse(group.isPublic()); assertTrue(group.getMembersCount() == 1); assertTrue(group.getCourseId() == 1272783); assertNull(group.getAvatarUrl()); assertNotNull(group.getRole()); } //Self group list //@GET("/users/self/groups") //void getFirstPageGroups(CanvasCallback<Group[]> callback); final String myGroupListJSON = "[\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 22277,\n" + "\"id\": 91885,\n" + "\"is_public\": false,\n" + "\"join_level\": \"invitation_only\",\n" + "\"max_membership\": null,\n" + "\"name\": \"g1\",\n" + "\"members_count\": 2,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 969287,\n" + "\"avatar_url\": null,\n" + "\"role\": null,\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 37586,\n" + "\"id\": 157240,\n" + "\"is_public\": false,\n" + "\"join_level\": \"invitation_only\",\n" + "\"max_membership\": null,\n" + "\"name\": \"Grp 3A, Child 1\",\n" + "\"members_count\": 3,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 1284055,\n" + "\"avatar_url\": null,\n" + "\"role\": null,\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 37524,\n" + "\"id\": 156814,\n" + "\"is_public\": false,\n" + "\"join_level\": \"parent_context_auto_join\",\n" + "\"max_membership\": null,\n" + "\"name\": \"Grp 3A, Student(s1) created\",\n" + "\"members_count\": 7,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 1284055,\n" + "\"avatar_url\": null,\n" + "\"role\": \"student_organized\",\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 37522,\n" + "\"id\": 156809,\n" + "\"is_public\": false,\n" + "\"join_level\": \"invitation_only\",\n" + "\"max_membership\": null,\n" + "\"name\": \"Grp 3A, Student(S2) Created Group\",\n" + "\"members_count\": 5,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 1274372,\n" + "\"avatar_url\": null,\n" + "\"role\": \"student_organized\",\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 22278,\n" + "\"id\": 92115,\n" + "\"is_public\": false,\n" + "\"join_level\": \"invitation_only\",\n" + "\"max_membership\": null,\n" + "\"name\": \"grp1\",\n" + "\"members_count\": 3,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 969287,\n" + "\"avatar_url\": null,\n" + "\"role\": null,\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 37456,\n" + "\"id\": 156198,\n" + "\"is_public\": false,\n" + "\"join_level\": \"invitation_only\",\n" + "\"max_membership\": null,\n" + "\"name\": \"Grp1 1A Child Set1\",\n" + "\"members_count\": 3,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 1284055,\n" + "\"avatar_url\": null,\n" + "\"role\": null,\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 18825,\n" + "\"id\": 76314,\n" + "\"is_public\": false,\n" + "\"join_level\": \"invitation_only\",\n" + "\"max_membership\": null,\n" + "\"name\": \"grp2 from ios topdown2 1\",\n" + "\"members_count\": 5,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 930387,\n" + "\"avatar_url\": null,\n" + "\"role\": null,\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 18553,\n" + "\"id\": 75152,\n" + "\"is_public\": false,\n" + "\"join_level\": \"invitation_only\",\n" + "\"max_membership\": null,\n" + "\"name\": \"IOS topdown2 grp1 1\",\n" + "\"members_count\": 3,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 930387,\n" + "\"avatar_url\": null,\n" + "\"role\": null,\n" + "\"leader\": null\n" + "}\n" + "]"; //Course Groups //@GET("/courses/{courseid}/groups") //void getFirstPageGroupsInCourse(@Path("courseid") long courseId, CanvasCallback<Group[]> callback); final String courseGroupsJSON = "[\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 41559,\n" + "\"id\": 175540,\n" + "\"is_public\": false,\n" + "\"join_level\": \"parent_context_auto_join\",\n" + "\"max_membership\": null,\n" + "\"name\": \"HODOR\",\n" + "\"members_count\": 1,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 1272783,\n" + "\"avatar_url\": null,\n" + "\"role\": \"student_organized\",\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 41559,\n" + "\"id\": 175541,\n" + "\"is_public\": false,\n" + "\"join_level\": \"parent_context_auto_join\",\n" + "\"max_membership\": null,\n" + "\"name\": \"Hodor??\",\n" + "\"members_count\": 1,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 1272783,\n" + "\"avatar_url\": null,\n" + "\"role\": \"student_organized\",\n" + "\"leader\": null\n" + "},\n" + "{\n" + "\"description\": null,\n" + "\"group_category_id\": 41559,\n" + "\"id\": 175539,\n" + "\"is_public\": false,\n" + "\"join_level\": \"parent_context_auto_join\",\n" + "\"max_membership\": null,\n" + "\"name\": \"Hodorrrrrr\",\n" + "\"members_count\": 1,\n" + "\"storage_quota_mb\": 50,\n" + "\"context_type\": \"Course\",\n" + "\"course_id\": 1272783,\n" + "\"avatar_url\": null,\n" + "\"role\": \"student_organized\",\n" + "\"leader\": null\n" + "}\n" + "]"; }