Esempio n. 1
0
        private User ConvertUserPrincipalToUser(UserPrincipalExtension userPrincipalExtension)
        {
            BannerID bannerID       = BannerID.CreateBannerID(userPrincipalExtension.ExtensionAttribute14);
            string   fullName       = String.Format("{0}, {1} {2}", userPrincipalExtension.Surname, userPrincipalExtension.GivenName, userPrincipalExtension.MiddleName);
            string   samAccountName = userPrincipalExtension.SamAccountName;

            return(new User(bannerID, samAccountName, fullName));
        }
        public void SearchUserByBannerID_Returns_Null_If_Not_Found()
        {
            BannerID testBannerID = BannerID.CreateBannerID("A00000000");
            var      mockRepo     = new Mock <IActiveDirectoryRepository>();

            mockRepo.Setup(repo => repo.FindUserByBannerID(testBannerID)).Returns((User)null);
            UserAccountService userAccountService = new UserAccountService(mockRepo.Object);

            Assert.IsNull(userAccountService.SearchUserByBannerID(testBannerID));
        }
 public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
 {
     try
     {
         return(BannerID.CreateBannerID((string)value));
     }
     catch (BannerIDInvalidFormatException)
     {
         return(value);
     }
 }
 public FakeActiveDirectoryRepository()
 {
     for (int x = 1; x < 10; x++)
     {
         BannerID bannerNumber   = BannerID.CreateBannerID(("A0000000" + x));
         String   samAccountName = ("testuser" + x);
         String   fullname       = ("test, user " + x);
         User     user           = new User(bannerNumber, samAccountName, fullname);
         _users.Add(user);
     }
 }
 public override ValidationResult Validate(object value, CultureInfo cultureInfo)
 {
     try
     {
         BannerID bannerID = BannerID.CreateBannerID((string)value);
         return(ValidationResult.ValidResult);
     }
     catch (BannerIDInvalidFormatException exception)
     {
         return(new ValidationResult(false, exception.Message));
     }
 }
        public void SearchUserBySamAccountName_Returns_Null_If_Not_Found()
        {
            BannerID testBannerID       = BannerID.CreateBannerID("A00000000");
            string   testSamAccountName = "testSamAccount";
            User     testUser           = new User(testBannerID, testSamAccountName, "test, user one");

            var mockRepo = new Mock <IActiveDirectoryRepository>();

            mockRepo.Setup(repo => repo.FindUserByBannerID(testBannerID)).Returns((User)null);

            UserAccountService userAccountService = new UserAccountService(mockRepo.Object);
            User recievedUser = userAccountService.SearchUserBySamAccountName(testSamAccountName);

            Assert.IsNull(recievedUser);
        }
        public void SearchUserByBannerID_Returns_User_If_Found()
        {
            BannerID testBannerID = BannerID.CreateBannerID("A00000000");
            User     testUser     = new User(testBannerID, "testSamAccount", "test, user one");

            var mockRepo = new Mock <IActiveDirectoryRepository>();

            mockRepo.Setup(repo => repo.FindUserByBannerID(testBannerID)).Returns(testUser);

            UserAccountService userAccountService = new UserAccountService(mockRepo.Object);
            User recievedUser = userAccountService.SearchUserByBannerID(testBannerID);

            Assert.IsNotNull(recievedUser);
            Assert.AreEqual <BannerID>(testUser.BannerID, recievedUser.BannerID);
            Assert.AreEqual(testUser.SamAccountName, recievedUser.SamAccountName);
            Assert.AreEqual(testUser.FullName, recievedUser.FullName);
        }
        public void ChangeUserPassword_Returns_ResetResult_With_Failure_When_Entered_User_Does_Not_Exist()
        {
            BannerID testBannerID       = BannerID.CreateBannerID("A00000001");
            string   testSamAccountName = "testSamAccount";
            string   newPassword        = "******";
            User     testEnteredUser    = new User(testBannerID, testSamAccountName, "test, user one");

            var mockRepo = new Mock <IActiveDirectoryRepository>();

            mockRepo.Setup(repo => repo.FindUserByBannerID(testEnteredUser.BannerID)).Returns((User)null);

            UserAccountService userAccountService = new UserAccountService(mockRepo.Object);
            ResetResult        result             = userAccountService.ChangeUserPassword(testEnteredUser, newPassword);

            Assert.IsTrue(result.HasErrorMessage);
            Assert.AreEqual(testEnteredUser, result.User);
        }
Esempio n. 9
0
        public void ResetPasswordCommand_Notifies_Of_Error_If_Both_Password_Fields_Do_Not_Match()
        {
            User _testUser = new User(BannerID.CreateBannerID("A00000001"), "samAccountName", "test, user 1");
            PasswordResetViewModel _viewModel = new PasswordResetViewModel(new Mock <IUserAccountService>().Object);
            string newPassword         = "******";
            string nonMatchingPassword = "******";

            _viewModel.NewPassword     = newPassword;
            _viewModel.ConfirmPassword = nonMatchingPassword;

            _viewModel.ResetPasswordCommand.Execute(null);
            Assert.IsTrue(_viewModel.HasErrors);
            IEnumerator errorEnumerator = _viewModel.GetErrors("NewPassword").GetEnumerator();

            errorEnumerator.MoveNext();
            Assert.AreEqual("New Password Does Not Match Confirmation Password", errorEnumerator.Current);
        }
        public void ChangeUserPassword_Returns_ResetResult_With_No_Failures()
        {
            BannerID testBannerID       = BannerID.CreateBannerID("A00000000");
            string   testSamAccountName = "testSamAccount";
            string   newPassword        = "******";
            User     testUser           = new User(testBannerID, testSamAccountName, "test, user one");

            var mockRepo = new Mock <IActiveDirectoryRepository>();

            mockRepo.Setup(repo => repo.FindUserByBannerID(testUser.BannerID)).Returns(testUser);
            mockRepo.Setup(repo => repo.ChangeUserPassword(testUser, newPassword)).Returns(true);
            mockRepo.Setup(repo => repo.ChangeUserResetAttribute(testUser)).Returns(true);
            UserAccountService userAccountService = new UserAccountService(mockRepo.Object);
            ResetResult        result             = userAccountService.ChangeUserPassword(testUser, newPassword);

            Assert.IsFalse(result.HasErrorMessage);
            Assert.AreEqual(testUser, result.User);
        }
