Ejemplo n.º 1
0
        public Task TestLogInWithUsernamePassword()
        {
            var responseDict = new Dictionary <string, object>()
            {
                { "__type", "Object" },
                { "className", "_User" },
                { "objectId", "d3ImSh3ki" },
                { "sessionToken", "s3ss10nt0k3n" },
                { "createdAt", "2015-09-18T18:11:28.943Z" }
            };
            var response   = new Tuple <HttpStatusCode, IDictionary <string, object> >(HttpStatusCode.Accepted, responseDict);
            var mockRunner = CreateMockRunner(response);

            var controller = new ParseUserController(mockRunner.Object);

            return(controller.LogInAsync("grantland", "123grantland123", CancellationToken.None).ContinueWith(t => {
                Assert.IsFalse(t.IsFaulted);
                Assert.IsFalse(t.IsCanceled);

                mockRunner.Verify(obj => obj.RunCommandAsync(It.Is <ParseCommand>(command => command.Uri.AbsolutePath == "/1/login"),
                                                             It.IsAny <IProgress <ParseUploadProgressEventArgs> >(),
                                                             It.IsAny <IProgress <ParseDownloadProgressEventArgs> >(),
                                                             It.IsAny <CancellationToken>()), Times.Exactly(1));

                var newState = t.Result;
                Assert.AreEqual("s3ss10nt0k3n", newState["sessionToken"]);
                Assert.AreEqual("d3ImSh3ki", newState.ObjectId);
                Assert.NotNull(newState.CreatedAt);
                Assert.NotNull(newState.UpdatedAt);
            }));
        }
        public Task TestSignUp()
        {
            MutableObjectState state = new MutableObjectState
            {
                ClassName  = "_User",
                ServerData = new Dictionary <string, object>()
                {
                    { "username", "hallucinogen" },
                    { "password", "secret" }
                }
            };
            Dictionary <string, IParseFieldOperation> operations = new Dictionary <string, IParseFieldOperation>()
            {
                { "gogo", new Mock <IParseFieldOperation>().Object }
            };

            Dictionary <string, object> responseDict = new Dictionary <string, object>()
            {
                { "__type", "Object" },
                { "className", "_User" },
                { "objectId", "d3ImSh3ki" },
                { "sessionToken", "s3ss10nt0k3n" },
                { "createdAt", "2015-09-18T18:11:28.943Z" }
            };
            Tuple <HttpStatusCode, IDictionary <string, object> > response = new Tuple <HttpStatusCode, IDictionary <string, object> >(HttpStatusCode.Accepted, responseDict);
            Mock <IParseCommandRunner> mockRunner = CreateMockRunner(response);

            ParseUserController controller = new ParseUserController(mockRunner.Object);

            return(controller.SignUpAsync(state, operations, CancellationToken.None).ContinueWith(t =>
            {
                Assert.IsFalse(t.IsFaulted);
                Assert.IsFalse(t.IsCanceled);

                mockRunner.Verify(obj => obj.RunCommandAsync(It.Is <ParseCommand>(command => command.Uri.AbsolutePath == "/1/classes/_User"),
                                                             It.IsAny <IProgress <ParseUploadProgressEventArgs> >(),
                                                             It.IsAny <IProgress <ParseDownloadProgressEventArgs> >(),
                                                             It.IsAny <CancellationToken>()), Times.Exactly(1));

                IObjectState newState = t.Result;
                Assert.AreEqual("s3ss10nt0k3n", newState["sessionToken"]);
                Assert.AreEqual("d3ImSh3ki", newState.ObjectId);
                Assert.IsNotNull(newState.CreatedAt);
                Assert.IsNotNull(newState.UpdatedAt);
            }));
        }
Ejemplo n.º 3
0
        public Task TestRequestPasswordReset()
        {
            var responseDict = new Dictionary <string, object>();
            var response     = new Tuple <HttpStatusCode, IDictionary <string, object> >(HttpStatusCode.Accepted, responseDict);
            var mockRunner   = CreateMockRunner(response);

            var controller = new ParseUserController(mockRunner.Object);

            return(controller.RequestPasswordResetAsync("*****@*****.**", CancellationToken.None).ContinueWith(t => {
                Assert.IsFalse(t.IsFaulted);
                Assert.IsFalse(t.IsCanceled);

                mockRunner.Verify(obj => obj.RunCommandAsync(It.Is <ParseCommand>(command => command.Uri.AbsolutePath == "/1/requestPasswordReset"),
                                                             It.IsAny <IProgress <ParseUploadProgressEventArgs> >(),
                                                             It.IsAny <IProgress <ParseDownloadProgressEventArgs> >(),
                                                             It.IsAny <CancellationToken>()), Times.Exactly(1));
            }));
        }