public Task TestRunCommandWithArrayResult() { var mockHttpClient = new Mock <IHttpClient>(); var mockInstallationIdController = new Mock <IInstallationIdController>(); var fakeResponse = Task.FromResult(new Tuple <HttpStatusCode, string>(HttpStatusCode.OK, "[]")); mockHttpClient.Setup(obj => obj.ExecuteAsync(It.IsAny <HttpRequest>(), It.IsAny <IProgress <ParseUploadProgressEventArgs> >(), It.IsAny <IProgress <ParseDownloadProgressEventArgs> >(), It.IsAny <CancellationToken>())).Returns(fakeResponse); mockInstallationIdController.Setup(i => i.GetAsync()).Returns(Task.FromResult <Guid?>(null)); ParseCommandRunner commandRunner = new ParseCommandRunner(mockHttpClient.Object, mockInstallationIdController.Object); var command = new ParseCommand("endpoint", method: "GET", data: null); return(commandRunner.RunCommandAsync(command).ContinueWith(t => { Assert.IsFalse(t.IsFaulted); Assert.IsFalse(t.IsCanceled); Assert.IsInstanceOfType(t.Result.Item2, typeof(IDictionary <string, object>)); Assert.AreEqual(1, t.Result.Item2.Count); Assert.IsTrue(t.Result.Item2.ContainsKey("results")); Assert.IsInstanceOfType(t.Result.Item2["results"], typeof(IList <object>)); })); }
public Task TestRunCommandWithErrorCode() { var mockHttpClient = new Mock <IHttpClient>(); var mockInstallationIdController = new Mock <IInstallationIdController>(); var fakeResponse = Task.FromResult(new Tuple <HttpStatusCode, string>(HttpStatusCode.NotFound, "{ \"code\": 101, \"error\": \"Object not found.\" }")); mockHttpClient.Setup(obj => obj.ExecuteAsync(It.IsAny <HttpRequest>(), It.IsAny <IProgress <ParseUploadProgressEventArgs> >(), It.IsAny <IProgress <ParseDownloadProgressEventArgs> >(), It.IsAny <CancellationToken>())).Returns(fakeResponse); mockInstallationIdController.Setup(i => i.GetAsync()).Returns(Task.FromResult <Guid?>(null)); ParseCommandRunner commandRunner = new ParseCommandRunner(mockHttpClient.Object, mockInstallationIdController.Object); var command = new ParseCommand("endpoint", method: "GET", data: null); return(commandRunner.RunCommandAsync(command).ContinueWith(t => { Assert.IsTrue(t.IsFaulted); Assert.IsFalse(t.IsCanceled); Assert.IsInstanceOfType(t.Exception.InnerException, typeof(ParseException)); var parseException = t.Exception.InnerException as ParseException; Assert.AreEqual(ParseException.ErrorCode.ObjectNotFound, parseException.Code); Assert.AreEqual("Object not found.", parseException.Message); })); }
static ParseClient() { /* Type platformHookType = Type.GetType("Parse.PlatformHooks, Parse.Unity"); // GetParseType("PlatformHooks"); * if (platformHookType == null) * { * throw new InvalidOperationException("You must include a reference to a platform-specific Parse library."); * }*/ platformHooks = new PlatformHooks(); //Activator.CreateInstance(platformHookType) as IPlatformHooks; commandRunner = new ParseCommandRunner(platformHooks.HttpClient); versionString = "net-" + platformHooks.SDKName + Version; }
static ParseClient() { Type platformHookType = GetParseType("PlatformHooks"); if (platformHookType == null) { throw new InvalidOperationException("You must include a reference to a platform-specific Parse library."); } platformHooks = Activator.CreateInstance(platformHookType) as IPlatformHooks; commandRunner = new ParseCommandRunner(platformHooks.HttpClient); versionString = "net-" + platformHooks.SDKName + Version; }
public Task TestRunCommand() { var mockHttpClient = new Mock <IHttpClient>(); var fakeResponse = Task <Tuple <HttpStatusCode, string> > .FromResult(new Tuple <HttpStatusCode, string>(HttpStatusCode.OK, "{}")); mockHttpClient.Setup(obj => obj.ExecuteAsync(It.IsAny <HttpRequest>(), It.IsAny <IProgress <ParseUploadProgressEventArgs> >(), It.IsAny <IProgress <ParseDownloadProgressEventArgs> >(), It.IsAny <CancellationToken>())).Returns(fakeResponse); ParseCommandRunner commandRunner = new ParseCommandRunner(mockHttpClient.Object); var command = new ParseCommand("endpoint", method: "GET", data: null); return(commandRunner.RunCommandAsync(command).ContinueWith(t => { Assert.False(t.IsFaulted); Assert.False(t.IsCanceled); Assert.IsInstanceOf(typeof(IDictionary <string, object>), t.Result.Item2); Assert.AreEqual(0, t.Result.Item2.Count); })); }
public Task TestRunCommandWithInvalidString() { var mockHttpClient = new Mock <IHttpClient>(); var fakeResponse = Task <Tuple <HttpStatusCode, string> > .FromResult(new Tuple <HttpStatusCode, string>(HttpStatusCode.OK, "invalid")); mockHttpClient.Setup(obj => obj.ExecuteAsync(It.IsAny <HttpRequest>(), It.IsAny <IProgress <ParseUploadProgressEventArgs> >(), It.IsAny <IProgress <ParseDownloadProgressEventArgs> >(), It.IsAny <CancellationToken>())).Returns(fakeResponse); ParseCommandRunner commandRunner = new ParseCommandRunner(mockHttpClient.Object); var command = new ParseCommand("endpoint", method: "GET", data: null); return(commandRunner.RunCommandAsync(command).ContinueWith(t => { Assert.True(t.IsFaulted); Assert.False(t.IsCanceled); Assert.IsInstanceOf <ParseException>(t.Exception.InnerException); var parseException = t.Exception.InnerException as ParseException; Assert.AreEqual(ParseException.ErrorCode.OtherCause, parseException.Code); })); }