Esempio n. 11
0
        public void PasswordResetCommand_Calls_ChangeUserPassword_In_UserAccountService_If_Both_Password_Fields_Match()
        {
            User        _testUser        = new User(BannerID.CreateBannerID("A00000001"), "samAccountName", "test, user 1");
            ResetResult testResult       = new ResetResult(_testUser, true, null);
            string      newPassword      = "******";
            string      matchingPassword = "******";

            var mockAccountService = new Mock <IUserAccountService>();

            mockAccountService.Setup(service => service.ChangeUserPassword(It.IsAny <User>(), It.IsAny <string>())).Returns(testResult).Verifiable();
            PasswordResetViewModel _viewModel = new PasswordResetViewModel(mockAccountService.Object)
            {
                NewPassword     = newPassword,
                ConfirmPassword = matchingPassword
            };

            _viewModel.ResetPasswordCommand.Execute(null);
            Mock.Verify(mockAccountService);
        }
        public void SearchUserByBannerIDCommand_Sends_UserNotFoundMessage_If_User_Is_Not_Found()
        {
            BannerID bannerID = BannerID.CreateBannerID("A00000001");

            UserNotFoundMessage userNotFoundMessage = null;

            Messenger.Default.Register <UserNotFoundMessage>(this, msg => userNotFoundMessage = msg);

            var mockAccountService = new Mock <IUserAccountService>();

            mockAccountService.Setup(service => service.SearchUserByBannerID(It.IsAny <BannerID>())).Returns((User)null);
            BannerIDSearchViewModel viewModel = new BannerIDSearchViewModel(mockAccountService.Object)
            {
                BannerID = bannerID
            };

            viewModel.SearchUserByBannerIDCommand.Execute(null);
            Assert.IsNotNull(userNotFoundMessage);
            Assert.AreEqual(bannerID, userNotFoundMessage.BannerID);
        }
        public void SearchUserByBannerIDCommand_Sends_UserDetailsMessage_If_User_Is_Found()
        {
            string             expectedSamAccountName = "samAccountName";
            string             expectedFullName       = "test, user name";
            BannerID           bannerID           = BannerID.CreateBannerID("A00000001");
            User               expectedUser       = new User(bannerID, expectedSamAccountName, expectedFullName);
            UserDetailsMessage userDetailsMessage = null;

            Messenger.Default.Register <UserDetailsMessage>(this, msg => userDetailsMessage = msg);

            var mockAccountService = new Mock <IUserAccountService>();

            mockAccountService.Setup(service => service.SearchUserByBannerID(It.IsAny <BannerID>())).Returns(expectedUser);
            BannerIDSearchViewModel viewModel = new BannerIDSearchViewModel(mockAccountService.Object)
            {
                BannerID = bannerID
            };

            viewModel.SearchUserByBannerIDCommand.Execute(null);
            Assert.IsNotNull(userDetailsMessage);
            Assert.AreEqual(expectedUser, userDetailsMessage.User);
        }
Esempio n. 14
0
        public void Failed_Reset_Sends_PasswordChangeSuccessMessage_With_False()
        {
            User        _testUser          = new User(BannerID.CreateBannerID("A00000001"), "samAccountName", "test, user 1");
            ResetResult testResult         = new ResetResult(_testUser, false, "failure");
            var         mockAccountService = new Mock <IUserAccountService>();

            mockAccountService.Setup(service => service.ChangeUserPassword(It.IsAny <User>(), It.IsAny <string>())).Returns(testResult);
            PasswordResetViewModel _viewModel = new PasswordResetViewModel(mockAccountService.Object);

            string newPassword      = "******";
            string matchingPassword = "******";

            _viewModel.NewPassword     = newPassword;
            _viewModel.ConfirmPassword = matchingPassword;

            PasswordChangeSuccessMessage passwordChangeSuccessMessage = null;

            Messenger.Default.Register <PasswordChangeSuccessMessage>(this, msg => passwordChangeSuccessMessage = msg);
            _viewModel.ResetPasswordCommand.Execute(null);

            Assert.IsNotNull(passwordChangeSuccessMessage);
            Assert.IsFalse(passwordChangeSuccessMessage.ResetResult.PasswordChanged);
        }
 public void BannerID_Throws_Error_If_Does_Not_Start_With_An_A()
 {
     String   failingBannerIDValue = "B12345678";
     BannerID result = BannerID.CreateBannerID(failingBannerIDValue);
 }
 public void BannerID_Throws_Error_If_More_Than_Nine_Characters_Long()
 {
     String   failingBannerIDValue = "1234567890";
     BannerID result = BannerID.CreateBannerID(failingBannerIDValue);
 }