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 Test_0100_ServerCodeEntry_create_OK() { KiiServerCodeEntry entry = Kii.ServerCodeEntry("myFunc", "version0001"); Assert.IsNotNull(entry); Assert.AreEqual("myFunc", entry.EntryName); Assert.AreEqual("version0001", entry.Version); }
public void Test_0000_ServerCodeEntry_create_OK() { KiiServerCodeEntry entry = Kii.ServerCodeEntry("myFunc"); Assert.IsNotNull(entry); Assert.AreEqual("myFunc", entry.EntryName); Assert.AreEqual("current", entry.Version); Assert.IsFalse(entry.EnvironmentVersion.HasValue); }
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> /// Instantiate KiiServerCodeEntry with specified entry name and version and environment version. /// </summary> /// <remarks> /// Name must be valid. /// </remarks> /// <returns> /// KiiServerCodeEntry instance. /// </returns> /// <param name="entryName"> /// Entry name. /// </param> /// <param name="version"> /// Version. /// </param> /// <param name="environmentVersion"> /// Environment Version. /// </param> /// <exception cref="ArgumentNullException"> /// Is thrown when entryName / version is null or empty string. /// </exception> /// <exception cref="ArgumentException"> /// Is thrown when entryName does not match ^[a-zA-Z][_a-zA-Z0-9]*$ or version is larger than 36 characters. /// </exception> public static KiiServerCodeEntry ServerCodeEntry(string entryName, string version, KiiServerCodeEnvironmentVersion?environmentVersion) { if (Utils.IsEmpty(entryName)) { throw new ArgumentNullException("entryName must not be empty."); } if (Utils.IsEmpty(version)) { throw new ArgumentNullException("version must not be empty."); } if (version.Length > 36) { throw new ArgumentException("version must be between 1 and 36 characters."); } if (!KiiServerCodeEntry.IsValidEntryName(entryName)) { throw new ArgumentException("entryName must be ^[a-zA-Z][_a-zA-Z0-9]*$."); } return(new KiiServerCodeEntry(entryName, version, environmentVersion)); }
public void Test_1011_ServerCodeEntry_Execute_broken_JSON() { MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = 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"); entry.Execute(args); }
public void Test_1010_ServerCodeEntry_Execute_BadRequest() { MockHttpClientFactory factory = new MockHttpClientFactory(); Kii.HttpClientFactory = 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"); entry.Execute(args); }
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")); }