public void Test_1_6_Upload_NullCallback() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent ev = KiiAnalytics.NewEvent("type1"); ev["page"] = 1; ev["label"] = "OK"; Assert.IsFalse(ev.Sent); // set mock MockHttpClientFactory factory = new MockHttpClientFactory(); KiiAnalytics.AsyncHttpClientFactory = factory; MockHttpClient client = factory.Client; client.AddResponse(204, ""); // async upload KiiEventCallback callback = null; KiiAnalytics.Upload(callback, ev); // verify event uploaded Assert.IsTrue(ev.Sent); }
public void Test_0304_Upload_float_min() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent ev = KiiAnalytics.NewEvent("type1"); ev["page"] = float.MinValue; ev["label"] = "OK"; // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(204, ""); KiiAnalytics.Upload(ev); Assert.AreEqual("https://api-jp.kii.com/api/apps/appID004/events", client.RequestUrl[0]); Assert.AreEqual("application/vnd.kii.EventRecordList+json", client.RequestContentType[0]); JsonArray array = new JsonArray(client.RequestBody[0]); JsonObject json = array.GetJsonObject(0); int count = ToCount(json.Keys()); Assert.AreEqual(6, count); Assert.AreEqual(float.MinValue, json.GetDouble("page")); Assert.AreEqual("OK", json.GetString("label")); Assert.AreEqual("dev004", json.GetString("_deviceID")); Assert.AreEqual("type1", json.GetString("_type")); Assert.IsTrue(json.Has("_triggeredAt")); Assert.IsTrue(json.Has("_uploadedAt")); }
public void SetUp() { BaseApp app = new AnalyticsResultApp(); KiiAnalytics.Instance = null; KiiAnalytics.Initialize(app.AppId, app.AppKey, app.BaseUrl, "dev004"); }
public void Test_0311_Upload_null() { KiiAnalytics.Initialize("appID005", "appKey", KiiAnalytics.Site.JP, "dev005"); KiiEvent ev = null; KiiAnalytics.Upload(ev); }
public void Test_0336_Upload_Partial_broken_json_3() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent[] events = CreateEvents(); // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(200, "{" + "\"errorCode\" : \"PARTIAL_SUCCESS\"," + "\"message\" : \"There are some errors in event data\"," + "\"invalidEvents\" : [ \"not Json\"]}"); try { KiiAnalytics.Upload(events); Assert.Fail("Exception must be thrown"); } catch (EventUploadException e) { Assert.AreEqual(0, e.ErrorEvents.Count); } }
public void Test_0337_Upload_Partial_broken_json_4() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent[] events = CreateEvents(); // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(200, "{" + "\"errorCode\" : \"PARTIAL_SUCCESS\"," + "\"message\" : \"There are some errors in event data\"," + "\"invalidEvents\" : [ {" + "\"index\" : \"not number\"," + "\"errorDetails\" : [ {" + "\"fieldName\" : \"_uploadedAt\"," + "\"errorCode\" : \"UPLOADED_AT_MISSING\"," + "\"message\" : \"You must provide event upload time\"}]" + "}]" + "}"); try { KiiAnalytics.Upload(events); Assert.Fail("Exception must be thrown"); } catch (EventUploadException e) { Assert.AreEqual(0, e.ErrorEvents.Count); } }
public void SetUp() { KiiAnalytics.Instance = null; KiiAnalytics.Initialize("appId", "appKey", KiiAnalytics.Site.US, "dev001"); KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; }
public void Test_1_5_Upload_AllEvents_AlreadySent() { KiiAnalytics.Initialize("appID005", "appKey", KiiAnalytics.Site.JP, "dev005"); KiiEvent ev = KiiAnalytics.NewEvent("type1"); ev.Sent = true; KiiAnalytics.Upload((Exception e) => {}, new KiiEvent[] { ev, null }); }
public void Test_0311_Upload_null_2() { KiiAnalytics.Initialize("appID005", "appKey", KiiAnalytics.Site.JP, "dev005"); KiiEvent ev1 = KiiAnalytics.NewEvent("type1"); ev1["page"] = 1; ev1["label"] = "OK"; KiiAnalytics.Upload(ev1, null); }
public void Test_0103_Initialize_serverUrl_invalid() { try { KiiAnalytics.Initialize("appID002", "appKey", "hogehoge", "dev002"); Assert.Fail("ArgumentException must be thrown"); } catch (ArgumentException e) { Assert.IsNull(Kii.Instance); } }
public void Test_0334_Upload_Partial_broken_json_1() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent[] events = CreateEvents(); // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(200, "broken"); KiiAnalytics.Upload(events); }
public void Test_1_9_Upload_FailByCloudException() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent[] events = CreateEvents(); // set mock MockHttpClientFactory factory = new MockHttpClientFactory(); KiiAnalytics.AsyncHttpClientFactory = factory; MockHttpClient client = factory.Client; client.AddResponse(new CloudException(400, "")); // async upload Exception exp = null; CountDownLatch cd = new CountDownLatch(1); KiiAnalytics.Upload((Exception e) => { exp = e; cd.Signal(); }, events); if (!cd.Wait(new TimeSpan(0, 0, 0, 3))) { Assert.Fail("Callback not fired."); } Assert.NotNull(exp); Assert.That(exp, Is.InstanceOf <EventUploadException> ()); EventUploadException ue = (EventUploadException)exp; IList <KiiEvent> errorList = ue.ErrorEvents; Assert.IsFalse(events [0].Sent); Assert.IsFalse(events [1].Sent); Assert.IsFalse(events [2].Sent); Assert.AreEqual(3, errorList.Count); KiiEvent error1 = errorList [0]; Assert.AreEqual(1, error1 ["page"]); Assert.AreEqual("OK", error1 ["label"]); KiiEvent error2 = errorList [1]; Assert.AreEqual(2, error2 ["page"]); Assert.AreEqual("Cancel", error2 ["label"]); KiiEvent error3 = errorList [2]; Assert.AreEqual(3, error3 ["page"]); Assert.AreEqual("Next", error3 ["label"]); }
public void Test_0314_Upload_51() { KiiAnalytics.Initialize("appID005", "appKey", KiiAnalytics.Site.JP, "dev005"); KiiEvent[] eventList = new KiiEvent[51]; for (int i = 0; i < eventList.Length; ++i) { KiiEvent ev = KiiAnalytics.NewEvent("type1"); ev["page"] = i; eventList[i] = ev; } KiiAnalytics.Upload(eventList); }
public void Test_0000_Initialize_CN() { KiiAnalytics.Initialize("appId", "appKey", KiiAnalytics.Site.CN, "dev001"); KiiEvent ev = KiiAnalytics.NewEvent("type"); // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(204, ""); KiiAnalytics.Upload(ev); Assert.AreEqual("https://api-cn2.kii.com/api/apps/appId/events", client.RequestUrl[0]); }
public void Test_0320_Upload_sent() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent ev = KiiAnalytics.NewEvent("type1"); ev["page"] = 1; ev["label"] = "OK"; // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(204, ""); KiiAnalytics.Upload(ev); // set sent event KiiAnalytics.Upload(ev); }
public void Test_1_7_Upload() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent ev = KiiAnalytics.NewEvent("type1"); ev["page"] = 1; ev["label"] = "OK"; // set mock MockHttpClientFactory factory = new MockHttpClientFactory(); KiiAnalytics.AsyncHttpClientFactory = factory; MockHttpClient client = factory.Client; client.AddResponse(204, ""); // async upload Exception exp = null; CountDownLatch cd = new CountDownLatch(1); KiiAnalytics.Upload((Exception e) => { exp = e; cd.Signal(); }, ev); if (!cd.Wait(new TimeSpan(0, 0, 0, 3))) { Assert.Fail("Callback not fired."); } Assert.Null(exp); Assert.AreEqual("https://api-jp.kii.com/api/apps/appID004/events", client.RequestUrl[0]); Assert.AreEqual("application/vnd.kii.EventRecordList+json", client.RequestContentType[0]); JsonArray array = new JsonArray(client.RequestBody[0]); JsonObject json = array.GetJsonObject(0); int count = ToCount(json.Keys()); Assert.AreEqual(6, count); Assert.AreEqual(1, json.GetInt("page")); Assert.AreEqual("OK", json.GetString("label")); Assert.AreEqual("dev004", json.GetString("_deviceID")); Assert.AreEqual("type1", json.GetString("_type")); Assert.IsTrue(json.Has("_triggeredAt")); Assert.IsTrue(json.Has("_uploadedAt")); }
public void Test_0350_Upload_NullEvent() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent ev = new KiiEvent.NullKiiEvent(); // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(204, ""); KiiAnalytics.Upload(ev); Assert.AreEqual("https://api-jp.kii.com/api/apps/appID004/events", client.RequestUrl[0]); Assert.AreEqual("application/vnd.kii.EventRecordList+json", client.RequestContentType[0]); JsonArray array = new JsonArray(client.RequestBody[0]); Assert.AreEqual(0, array.Length()); }
public void Test_0313_Upload_50() { KiiAnalytics.Initialize("appID005", "appKey", KiiAnalytics.Site.JP, "dev005"); KiiEvent[] eventList = new KiiEvent[50]; for (int i = 0; i < eventList.Length; ++i) { KiiEvent ev = KiiAnalytics.NewEvent("type1"); ev["page"] = i; eventList[i] = ev; } // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(204, ""); KiiAnalytics.Upload(eventList); }
public void Test_0341_Upload_CloudException_broken_json() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent[] events = CreateEvents(); // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(new CloudException(400, "broken")); try { KiiAnalytics.Upload(events); Assert.Fail("Exception must be thrown"); } catch (EventUploadException e) { Assert.AreEqual(3, e.ErrorEvents.Count); } }
public void TestRequestUrl() { KiiAnalytics.Initialize("dummyAppId", "dummyAppKey", KiiAnalytics.Site.CN3, "dummyDeviceId"); MockHttpClientFactory factory = new MockHttpClientFactory(); KiiAnalytics.HttpClientFactory = factory; KiiAnalytics.AsyncHttpClientFactory = factory; MockHttpClient client = (MockHttpClient)factory.Client; // send request client.AddResponse(200, "{" + "\"snapshots\" : [ {" + "\"name\" : \"Male\"," + "\"data\" : [ 546.775207 ]," + "\"pointStart\" : 1338044400000," + "\"pointInterval\" : 86400000}]}"); KiiAnalytics.GetResult("ruleId", null, null); // check request url. Assert.AreEqual("https://api-cn3.kii.com/api/apps/dummyAppId/analytics/ruleId/data", client.RequestUrl[0]); }
public void Test_0332_Upload_Partial_last() { KiiAnalytics.Initialize("appID004", "appKey", KiiAnalytics.Site.JP, "dev004"); KiiEvent[] events = CreateEvents(); // set mock KiiAnalytics.HttpClientFactory = new MockHttpClientFactory(); MockHttpClient client = ((MockHttpClientFactory)KiiAnalytics.HttpClientFactory).Client; client.AddResponse(200, "{" + "\"errorCode\" : \"PARTIAL_SUCCESS\"," + "\"message\" : \"There are some errors in event data\"," + "\"invalidEvents\" : [ {" + "\"index\" : 2," + "\"errorDetails\" : [ {" + "\"fieldName\" : \"_uploadedAt\"," + "\"errorCode\" : \"UPLOADED_AT_MISSING\"," + "\"message\" : \"You must provide event upload time\"}]" + "}]" + "}"); try { KiiAnalytics.Upload(events); Assert.Fail("Exception must be thrown"); } catch (EventUploadException e) { IList <KiiEvent> errorList = e.ErrorEvents; Assert.IsTrue(events[0].Sent); Assert.IsTrue(events[1].Sent); Assert.IsFalse(events[2].Sent); Assert.AreEqual(1, errorList.Count); KiiEvent error1 = errorList[0]; Assert.AreEqual(3, error1["page"]); Assert.AreEqual("Next", error1["label"]); } }
public void Test_0101_Initialize_appId_null() { KiiAnalytics.Initialize(null, "appKey", "https://api-sg.kii.com/api", "dev002"); }
public void Test_0102_Initialize_appKey_null() { KiiAnalytics.Initialize("appID002", null, "https://api-sg.kii.com/api", "dev002"); }
public void Test_0104_Initialize_deviceId_null() { KiiAnalytics.Initialize("appID", "appKey", "https://api-sg.kii.com/api", null); }
public void Test_0200_NewEvent_null() { KiiAnalytics.Initialize("appID003", "appKey", KiiAnalytics.Site.JP, "dev003"); KiiAnalytics.NewEvent(null); }
public void Test_0201_NewEvent_space() { KiiAnalytics.Initialize("appID003", "appKey", KiiAnalytics.Site.JP, "dev003"); KiiAnalytics.NewEvent(" type"); }
public void Test_0203_NewEvent_len129() { KiiAnalytics.Initialize("appID003", "appKey", KiiAnalytics.Site.JP, "dev003"); KiiAnalytics.NewEvent(CHAR_100 + CHAR_10 + CHAR_10 + "abcdefghi"); }
public void Test_0001_Initialize_appId_null() { KiiAnalytics.Initialize(null, "appKey", KiiAnalytics.Site.US, "dev001"); }
public void Test_0002_Initialize_appKey_null() { KiiAnalytics.Initialize("appID", null, KiiAnalytics.Site.US, "dev001"); }
public void Test_0310_Upload_empty() { KiiAnalytics.Initialize("appID005", "appKey", KiiAnalytics.Site.JP, "dev005"); KiiAnalytics.Upload(); }