Exemple #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());
        }
        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);
        }
Exemple #3
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"));
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
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);
        }
Exemple #6
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);
        }
Exemple #7
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"));
        }