public void Test_0120_Save_Update_No_Overwrite() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set response MockHttpClient client = factory.Client; this.SetStandardSaveResponse(client); KiiObject obj = Kii.Bucket("test").NewKiiObject(); obj["name"] = "Kii"; obj["age"] = 18; obj.Save(); Assert.AreEqual("d8dc9f29-0fb9-48be-a80c-ec60fddedb54", obj.ID); Assert.AreEqual(1337039114613, obj.CreatedTime); Assert.AreEqual(1337039114613, obj.ModifedTime); // update obj["age"] = 19; // set Response client.AddResponse(200, "{\"modifiedAt\": 3456}"); obj.SaveAllFields(false); Assert.AreEqual(1337039114613, obj.CreatedTime); Assert.AreEqual(3456, obj.ModifedTime); }
public void Test_0202_Delete_server_error() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set response MockHttpClient client = factory.Client; this.SetStandardSaveResponse(client); KiiObject obj = Kii.Bucket("test").NewKiiObject(); obj["name"] = "Kii"; obj["age"] = 18; obj.Save(); Assert.AreEqual("d8dc9f29-0fb9-48be-a80c-ec60fddedb54", obj.ID); Assert.AreEqual(1337039114613, obj.CreatedTime); Assert.AreEqual(1337039114613, obj.ModifedTime); // set Response client.AddResponse(new CloudException(404, "{}")); obj.Delete(); }
public void Test_1_3_DeleteBody_body_not_exists() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set response MockHttpClient client = factory.Client; client.AddResponse(new NotFoundException("object body not found", null, "{}", NotFoundException.Reason.OBJECT_BODY_NOT_FOUND)); KiiObject obj = KiiObject.CreateByUri(new Uri("kiicloud://buckets/images/objects/object1234")); NotFoundException exp = null; try { obj.DeleteBody(); } catch (NotFoundException e) { exp = e; } Assert.IsNotNull(exp); Assert.AreEqual(NotFoundException.Reason.OBJECT_BODY_NOT_FOUND, exp.reason); }
public void Test_0200_Delete() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set response MockHttpClient client = factory.Client; this.SetStandardSaveResponse(client); KiiObject obj = Kii.Bucket("test").NewKiiObject(); obj["name"] = "Kii"; obj["age"] = 18; obj.Save(); Assert.AreEqual("d8dc9f29-0fb9-48be-a80c-ec60fddedb54", obj.ID); Assert.AreEqual(1337039114613, obj.CreatedTime); Assert.AreEqual(1337039114613, obj.ModifedTime); // set body content-type SDKTestHack.SetField(obj, "mBodyContentType", "text/plain"); // set Response client.AddResponse(204, ""); obj.Delete(); Assert.AreEqual(-1, obj.CreatedTime); Assert.AreEqual(-1, obj.ModifedTime); Assert.AreEqual(null, obj.Uri); Assert.IsNull(obj.BodyContentType); }
public void Test_0003_Save_2times() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set response MockHttpClient client = factory.Client; this.SetStandardSaveResponse(client); KiiObject obj = Kii.Bucket("test").NewKiiObject(); obj["name"] = "Kii"; obj["age"] = 18; obj.Save(); Assert.AreEqual("d8dc9f29-0fb9-48be-a80c-ec60fddedb54", obj.ID); Assert.AreEqual(1337039114613, obj.CreatedTime); Assert.AreEqual(1337039114613, obj.ModifedTime); // clear stub client.RequestBody.Clear(); // set Response client.AddResponse(200, "{\"_created\": 1234,\"_modified\": 3456}"); obj["score"] = 80; obj.Save(); Assert.AreEqual("{\"score\":80}", client.RequestBody[0]); }
public void Test_LoginWithLocalPhone_With_TokenExpiration() { Kii.Initialize(APP_ID, APP_KEY, Kii.Site.US); // mock http client MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; MockHttpClient client = factory.Client; // set login response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"access_token\" : \"dummyToken\"," + "\"expires_in\" : 3600" + "}"); // set refresh response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"username\" : \"PHONE: JP-123456\"" + "}"); // set access token expiration Kii.AccessTokenExpiration = 3600; Assert.AreEqual(3600, Kii.AccessTokenExpiration); // perform login. Assert.IsNull(KiiUser.CurrentUser); KiiUser.LogInWithLocalPhone("123456", "111111", "JP"); Assert.IsNotNull(KiiUser.CurrentUser); IDictionary tokenBundle = KiiUser.CurrentUser.GetAccessTokenDictionary(); Assert.AreEqual("dummyToken", tokenBundle["access_token"]); DateTime expiresAt = (DateTime)tokenBundle["expires_at"]; Assert.IsTrue(DateTime.Compare(expiresAt, DateTime.UtcNow) > 0); // verify login request string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "oauth2", "token"); Assert.AreEqual(url, client.RequestUrl[0]); Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod[0]); MockHttpHeaderList headerList = client.RequestHeader[0]; Assert.AreEqual(APP_ID, headerList["X-Kii-AppID"]); Assert.AreEqual(APP_KEY, headerList["X-Kii-AppKey"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); // verify body. JsonObject requestBody = new JsonObject(client.RequestBody[0]); Assert.AreEqual(3, requestBody.Length()); Assert.AreEqual("PHONE:JP-123456", requestBody.GetString("username")); Assert.AreEqual("111111", requestBody.GetString("password")); Assert.IsTrue(requestBody.GetLong("expiresAt") >= CurrentTimeMillis()); }
public void Test_Login_With_TokenExpiration_Negative() { Kii.Initialize(APP_ID, APP_KEY, Kii.Site.US); // mock http client MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; MockHttpClient client = factory.Client; // set login response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"access_token\" : \"dummyToken\"," + "\"expires_in\" : -9223372036854775" + "}"); // set refresh response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"username\" : \"dummyUser\"" + "}"); // set access token expiration to negative FieldInfo fieldInfo = typeof(Kii).GetField("INSTANCE", BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); Kii kii = (Kii)fieldInfo.GetValue(null); SDKTestHack.SetField(kii, "mAccessTokenExpiration", -1L); Assert.AreEqual(-1L, Kii.AccessTokenExpiration); // perform login. Assert.IsNull(KiiUser.CurrentUser); KiiUser.LogIn("dummyUser", "111111"); Assert.IsNotNull(KiiUser.CurrentUser); IDictionary tokenBundle = KiiUser.CurrentUser.GetAccessTokenDictionary(); Assert.AreEqual("dummyToken", tokenBundle["access_token"]); Assert.AreEqual(DateTime.MinValue, tokenBundle["expires_at"]); // verify login request string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "oauth2", "token"); Assert.AreEqual(url, client.RequestUrl[0]); Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod[0]); MockHttpHeaderList headerList = client.RequestHeader[0]; Assert.AreEqual(APP_ID, headerList["X-Kii-AppID"]); Assert.AreEqual(APP_KEY, headerList["X-Kii-AppKey"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); // verify body. JsonObject requestBody = new JsonObject(client.RequestBody[0]); Assert.AreEqual(2, requestBody.Length()); Assert.AreEqual("dummyUser", requestBody.GetString("username")); Assert.AreEqual("111111", requestBody.GetString("password")); }
public void SetUp() { Kii.Initialize(AppConst.APP_ID, AppConst.APP_KEY, AppConst.APP_SITE); KiiUser user = KiiUser.UserWithID("user1234"); SDKTestHack.SetField(Kii.Instance, "mLoginUser", user); KiiCloudEngine.UpdateAccessToken("token1234"); }
public void SetUp() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; client = (MockHttpClient)factory.Client; }
public void Test_LoginWithTokenAndExpiresAt_Async_TokenNull() { Kii.Initialize(APP_ID, APP_KEY, Kii.Site.US); KiiUser.LoginWithToken(null, DateTime.MaxValue, (KiiUser user, Exception e) => { // do nothing. }); Assert.Fail("Exception has not thrown."); }
public void Test_remove_KiiObject() { // Do initialize Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // Set response MockHttpClient client = factory.Client; this.SetStandardSaveResponse(client); // Set KiiObject KiiObject obj = Kii.Bucket("test").NewKiiObject(); obj["name"] = "Kii"; obj["age"] = 18; // Do save obj.Save(); // Assert Assert.AreEqual("d8dc9f29-0fb9-48be-a80c-ec60fddedb54", obj.ID); Assert.AreEqual(1337039114613, obj.CreatedTime); Assert.AreEqual(1337039114613, obj.ModifedTime); // Set response this.SetStandardRefreshResponse(client); // Create and refresh KiiObject from URI KiiObject obj2 = KiiObject.CreateByUri(obj.Uri); obj2.Refresh(); // Assert Assert.IsTrue(obj2.Has("name")); Assert.AreEqual("Kii", obj2.GetString("name")); Assert.IsTrue(obj2.Has("age")); Assert.AreEqual(18, obj2.GetInt("age")); // Remove age key obj2.Remove("age"); // Assert Assert.IsTrue(obj2.Has("name")); Assert.AreEqual("Kii", obj2.GetString("name")); Assert.IsFalse(obj2.Has("age")); // Remove age key once more obj2.Remove("age"); // Assert Assert.IsTrue(obj2.Has("name")); Assert.AreEqual("Kii", obj2.GetString("name")); Assert.IsFalse(obj2.Has("age")); }
public void Test_LoginWithFacebookToken_With_TokenExpiration_MaxLong() { Kii.Initialize(APP_ID, APP_KEY, Kii.Site.US); // mock http client MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; MockHttpClient client = factory.Client; // set login response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"access_token\" : \"dummyToken\"," + "\"expires_in\" : 9223372036854775," + "\"new_user_created\" : false" + "}"); // set refresh response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"username\" : \"dummyUser\"" + "}"); // set access token expiration Kii.AccessTokenExpiration = long.MaxValue; Assert.AreEqual(long.MaxValue, Kii.AccessTokenExpiration); // perform login. Assert.IsNull(KiiUser.CurrentUser); KiiUser.LoginWithFacebookToken("dummyFbToken"); Assert.IsNotNull(KiiUser.CurrentUser); IDictionary tokenBundle = KiiUser.CurrentUser.GetAccessTokenDictionary(); Assert.AreEqual("dummyToken", tokenBundle["access_token"]); Assert.AreEqual(DateTime.MaxValue, (DateTime)tokenBundle["expires_at"]); // verify login request string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "apps", APP_ID, "integration", "facebook"); Assert.AreEqual(url, client.RequestUrl[0]); Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod[0]); MockHttpHeaderList headerList = client.RequestHeader[0]; Assert.AreEqual(APP_ID, headerList["X-Kii-AppID"]); Assert.AreEqual(APP_KEY, headerList["X-Kii-AppKey"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); // verify body. JsonObject requestBody = new JsonObject(client.RequestBody[0]); Assert.AreEqual(2, requestBody.Length()); Assert.AreEqual("dummyFbToken", requestBody.GetString("accessToken")); Assert.AreEqual(DateTimeMaxToUnixTimeMillis(), requestBody.GetLong("expiresAt")); }
public void Test_0304_Uri_GroupScope_endWith_shash() { Kii.Initialize("abbId", "appKey", Kii.Site.JP); KiiGroup group = KiiGroup.CreateByUri(new Uri("kiicloud://groups/group1234/")); KiiBucket bucket = group.Bucket("name1234"); Assert.AreEqual("kiicloud://groups/group1234/buckets/name1234", bucket.Uri.ToString()); }
public void Test_0302_Uri_UserScope_endWith_slash() { Kii.Initialize("abbId", "appKey", Kii.Site.JP); KiiUser user = KiiUser.CreateByUri(new Uri("kiicloud://users/user1234/")); KiiBucket bucket = user.Bucket("name1234"); Assert.AreEqual("kiicloud://users/user1234/buckets/name1234", bucket.Uri.ToString()); }
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); }
public void Test_LoginWithTokenAndExpiresAt_Async() { Kii.Initialize(APP_ID, APP_KEY, Kii.Site.US); // mock http client MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = factory; MockHttpClient client = factory.Client; // set refresh response client.AddResponse(200, "{" + "\"userID\" : \"dummyID\"," + "\"loginName\" : \"dummyUser\"" + "}"); // perform login. Assert.IsNull(KiiUser.CurrentUser); DateTime expiresAt = DateTime.UtcNow; CountDownLatch cd = new CountDownLatch(1); KiiUser loggedInUser = null; Exception exp = null; KiiUser.LoginWithToken("dummyToken", expiresAt, (KiiUser user, Exception e) => { loggedInUser = user; exp = e; cd.Signal(); }); if (!cd.Wait()) { Assert.Fail("Callback has not called."); } Assert.IsNull(exp); Assert.IsNotNull(loggedInUser); Assert.IsNotNull(KiiUser.CurrentUser); Assert.AreEqual(loggedInUser, KiiUser.CurrentUser); // verify token dictionary Dictionary <string, object> tokenBundle = KiiUser.CurrentUser.GetAccessTokenDictionary(); Assert.AreEqual("dummyToken", tokenBundle["access_token"]); Assert.AreEqual(expiresAt, tokenBundle["expires_at"]); // verify refresh request string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "apps", APP_ID, "users", "me"); Assert.AreEqual(url, client.RequestUrl[0]); Assert.AreEqual(KiiHttpMethod.GET, client.RequestMethod[0]); MockHttpHeaderList headerList = client.RequestHeader[0]; Assert.AreEqual(APP_ID, headerList["X-Kii-AppID"]); Assert.AreEqual(APP_KEY, headerList["X-Kii-AppKey"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); }
public void SetUp() { Kii.Initialize(AppConst.APP_ID, AppConst.APP_KEY, AppConst.APP_SITE); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; client = (MockHttpClient)factory.Client; }
public void Test_3_15_CreateWithNoId_InCloud_NoPatch_NotOverwrite_EtagNotMatch() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set response MockHttpClient client = factory.Client; client.AddResponse(201, "{\"objectID\" : \"abcd-1234\", \"createdAt\" : 1, \"modifiedAt\" : 1}", "1"); KiiObject obj = Kii.Bucket("test").NewKiiObject(); obj["key"] = "value"; obj.SaveAllFields(false); Assert.AreEqual("abcd-1234", obj.ID); Assert.AreEqual(1, obj.CreatedTime); Assert.AreEqual(1, obj.ModifedTime); // server send error response (assume object already updated in server side) string mockResponseBody = "{\"errorCode\" : \"OBJECT_VERSION_IN_STALE\"}"; client.AddResponse(new CloudException(409, mockResponseBody)); obj["key1"] = "value1"; CloudException exp = null; try { obj.SaveAllFields(false); Assert.Fail("Exception not thrown"); } catch (CloudException e) { exp = e; } Assert.IsNotNull(exp); Assert.AreEqual(409, exp.Status); Assert.AreEqual(mockResponseBody, exp.Body); // request contains if-match string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "apps", "appId", "buckets", "test", "objects", "abcd-1234"); Assert.AreEqual(url, client.RequestUrl[1]); Assert.AreEqual(KiiHttpMethod.PUT, client.RequestMethod[1]); MockHttpHeaderList headerList = client.RequestHeader[1]; Assert.AreEqual("appId", headerList["X-Kii-AppID"]); Assert.AreEqual("appKey", headerList["X-Kii-AppKey"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); Assert.AreEqual("1", headerList["If-Match"]); string reqBody = "{ \"key\" : \"value\", \"key1\" : \"value1\"}"; JsonObject expectedBodyJson = new JsonObject(reqBody); JsonObject actualBodyJson = new JsonObject(client.RequestBody[1]); KiiAssertion.AssertJson(expectedBodyJson, actualBodyJson); }
public void SetUp() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory mockFactory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = mockFactory; mockClient = mockFactory.Client; }
public void SetUp() { Kii.Initialize(AppID, AppKey, Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; Kii.AsyncHttpClientFactory = factory; client = (MockHttpClient)factory.Client; LogIn(Guid.NewGuid().ToString()); }
public void Test_GetAccessTokenDictionary_WhenUserIsNotLoggedIn() { Kii.Initialize(APP_ID, APP_KEY, Kii.Site.US); KiiUser user = KiiUser.BuilderWithName("dummyName").Build(); Assert.IsNull(KiiUser.CurrentUser); IDictionary dict = user.GetAccessTokenDictionary(); Assert.IsNull(dict); }
public override void SetUp() { EUApp app = new EUApp(); Kii.Initialize(app.AppId, app.AppKey, app.BaseUrl); Kii.Logger = new TestLogger(); string uname = "Test-" + CurrentTimeMillis(); AppUtil.CreateNewUser(uname, "password"); }
public void Test_4_20_CreateWithQuery_InCloud_Patch_NotOverwrite_EtagMatch() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set response MockHttpClient client = factory.Client; client.AddResponse(201, "{" + "\"results\" : [" + "{" + "\"_created\" : 1," + "\"_modified\" : 1," + "\"key\" : \"value\"," + "\"_id\" : \"abcd-1234\"," + "\"_version\" : \"1\" " + "}]" + "}"); KiiQueryResult <KiiObject> result = Kii.Bucket("test").Query(null); Assert.AreEqual(1, result.Count); KiiObject obj = result[0]; client.AddResponse(201, "{\"_created\" : 1, \"_modified\" : 1, \"_id\" : \"abcd-1234\"}", "1"); obj["key1"] = "value1"; obj.Save(false); Assert.AreEqual("abcd-1234", obj.ID); Assert.AreEqual(1, obj.CreatedTime); Assert.AreEqual(1, obj.ModifedTime); string etag = (string)SDKTestHack.GetField(obj, "mEtag"); Assert.AreEqual("1", etag); // check request string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "apps", "appId", "buckets", "test", "objects", "abcd-1234"); Assert.AreEqual(url, client.RequestUrl[1]); Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod[1]); MockHttpHeaderList headerList = client.RequestHeader[1]; Assert.AreEqual("appId", headerList["X-Kii-AppID"]); Assert.AreEqual("appKey", headerList["X-Kii-AppKey"]); Assert.AreEqual("1", headerList["If-Match"]); Assert.AreEqual("PATCH", headerList["X-HTTP-Method-Override"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); Assert.AreEqual("1", headerList["If-Match"]); string reqBody = "{\"key1\" : \"value1\"}"; JsonObject expectedBodyJson = new JsonObject(reqBody); JsonObject actualBodyJson = new JsonObject(client.RequestBody[1]); KiiAssertion.AssertJson(expectedBodyJson, actualBodyJson); }
public void Test_Login_Without_TokenExpiration() { Kii.Initialize(APP_ID, APP_KEY, Kii.Site.US); // mock http client MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; MockHttpClient client = factory.Client; // set login response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"access_token\" : \"dummyToken\"," + "\"expires_in\" : 9223372036854775" + "}"); // set refresh response client.AddResponse(200, "{" + "\"id\" : \"efgh\"," + "\"username\" : \"dummyUser\"" + "}"); // check expiresIn set to default. Assert.AreEqual(0, Kii.AccessTokenExpiration); // perform login. Assert.IsNull(KiiUser.CurrentUser); KiiUser.LogIn("dummyUser", "111111"); Assert.IsNotNull(KiiUser.CurrentUser); IDictionary tokenBundle = KiiUser.CurrentUser.GetAccessTokenDictionary(); Assert.AreEqual("dummyToken", tokenBundle["access_token"]); Assert.AreEqual(DateTime.MaxValue, tokenBundle["expires_at"]); // verify login request string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "oauth2", "token"); Assert.AreEqual(url, client.RequestUrl[0]); Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod[0]); MockHttpHeaderList headerList = client.RequestHeader[0]; Assert.AreEqual(APP_ID, headerList["X-Kii-AppID"]); Assert.AreEqual(APP_KEY, headerList["X-Kii-AppKey"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); // verify body. JsonObject requestBody = new JsonObject(client.RequestBody[0]); Assert.AreEqual(2, requestBody.Length()); Assert.AreEqual("dummyUser", requestBody.GetString("username")); Assert.AreEqual("111111", requestBody.GetString("password")); }
public void Test_2_22_CreateWithUri_InCloud_Patch_Overwrite_EtagNone() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; string objId = "abcd-1234"; // prepare response MockHttpClient client = factory.Client; client.AddResponse(201, "{\"createdAt\" : 1, \"modifiedAt\" : 1}", "1"); // save object to cloud KiiObject obj = KiiObject.CreateByUri(new Uri("kiicloud://buckets/test/objects/" + objId)); obj["key"] = "value"; obj.SaveAllFields(true); Assert.AreEqual("abcd-1234", obj.ID); Assert.AreEqual(1, obj.CreatedTime); Assert.AreEqual(1, obj.ModifedTime); string etag = (string)SDKTestHack.GetField(obj, "mEtag"); Assert.AreEqual("1", etag); // set etag to null SDKTestHack.SetField(obj, "mEtag", null); client.AddResponse(201, "{\"_created\" : 1, \"_modified\" : 1}"); obj["key1"] = "value1"; // object save successfully as Overwrite is true. obj.Save(true); Assert.AreEqual("abcd-1234", obj.ID); Assert.AreEqual(1, obj.CreatedTime); Assert.AreEqual(1, obj.ModifedTime); // request contains x-http-method-override string url = Utils.Path(ConstantValues.DEFAULT_BASE_URL, "apps", "appId", "buckets", "test", "objects", objId); Assert.AreEqual(url, client.RequestUrl[1]); Assert.AreEqual(KiiHttpMethod.POST, client.RequestMethod[1]); MockHttpHeaderList headerList = client.RequestHeader[1]; Assert.AreEqual("appId", headerList["X-Kii-AppID"]); Assert.AreEqual("appKey", headerList["X-Kii-AppKey"]); Assert.IsTrue(headerList["X-Kii-SDK"].StartsWith("sn=cs;sv=")); Assert.AreEqual("PATCH", headerList["X-HTTP-Method-Override"]); string reqBody = "{\"key1\" : \"value1\"}"; JsonObject expectedBodyJson = new JsonObject(reqBody); JsonObject actualBodyJson = new JsonObject(client.RequestBody[1]); KiiAssertion.AssertJson(expectedBodyJson, actualBodyJson); }
public void SetUp() { Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = factory; MockHttpClient client = factory.Client; client.AddResponse(200, null); }
public void SetUp() { Kii.Initialize("appId", "appKey", Kii.Site.US); // This test is Unit test so we use blocking mock client MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = factory; client = factory.Client; }
public void SetUp() { Kii.Instance = null; Kii.Initialize("appId", "appKey", Kii.Site.US); MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = factory; client = factory.Client; }
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_0103_initialize_url_invalid() { try { Kii.Initialize("ee573743", "5eb7b8bc1b4e4c98e659431c69cef8d4", "hogehoge"); Assert.Fail("ArgumentException must be thrown"); } catch (ArgumentException e) { Assert.IsNull(Kii.Instance); } }