public void Test_0201_Refresh_no_ID() { this.LogIn(); KiiGroup group = Kii.Group("newGroup"); // set Response this.SetStandardRefreshResponse(); bool done = false; KiiGroup refreshedGroup = null; Exception refreshedException = null; group.Refresh((KiiGroup retGroup, Exception retExp) => { done = true; refreshedGroup = retGroup; refreshedException = retExp; }); Assert.IsTrue(done); Assert.IsNotNull(refreshedException); Assert.IsTrue(refreshedException is InvalidOperationException); Assert.IsNotNull(refreshedGroup); Assert.AreEqual("newGroup", refreshedGroup.Name); }
public void TestGetIDAfterSave() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; MockHttpClient client = factory.Client; // login client.AddResponse(200, "{" + "\"id\" : \"user1234\"," + "\"access_token\" : \"cdef\"," + "\"expires_in\" : 9223372036854775}"); KiiUser.LogIn("kii1234", "pass1234"); client.AddResponse(200, "{" + "\"groupID\" : \"dummyId\"" + "}"); KiiGroup group = Kii.Group("MyGroup"); group.Save(); Assert.AreEqual("dummyId", group.ID); Assert.AreEqual("MyGroup", group.Name); }
public void Test_GroupScopeAsync() { KiiGroup group = Kii.Group("test_group"); group.Save(); group.Topic("group_topic").Save(); CountDownLatch cd = new CountDownLatch(1); IList <KiiACLEntry <KiiTopic, TopicAction> > entries = null; Exception exception = null; KiiTopic topic = group.Topic("group_topic"); topic.ListAclEntries((IList <KiiACLEntry <KiiTopic, TopicAction> > result, Exception e) => { entries = result; exception = e; cd.Signal(); }); if (!cd.Wait(new TimeSpan(0, 0, 0, 20))) { Assert.Fail("Callback not fired."); } Assert.IsNull(exception); Assert.AreEqual(4, entries.Count); }
public void Test_0001_Save_server_error() { this.LogIn(); KiiGroup group = Kii.Group("testGroup"); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/user1234")); group.AddUser(user); // set Response client.AddResponse(new CloudException(400, "{ \"errorCode\" : \"INVALID_INPUT_DATA\", \"message\" : \"There are validation errors\", \"suppressed\" : [ ]}")); bool done = false; KiiGroup savedGroup = null; Exception savedException = null; group.Save((KiiGroup retGroup, Exception retExp) => { done = true; savedGroup = retGroup; savedException = retExp; }); Assert.IsTrue(done); Assert.IsNotNull(savedException); Assert.IsTrue(savedException is GroupOperationException); Assert.IsNotNull(savedGroup); Assert.AreEqual("testGroup", savedGroup.Name); }
public void Test_0402_ChangeName_no_id() { this.LogIn(); KiiGroup group = Kii.Group("groupName"); // set Response client.AddResponse(204, ""); bool done = false; KiiGroup changedGroup = null; Exception changedException = null; group.ChangeName("newGroupName", (KiiGroup retGroup, Exception retExp) => { done = true; changedGroup = retGroup; changedException = retExp; }); Assert.IsTrue(done); Assert.IsNotNull(changedException); Assert.IsTrue(changedException is InvalidOperationException); Assert.IsNotNull(changedGroup); Assert.AreEqual("groupName", changedGroup.Name); }
public void Test_0504_remove_member() { // Create test user for group owner string userID = TextUtils.generateUUID(); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/" + userID)); SDKTestHack.SetField(Kii.Instance, "mLoginUser", user); string authToken = TextUtils.generateUUID(); KiiCloudEngine.UpdateAccessToken(authToken); // Prepare group string groupName = TextUtils.randomAlphaNumeric(10); string groupID = TextUtils.randomAlphaNumeric(26); KiiGroup group = Kii.Group(groupName); SDKTestHack.SetField(group, "mId", groupID); SDKTestHack.SetField(group, "mOwnerId", userID); // Prepare KiiUser for member string memberID = TextUtils.generateUUID(); KiiUser member = KiiUser.CreateByUri(new Uri("kiicloud://users/" + memberID)); group.RemoveUser(member); // Check value HashSet <KiiUser> addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); HashSet <KiiUser> removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(0, addUsers.Count); Assert.AreEqual(1, removeUsers.Count); // Prepare mock response for adding user client.AddResponse(204, ""); // Save group group.Save(); // Verify request Assert.AreEqual(1, client.RequestUrl.Count); Assert.AreEqual(1, client.RequestHeader.Count); string requestUrl = AppUtil.getUrlOfSite(AppConst.APP_SITE, AppConst.APP_ID, "groups", groupID, "members", memberID); Assert.AreEqual(requestUrl, client.RequestUrl[0]); Assert.AreEqual("DELETE", client.RequestMethod[0].ToString()); IList <MockHttpHeaderList> headers = client.RequestHeader; Assert.AreEqual(AppConst.APP_ID, client.RequestHeader[0]["X-Kii-AppID"]); Assert.AreEqual(AppConst.APP_KEY, client.RequestHeader[0]["X-Kii-AppKey"]); Assert.AreEqual("Bearer " + authToken, client.RequestHeader[0]["Authorization"]); Assert.AreEqual(null, client.RequestBody[0]); // Verify Assert.AreEqual(groupID, group.ID); addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(0, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); }
public void Test_0002_Save_broken_json() { this.LogIn(); KiiGroup group = Kii.Group("testGroup"); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/user1234")); group.AddUser(user); // set Response client.AddResponse(200, "{}"); bool done = false; KiiGroup savedGroup = null; Exception savedException = null; group.Save((KiiGroup retGroup, Exception retExp) => { done = true; savedGroup = retGroup; savedException = retExp; }); Assert.IsTrue(done); Assert.IsNotNull(savedException); Assert.IsTrue(savedException is IllegalKiiBaseObjectFormatException); Assert.IsNotNull(savedGroup); Assert.AreEqual("testGroup", savedGroup.Name); }
public void Test_0101_ListMembers_NoID() { this.LogIn(); KiiGroup group = Kii.Group("newGroup"); // set Response this.SetStandardListResponse(); bool done = false; IList <KiiUser> listMembers = null; Exception listException = null; group.ListMembers((IList <KiiUser> retUserList, Exception retExp) => { done = true; listMembers = retUserList; listException = retExp; }); Assert.IsTrue(done); Assert.IsNotNull(listException); Assert.IsTrue(listException is InvalidOperationException); Assert.IsNull(listMembers); }
public void Test_0301_Delete_no_ID() { this.LogIn(); KiiGroup group = Kii.Group("newGroup"); // set Response client.AddResponse(204, ""); bool done = false; KiiGroup deletedGroup = null; Exception deletedException = null; group.Delete((KiiGroup retGroup, Exception retExp) => { done = true; deletedGroup = retGroup; deletedException = retExp; }); Assert.IsTrue(done); Assert.IsNotNull(deletedException); Assert.IsTrue(deletedException is InvalidOperationException); Assert.IsNotNull(deletedGroup); Assert.AreEqual("newGroup", deletedGroup.Name); }
public void Test_0000_Save() { this.LogIn(); KiiGroup group = Kii.Group("testGroup"); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/user1234")); group.AddUser(user); // set Response this.SetStandardSaveResponse(); bool done = false; KiiGroup savedGroup = null; Exception savedException = null; group.Save((KiiGroup retGroup, Exception retExp) => { done = true; savedGroup = retGroup; savedException = retExp; }); Assert.IsTrue(done); Assert.IsNull(savedException); Assert.AreEqual("0c4375c7-16f5-4ce6-9cd3-ec24bc0519e9", savedGroup.ID); }
public void Test_0403_Group_member_empty() { Kii.Initialize("ee573743", "5eb7b8bc1b4e4c98e659431c69cef8d4", Kii.Site.US); KiiGroup group = Kii.Group("group1", new List <KiiUser>()); Assert.AreEqual("group1", group.Name); }
public void Test_0402_Group_member_null() { Kii.Initialize("ee573743", "5eb7b8bc1b4e4c98e659431c69cef8d4", Kii.Site.US); KiiGroup group = Kii.Group("group1", null); Assert.AreEqual("group1", group.Name); }
public void Test_Non_Initialize_StorageAPI() { KiiUser user = null; KiiGroup group = null; KiiBucket bucket = null; KiiObject obj = null; try { // User Management user = KiiUser.BuilderWithName("hoge").Build(); user.Register("password"); Assert.Fail("InvalidOperationException isn't thrown"); } catch (InvalidOperationException e) { Assert.AreEqual(ErrorInfo.UTILS_KIICLIENT_NULL, e.Message); } try { bucket = Kii.Bucket("appbucket"); bucket.Delete(); Assert.Fail("InvalidOperationException isn't thrown"); } catch (InvalidOperationException e) { Assert.AreEqual(ErrorInfo.UTILS_KIICLIENT_NULL, e.Message); } try { obj = bucket.NewKiiObject(); obj.Save(); Assert.Fail("InvalidOperationException isn't thrown"); } catch (InvalidOperationException e) { Assert.AreEqual(ErrorInfo.UTILS_KIICLIENT_NULL, e.Message); } try { KiiQuery query = new KiiQuery(); bucket.Query(query); Assert.Fail("InvalidOperationException isn't thrown"); } catch (InvalidOperationException e) { Assert.AreEqual(ErrorInfo.UTILS_KIICLIENT_NULL, e.Message); } try { group = Kii.Group("myGroup"); group.Save(); Assert.Fail("InvalidOperationException isn't thrown"); } catch (InvalidOperationException e) { Assert.AreEqual(ErrorInfo.UTILS_KIICLIENT_NULL, e.Message); } }
public void Test_0401_Group_name_null() { Kii.Initialize("ee573743", "5eb7b8bc1b4e4c98e659431c69cef8d4", Kii.Site.US); List <KiiUser> members = new List <KiiUser>(); members.Add(KiiUser.CreateByUri(new Uri("kiicloud://users/abcd"))); members.Add(KiiUser.CreateByUri(new Uri("kiicloud://users/efgh"))); Kii.Group(null, members); }
private IEnumerator TestStep() { string username = StringUtils.RandomAlphabetic(20); string password = StringUtils.RandomAlphabetic(20); KiiUser user = KiiUser.BuilderWithName(username).Build(); var task = RegisterUser(user, password, (KiiUser u, Exception e) => { if (e != null) { throw new TestFailException(); } Debug.Log("Register user."); }); yield return(StartCoroutine(task)); // create group string groupname = StringUtils.RandomAlphabetic(20); KiiGroup group = Kii.Group(groupname); Exception exp = null; bool endFlag = false; KiiGroupCallback callback = (KiiGroup grp, Exception e) => { exp = e; endFlag = true; }; group.Save(callback); while (!endFlag) { yield return(new WaitForSeconds(1)); } if (exp != null) { throw new TestFailException(); } // refresh KiiGroup groupWithId = KiiGroup.GroupWithID(group.ID); exp = null; endFlag = false; groupWithId.Refresh(callback); while (!endFlag) { yield return(new WaitForSeconds(1)); } if (exp != null) { throw new TestFailException(); } if (!groupname.Equals(groupWithId.Name)) { throw new TestFailException(); } resultFlag = true; }
public void Test_0301_Delete_no_ID() { this.LogIn(); KiiGroup group = Kii.Group("newGroup"); // set Response client.AddResponse(204, ""); group.Delete(); }
public void Test_0201_Refresh_no_ID() { this.LogIn(); KiiGroup group = Kii.Group("newGroup"); // set Response this.SetStandardRefreshResponse(client); group.Refresh(); }
public void Test_0101_ListMembers_NoID() { this.LogIn(); KiiGroup group = Kii.Group("newGroup"); // set Response this.SetStandardListResponse(client); group.ListMembers(); }
public void Test_0402_ChangeName_no_id() { this.LogIn(); KiiGroup group = Kii.Group("groupName"); // set Response client.AddResponse(204, ""); group.ChangeName("newGroupName"); }
public void Test_0508_AddAndRemoveUser_null_KiiUser_instance() { // Prepare KiiUser for member KiiUser memberUser1 = KiiUser.CreateByUri(new Uri("kiicloud://users/" + TextUtils.generateUUID())); KiiUser memberUser2 = KiiUser.CreateByUri(new Uri("kiicloud://users/" + TextUtils.generateUUID())); KiiUser nullUser = null; // Prepare group string groupName = TextUtils.randomAlphaNumeric(10); string groupID = TextUtils.randomAlphaNumeric(26); KiiGroup group = Kii.Group(groupName); SDKTestHack.SetField(group, "mId", groupID); SDKTestHack.SetField(group, "mOwnerId", TextUtils.generateUUID()); group.AddUser(memberUser1); group.RemoveUser(memberUser2); // Check value HashSet <KiiUser> addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); HashSet <KiiUser> removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(1, addUsers.Count); Assert.AreEqual(1, removeUsers.Count); // Add user try { group.AddUser(nullUser); Assert.Fail("Should throw ArgumentException"); } catch (ArgumentException) { // Pass } // Check value addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(1, addUsers.Count); Assert.AreEqual(1, removeUsers.Count); // Remove user try { group.RemoveUser(nullUser); Assert.Fail("Should throw ArgumentException"); } catch (ArgumentException) { // Pass } // Check value addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(1, addUsers.Count); Assert.AreEqual(1, removeUsers.Count); }
public void Test_0400_Group() { Kii.Initialize("ee573743", "5eb7b8bc1b4e4c98e659431c69cef8d4", Kii.Site.US); List <KiiUser> members = new List <KiiUser>(); members.Add(KiiUser.CreateByUri(new Uri("kiicloud://users/abcd"))); members.Add(KiiUser.CreateByUri(new Uri("kiicloud://users/efgh"))); KiiGroup group = Kii.Group("group1", members); Assert.AreEqual("group1", group.Name); }
public void Test_GroupScope() { KiiGroup group = Kii.Group("test_group"); group.Save(); for (int i = 0; i < 51; i++) { group.Topic("user_topic" + i).Save(); } CountDownLatch cd = new CountDownLatch(1); KiiListResult <KiiTopic> topics = null; Exception exception = null; group.ListTopics((KiiListResult <KiiTopic> t, Exception e) => { topics = t; exception = e; cd.Signal(); }); if (!cd.Wait(new TimeSpan(0, 0, 0, 20))) { Assert.Fail("Callback not fired."); } Assert.IsNull(exception); Assert.IsTrue(topics.HasNext); Assert.IsNotNull(topics.PaginationKey); Assert.AreEqual(50, topics.Result.Count); string paginationKey = topics.PaginationKey; cd = new CountDownLatch(1); topics = null; exception = null; group.ListTopics(paginationKey, (KiiListResult <KiiTopic> t, Exception e) => { topics = t; exception = e; cd.Signal(); }); if (!cd.Wait(new TimeSpan(0, 0, 0, 20))) { Assert.Fail("Callback not fired."); } Assert.IsNull(exception); Assert.IsFalse(topics.HasNext); Assert.IsNull(topics.PaginationKey); Assert.AreEqual(1, topics.Result.Count); }
public void Test_0002_Save_broken_json() { this.LogIn(); KiiGroup group = Kii.Group("testGroup"); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/user1234")); group.AddUser(user); // set Response client.AddResponse(200, "{}"); group.Save(); }
public void Test_0001_Save_server_error() { this.LogIn(); KiiGroup group = Kii.Group("testGroup"); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/user1234")); group.AddUser(user); // set Response client.AddResponse(new CloudException(400, "{}")); group.Save(); }
public void Test_0000_Save() { this.LogIn(); KiiGroup group = Kii.Group("testGroup"); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/user1234")); group.AddUser(user); // set Response this.SetStandardSaveResponse(client); group.Save(); Assert.AreEqual("0c4375c7-16f5-4ce6-9cd3-ec24bc0519e9", group.ID); }
public void Test_0509_AddAndRemoveUser_notsaved_group() { // Prepare KiiUser for member KiiUser memberUser1 = KiiUser.CreateByUri(new Uri("kiicloud://users/" + TextUtils.generateUUID())); KiiUser memberUser2 = KiiUser.CreateByUri(new Uri("kiicloud://users/" + TextUtils.generateUUID())); // Prepare group string groupName = TextUtils.randomAlphaNumeric(10); string groupID = TextUtils.randomAlphaNumeric(26); KiiGroup group = Kii.Group(groupName); // Check value HashSet <KiiUser> addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); HashSet <KiiUser> removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(0, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); // Add user group.AddUser(memberUser1); // Check value addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(1, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); // Remove user group.RemoveUser(memberUser2); // Check value addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(1, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); // Remove user for user1 group.RemoveUser(memberUser1); // Check value addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(0, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); }
public void Test_GroupScopeNoIDASync() { LogIn("test-user-00001"); client.AddResponse(new UnauthorizedException("", null, "")); CountDownLatch cd = new CountDownLatch(1); KiiListResult <KiiTopic> topics = null; Exception exception = null; Kii.Group("group").ListTopics((KiiListResult <KiiTopic> t, Exception e) => { topics = t; exception = e; cd.Signal(); }); if (!cd.Wait(new TimeSpan(0, 0, 0, 3))) { Assert.Fail("Callback not fired."); } Assert.IsNull(topics); Assert.IsNotNull(exception); Assert.IsInstanceOfType(typeof(InvalidOperationException), exception); }
public void Test_0101_RemoveMyself_FromGroupMember() { // Create KiiUser for group member long milliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; string memberName = "kiiGroupMember-" + milliseconds; KiiUser member = KiiUser.BuilderWithName(memberName).Build(); member.Register("pass1234"); string memberToken = KiiUser.AccessToken; // Create KiiUser for group member string ownerName = "kiiGroupOwner-" + milliseconds; KiiUser owner = KiiUser.BuilderWithName(ownerName).Build(); owner.Register("pass1234"); // Create group KiiGroup group = Kii.Group("testGroup"); // Add member and save group.AddUser(member); group.Save(); // Auth as member KiiUser.LogOut(); KiiUser.LoginWithToken(memberToken); // Try to remove myself from the group group.RemoveUser(KiiUser.CurrentUser); group.Save(); // Check value HashSet <KiiUser> addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); HashSet <KiiUser> removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(0, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); }
public void Test_GroupScope() { KiiGroup group = Kii.Group("test_group"); group.Save(); group.Topic("group_topic").Save(); CountDownLatch cd = new CountDownLatch(1); bool? existence = null; Exception exception = null; group.Topic("group_topic").Exists((bool?result, Exception e) => { exception = e; existence = result; cd.Signal(); return; }); if (!cd.Wait(new TimeSpan(0, 0, 0, 20))) { Assert.Fail("Callback not fired."); } Assert.IsNull(exception); Assert.IsTrue(existence.Value); }
public void Test_0502_CreateGroup_with_member() { // Create test user for group owner string userID = TextUtils.generateUUID(); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/" + userID)); SDKTestHack.SetField(Kii.Instance, "mLoginUser", user); string authToken = TextUtils.generateUUID(); KiiCloudEngine.UpdateAccessToken(authToken); // Prepare KiiUser for member string memberID = TextUtils.generateUUID(); KiiUser member = KiiUser.CreateByUri(new Uri("kiicloud://users/" + memberID)); // Prepare group string groupName = TextUtils.randomAlphaNumeric(10); KiiGroup group = Kii.Group(groupName, new List <KiiUser>() { member }); // Check value HashSet <KiiUser> addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); HashSet <KiiUser> removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(1, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); // Prepare mock response for creating group string groupID = TextUtils.randomAlphaNumeric(26); JsonObject resEntity = new JsonObject(new Dictionary <string, object>() { { "groupID", groupID }, { "notFoundUsers", new JsonArray() } }); client.AddResponse(201, resEntity.ToString()); // Save group group.Save(); // Verify request Assert.AreEqual(1, client.RequestUrl.Count); Assert.AreEqual(1, client.RequestHeader.Count); string requestUrl = AppUtil.getUrlOfSite(AppConst.APP_SITE, AppConst.APP_ID, "groups"); Assert.AreEqual(requestUrl, client.RequestUrl[0]); Assert.AreEqual("POST", client.RequestMethod[0].ToString()); IList <MockHttpHeaderList> headers = client.RequestHeader; Assert.AreEqual(AppConst.APP_ID, client.RequestHeader[0]["X-Kii-AppID"]); Assert.AreEqual(AppConst.APP_KEY, client.RequestHeader[0]["X-Kii-AppKey"]); Assert.AreEqual("Bearer " + authToken, client.RequestHeader[0]["Authorization"]); JsonObject requestBody = new JsonObject(client.RequestBody[0]); Assert.AreEqual(3, requestBody.Length()); Assert.AreEqual(groupName, requestBody.GetString("name")); Assert.AreEqual(userID, requestBody.GetString("owner")); Assert.AreEqual(1, requestBody.GetJsonArray("members").Length()); Assert.AreEqual(memberID, requestBody.GetJsonArray("members").GetString(0)); // Verify Assert.AreEqual(groupID, group.ID); Assert.AreEqual(user.ID, group.Owner.ID); addUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "addUsers"); removeUsers = (HashSet <KiiUser>)SDKTestHack.GetField(group, "removeUsers"); Assert.AreEqual(0, addUsers.Count); Assert.AreEqual(0, removeUsers.Count); }