示例#1
0
        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>));
            }));
        }
示例#2
0
        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;
 }
示例#4
0
        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);
            }));
        }