Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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"));
        }
Exemplo n.º 5
0
 /// <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));
 }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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"));
        }