private static void ExecGetResult(string ruleId, ResultCondition condition, KiiHttpClientFactory factory, KiiResultCallback callback) { string url = KiiAnalytics.BaseUrl + "/apps/" + KiiAnalytics.AppID + "/analytics/" + ruleId + "/data"; if (condition != null) { url += "?" + condition.ToQueryString(); } KiiHttpClient client = factory.Create(url, KiiAnalytics.AppID, KiiAnalytics.AppKey, KiiHttpMethod.GET); client.Accept = "application/vnd.kii.GroupedAnalyticResult+json"; client.SendRequest((ApiResponse response, Exception e) => { if (e != null) { invokeResultCallback(callback, ruleId, condition, null, e); return; } try { JsonObject obj = new JsonObject(response.Body); JsonArray snapshots = obj.GetJsonArray("snapshots"); GroupedResult result = GroupedResult.Parse(snapshots); invokeResultCallback(callback, ruleId, condition, result, null); } catch (JsonException) { Exception ex = new IllegalKiiBaseObjectFormatException("Server response is broken."); invokeResultCallback(callback, ruleId, condition, null, ex); } }); }
public void Test_0001_Parse_noJsonObject() { JsonArray array = new JsonArray("[" + "1, 2" + "]"); GroupedResult.Parse(array); }
public void Test_0013_Parse_noData() { JsonArray array = new JsonArray("[" + "{" + "\"name\":\"Male\"," + "\"pointInterval\":100," + "\"pointStart\":50," + "}" + "]"); GroupedResult.Parse(array); }
public void Test_0012_Parse_noPointStart() { JsonArray array = new JsonArray("[" + "{" + "\"name\":\"Male\"," + "\"pointInterval\":100," + "\"data\":[2,3,4]" + "}" + "]"); GroupedResult.Parse(array); }
public void Test_0010_Parse_noName() { JsonArray array = new JsonArray("[" + "{" + "\"pointInterval\":100," + "\"pointStart\":50," + "\"data\":[2,3,4]" + "}" + "]"); GroupedResult.Parse(array); }
public void Test_0000_Parse() { JsonArray array = new JsonArray("[" + "{" + "\"name\":\"Male\"," + "\"pointInterval\":100," + "\"pointStart\":50," + "\"data\":[2,3,4]" + "}" + "]"); GroupedResult result = GroupedResult.Parse(array); Assert.AreEqual(1, result.SnapShots.Count); GroupedSnapShot snapShot = result.SnapShots[0]; Assert.AreEqual("Male", snapShot.Name); Assert.AreEqual(100, snapShot.PointInterval); Assert.AreEqual(50, snapShot.PointStart); JsonArray data = snapShot.Data; Assert.AreEqual(3, data.Length()); }