public void ExecuteCallbackWhenExecuteScriptTest_GET_Count() { NCMBScript script = new NCMBScript("testScript_GET.js", NCMBScript.MethodType.GET, _endPoint); Dictionary <string, object> query = new Dictionary <string, object> () { { "name", "tarou" }, { "message", "hello" } }; script.ExecuteAsync(null, null, query, (byte[] result, NCMBException e) => { if (e == null) { string cmd = System.Text.Encoding.UTF8.GetString(result); cmd = cmd.TrimEnd('\0'); //終端文字の削除 Assert.AreEqual("count:2", cmd); } else { Assert.Fail(e.ErrorMessage); } _callbackFlag = true; }); AwaitAsync(); Assert.True(_callbackFlag); }
public IEnumerator ExecuteCallbackWhenExecuteScriptTest_PUT() { NCMBScript script = new NCMBScript("testScript_PUT.js", NCMBScript.MethodType.PUT, _endPoint); Dictionary <string, object> body = new Dictionary <string, object> () { { "name", "tarou" } }; script.ExecuteAsync(null, body, null, (byte[] result, NCMBException e) => { if (e == null) { string cmd = System.Text.Encoding.UTF8.GetString(result); cmd = cmd.TrimEnd('\0'); //終端文字の削除 Assert.AreEqual("hello,tarou", cmd); } else { Assert.Fail(e.ErrorMessage); } NCMBTestSettings.CallbackFlag = true; }); yield return(NCMBTestSettings.AwaitAsync()); Assert.True(NCMBTestSettings.CallbackFlag); }
public IEnumerator ExecuteCallbackWhenExecuteScriptObjectTest_GET() { string[] strArray = { "tarou1", "tarou2" }; NCMBScript script = new NCMBScript("testScriptObject_GET.js", NCMBScript.MethodType.GET, _endPoint); Dictionary <string, object> query = new Dictionary <string, object> () { { "name", strArray } }; script.ExecuteAsync(null, null, query, (byte[] result, NCMBException e) => { if (e == null) { string cmd = System.Text.Encoding.UTF8.GetString(result); cmd = cmd.TrimEnd('\0'); //終端文字の削除 Assert.AreEqual("{\"name\":\"[\\\"tarou1\\\",\\\"tarou2\\\"]\"}", cmd); } else { Assert.Fail(e.ErrorMessage); } NCMBTestSettings.CallbackFlag = true; }); yield return(NCMBTestSettings.AwaitAsync()); Assert.True(NCMBTestSettings.CallbackFlag); }
public void ExecuteCallbackWhenExecuteScriptTest_Header() { NCMBScript script = new NCMBScript("testScript_Header.js", NCMBScript.MethodType.POST, _endPoint); Dictionary <string, object> header = new Dictionary <string, object> () { { "key", "value" } }; script.ExecuteAsync(header, null, null, (byte[] result, NCMBException e) => { if (e == null) { string cmd = System.Text.Encoding.UTF8.GetString(result); cmd = cmd.TrimEnd('\0'); //終端文字の削除 Assert.AreEqual("value", cmd); } else { Assert.Fail(e.ErrorMessage); } NCMBTestSettings.CallbackFlag = true; }); NCMBTestSettings.AwaitAsync(); Assert.True(NCMBTestSettings.CallbackFlag); }
public void ScriptGet() { NCMBScript script = new NCMBScript("script_get.js", NCMBScript.MethodType.GET); script.ExecuteAsync(null, null, null, (byte[] result, NCMBException e) => { if (e != null) { // 失敗 Debug.LogError(e); } else { // 成功 Debug.Log("Script get run successful "); } }); }
/// <summary> /// 非同期処理でスクリプトの実行を行います。 /// </summary> /// <param name="header">リクエストヘッダー.</param> /// <param name="body">リクエストボディ</param> /// <param name="query">クエリパラメーター</param> public static Task <byte[]> ExecuteTaskAsync(this NCMBScript script, IDictionary <string, object> header, IDictionary <string, object> body, IDictionary <string, object> query) { var tcs = new TaskCompletionSource <byte[]>(); script.ExecuteAsync(header, body, query, (data, error) => { if (error != null) { tcs.SetException(error); } else { tcs.SetResult(data); } }); return(tcs.Task); }
public void ExecuteCallbackWhenExecuteScriptTest_Error() { NCMBScript script = new NCMBScript("testScript_Error.js", NCMBScript.MethodType.GET, _endPoint); script.ExecuteAsync(null, null, null, (byte[] result, NCMBException e) => { if (e == null) { Assert.Fail("Always test case to fail."); } else { Assert.AreEqual("name must not be null.", e.ErrorMessage); Assert.AreEqual(HttpStatusCode.BadRequest.ToString(), e.ErrorCode); } _callbackFlag = true; }); AwaitAsync(); Assert.True(_callbackFlag); }
public void ExecuteCallbackWhenExecuteScriptTest_DELETE() { NCMBScript script = new NCMBScript("testScript_DELETE.js", NCMBScript.MethodType.DELETE, _endPoint); script.ExecuteAsync(null, null, null, (byte[] result, NCMBException e) => { if (e == null) { string cmd = System.Text.Encoding.UTF8.GetString(result); cmd = cmd.TrimEnd('\0'); //終端文字の削除 Assert.AreEqual("", cmd); } else { Assert.Fail(e.ErrorMessage); } _callbackFlag = true; }); AwaitAsync(); Assert.True(_callbackFlag); }
public void ScriptPost() { NCMBScript script = new NCMBScript("script_post.js", NCMBScript.MethodType.POST); Dictionary <string, object> body = new Dictionary <string, object>() { { "message", DateTime.Now.ToString("yyyy_MM_dd_HHmmss") } }; script.ExecuteAsync(null, body, null, (byte[] result, NCMBException e) => { if (e != null) { // 失敗 Debug.LogError(e); } else { lastPostObjectId = JsonUtility.FromJson <TestClass>(System.Text.Encoding.UTF8.GetString(result)).objectId; // 成功 Debug.Log("Script post run successful "); } }); }
/// <summary> /// 非同期処理でスクリプトの実行を行います。 /// </summary> /// <param name="header">リクエストヘッダー.</param> /// <param name="body">リクエストボディ</param> /// <param name="query">クエリパラメーター</param> /// <returns>結果</returns> public static IObservable <byte[]> ExecuteAsyncAsStream(this NCMBScript script, IDictionary <string, object> header, IDictionary <string, object> body, IDictionary <string, object> query) { return(Observable.Create <byte[]>(observer => { var gate = new object(); var isDisposed = false; script.ExecuteAsync(header, body, query, (data, error) => { lock (gate) { if (isDisposed) { return; } if (error == null) { observer.OnNext(data); observer.OnCompleted(); } else { observer.OnError(error); } } }); return Disposable.Create(() => { lock (gate) { isDisposed = true; } }); })); }
public void ScriptDelete() { if (lastPostObjectId != null) { NCMBScript script = new NCMBScript("script_delete.js", NCMBScript.MethodType.DELETE); Dictionary <string, object> query = new Dictionary <string, object>() { { "id", lastPostObjectId } }; script.ExecuteAsync(null, null, query, (byte[] result, NCMBException e) => { if (e != null) { // 失敗 Debug.LogError(e); } else { lastPostObjectId = null; // 成功 Debug.Log("Script delete run successful "); } }); } }