public void Test_1001_ServerCodeEntry_Execute_null() { MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set Response MockHttpClient client = factory.Client; client.AddResponse(200, "{\"returnedValue\":\"testResult\"}", 10); KiiServerCodeEntry entry = Kii.ServerCodeEntry("myFunc"); KiiServerCodeExecResult result = entry.Execute(null); // Assertion Assert.IsNotNull(result); Assert.AreEqual(10, result.ExecutedSteps); JsonObject json = result.ReturnedValue; Assert.AreEqual(1, json.Length()); Assert.IsTrue(json.Has("returnedValue")); Assert.AreEqual("testResult", json.GetString("returnedValue")); // Assertion request Assert.AreEqual("https://api.kii.com/api/apps/appId/server-code/versions/current/myFunc", client.RequestUrl[0]); JsonObject requestJson = new JsonObject(client.RequestBody[0]); Assert.AreEqual(0, requestJson.Length()); }
public void DeployWithEnvironmentVersion0Test() { string code = @"function test() { return 'OK'; } "; string versionId = AppUtil.DeployServerCode(this.app, code); KiiServerCodeExecResult result = Kii.ServerCodeEntry("test", versionId, KiiServerCodeEnvironmentVersion.V0).Execute(null); Assert.AreEqual(KiiServerCodeEnvironmentVersion.V0, result.EnvironmentVersion); }
public void Test_1100_ServerCodeEntry_Execute_OK() { MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = factory; // set Response MockHttpClient client = factory.Client; client.AddResponse(200, "{\"returnedValue\":\"testResult\"}", 10); JsonObject rawArgs = new JsonObject(); rawArgs.Put("name", "kii"); rawArgs.Put("score", 100); KiiServerCodeEntryArgument args = KiiServerCodeEntryArgument.NewArgument(rawArgs); KiiServerCodeEntry entry = Kii.ServerCodeEntry("myFunc"); KiiServerCodeEntryArgument args2 = null; KiiServerCodeExecResult result = null; Exception exception = null; entry.Execute(args, (KiiServerCodeEntry entry2, KiiServerCodeEntryArgument outArgs, KiiServerCodeExecResult outResult, Exception e) => { args2 = outArgs; result = outResult; exception = e; }); // Assertion Assert.IsNotNull(args2); Assert.IsNotNull(result); Assert.IsNull(exception); Assert.AreEqual(10, result.ExecutedSteps); JsonObject json = result.ReturnedValue; Assert.AreEqual(1, json.Length()); Assert.IsTrue(json.Has("returnedValue")); Assert.AreEqual("testResult", json.GetString("returnedValue")); // Assertion request Assert.AreEqual("https://api.kii.com/api/apps/appId/server-code/versions/current/myFunc", client.RequestUrl[0]); JsonObject requestJson = new JsonObject(client.RequestBody[0]); Assert.AreEqual("kii", requestJson.GetString("name")); Assert.AreEqual(100, requestJson.GetInt("score")); }
/// <summary> /// Execute this server code entry and wait for completion. /// </summary> /// <remarks> /// This api access to server. Should not be executed in UI/Main thread. /// </remarks> /// <returns> /// Result of execution includes /// JsonObject returned from specified server code entry in KiiCloud. /// </returns> /// <param name="argument">The argument that will be passed to the entry of script in the cloud. /// If null is specified, no argument will be passed to the script. /// </param> /// /// <exception cref="BadRequestException"> /// Is thrown when an execution is failed. /// </exception> public KiiServerCodeExecResult Execute(KiiServerCodeEntryArgument argument) { KiiServerCodeExecResult result = null; ExecExecute(argument, Kii.HttpClientFactory, (KiiServerCodeEntry entry, KiiServerCodeEntryArgument outArgs, KiiServerCodeExecResult outResult, Exception e) => { if (e != null) { throw e; } result = outResult; }); return(result); }
public void Test_1111_ServerCodeEntry_Execute_broken_JSON() { MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = factory; // set Response MockHttpClient client = factory.Client; client.AddResponse(200, "broken", 10); JsonObject rawArgs = new JsonObject(); rawArgs.Put("name", "kii"); rawArgs.Put("score", 100); KiiServerCodeEntryArgument args = KiiServerCodeEntryArgument.NewArgument(rawArgs); KiiServerCodeEntry entry = Kii.ServerCodeEntry("myFunc"); KiiServerCodeEntryArgument args2 = null; KiiServerCodeExecResult result = null; Exception exception = null; entry.Execute(args, (KiiServerCodeEntry entry2, KiiServerCodeEntryArgument outArgs, KiiServerCodeExecResult outResult, Exception e) => { args2 = outArgs; result = outResult; exception = e; }); // Assertion Assert.IsNotNull(args2); Assert.IsNull(result); Assert.IsNotNull(exception); Assert.IsTrue(exception is IllegalKiiBaseObjectFormatException); }
public void Test_1110_ServerCodeEntry_Execute_BadRequest() { MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.AsyncHttpClientFactory = factory; // set Response MockHttpClient client = factory.Client; client.AddResponse(new BadRequestException("", null, "{}", BadRequestException.Reason.__UNKNOWN__)); JsonObject rawArgs = new JsonObject(); rawArgs.Put("name", "kii"); rawArgs.Put("score", 100); KiiServerCodeEntryArgument args = KiiServerCodeEntryArgument.NewArgument(rawArgs); KiiServerCodeEntry entry = Kii.ServerCodeEntry("myFunc"); KiiServerCodeEntryArgument args2 = null; KiiServerCodeExecResult result = null; Exception exception = null; entry.Execute(args, (KiiServerCodeEntry entry2, KiiServerCodeEntryArgument outArgs, KiiServerCodeExecResult outResult, Exception e) => { args2 = outArgs; result = outResult; exception = e; }); // Assertion Assert.IsNotNull(args2); Assert.IsNull(result); Assert.IsNotNull(exception); Assert.IsTrue(exception is BadRequestException); }
public void Test_1003_ServerCodeEntry_Execute_With_EnvironmentVersion6_OK() { MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = factory; // set Response MockHttpClient client = factory.Client; client.AddResponse(200, "{\"returnedValue\":\"testResult\"}", 10); JsonObject rawArgs = new JsonObject(); rawArgs.Put("name", "kii"); rawArgs.Put("score", 100); KiiServerCodeEntryArgument args = KiiServerCodeEntryArgument.NewArgument(rawArgs); KiiServerCodeEntry entry = Kii.ServerCodeEntry("myFunc", KiiServerCodeEnvironmentVersion.V6); KiiServerCodeExecResult result = entry.Execute(args); // Assertion Assert.IsNotNull(result); Assert.AreEqual(10, result.ExecutedSteps); JsonObject json = result.ReturnedValue; Assert.AreEqual(1, json.Length()); Assert.IsTrue(json.Has("returnedValue")); Assert.AreEqual("testResult", json.GetString("returnedValue")); // Assertion request Assert.AreEqual("https://api.kii.com/api/apps/appId/server-code/versions/current/myFunc?environment-version=6", client.RequestUrl[0]); JsonObject requestJson = new JsonObject(client.RequestBody[0]); Assert.AreEqual("kii", requestJson.GetString("name")); Assert.AreEqual(100, requestJson.GetInt("score")); }