コード例 #1
0
        private void SetupEmailSenderTest()
        {
            repoMock = new Mock <IApplicationUserRepository>();
            repoMock.Setup(rm => rm.GetList(It.IsAny <ISpecification <ApplicationUser> >())).Returns(
                new List <ApplicationUser>
            {
                new ApplicationUser {
                    Id = "userId", UserName = "******"
                }
            });

            senderMock  = new Mock <IEmailConfirmationSender>();
            factoryMock = new Mock <IPasswordResetFactory>();
            factoryMock.Setup(fm => fm.CreateCofirmationSender()).Returns(senderMock.Object);

            var urlMock     = new Mock <IUrlHelper>();
            var requestMock = new Mock <HttpRequest>();
            var httpContext = new Mock <HttpContext>();

            httpContext.Setup(hm => hm.Request).Returns(requestMock.Object);

            var notificationMock = new Mock <INotificationProvider>();

            controller     = new PasswordResetController(factoryMock.Object, repoMock.Object, notificationMock.Object);
            controller.Url = urlMock.Object;
            controller.ControllerContext.HttpContext = httpContext.Object;
        }
コード例 #2
0
        public async Task Setup()
        {
            context = await TestDatabase.GetDatabaseContext();

            mockUsersService = new MockUsersService(context);
            mockAppsService  = new MockAppsService(context);

            sut = new PasswordResetController(
                mockUsersService.UsersServiceSuccessfulRequest.Object,
                mockAppsService.AppsServiceSuccessfulRequest.Object);

            passwordResetToken = Guid.NewGuid().ToString();
        }
コード例 #3
0
        private void ProcessPasswordResetRequest(UserModel user)
        {
            PasswordResetController passwordResetController = new PasswordResetController();

            PasswordResetModel passwordResetModel = new PasswordResetModel();

            passwordResetModel.PasswordResetKey = Guid.NewGuid();
            passwordResetModel.UserId           = user.Id;
            passwordResetModel.Completed        = false;

            passwordResetModel.Id = passwordResetController.SavePasswordReset(passwordResetModel);

            Mailer.MailUserPasswordResetRequest(passwordResetModel, user);
        }
コード例 #4
0
        public async void CreatePasswordConfirmatorBeforeResetingPassword()
        {
            repoMock        = new Mock <IApplicationUserRepository>();
            confirmatorMock = new Mock <IEmailConfirmator>();
            factoryMock     = new Mock <IPasswordResetFactory>();
            factoryMock.Setup(fm => fm.CreateConfirmator()).Returns(confirmatorMock.Object);
            var notificationMock = new Mock <INotificationProvider>();

            controller = new PasswordResetController(factoryMock.Object, repoMock.Object, notificationMock.Object);

            await controller.ChangePasswordAsync("id", "token", "password");

            factoryMock.Verify(fm => fm.CreateConfirmator(), Times.Once());
        }
コード例 #5
0
        public void RetutnViewWithIdAndToken()
        {
            repoMock    = new Mock <IApplicationUserRepository>();
            factoryMock = new Mock <IPasswordResetFactory>();
            var notificationMock = new Mock <INotificationProvider>();

            controller = new PasswordResetController(factoryMock.Object, repoMock.Object, notificationMock.Object);

            var view = controller.ChangePassword("xd", "discard");

            var viewResult = Assert.IsType <ViewResult>(view);

            Assert.Equal("xd", viewResult.ViewData["id"]);
            Assert.Equal("discard", viewResult.ViewData["token"]);
        }
コード例 #6
0
        private void ProcessPasswordReset()
        {
            if (ViewState["ResetId"].ToString() != "")
            {
                PasswordResetController controller = new PasswordResetController();

                PasswordResetModel passwordResetModel = controller.LoadPasswordResetByKey(new Guid(ViewState["ResetId"].ToString()));

                if (passwordResetModel != null && passwordResetModel.Completed == false)
                {
                    UserController userController = new UserController();

                    UserModel userModel = userController.LoadUser(passwordResetModel.UserId.ToString());

                    userModel.CreateOrReset = true;

                    userModel.Password = ReEnterPasswordTextBox.Text;

                    userController.SaveUser(userModel);

                    passwordResetModel.Completed = true;

                    controller.SavePasswordReset(passwordResetModel);

                    Logger.CreateLog("Password reset done for user " + userModel.UserName, 1);

                    PasswordResetLabel.Text =
                        "Password reset.  Please click <a href='Default.aspx'>here</a> to login.";
                    ResetPasswordPanel.Visible = false;
                }
                else
                {
                    PasswordResetLabel.Text =
                        "Password reset code already used.  Please create a <a href='RetrievePassword.aspx'>new</a> reset request.";
                    ResetPasswordPanel.Visible = false;
                }
            }
        }