Example #1
0
        public async Task ViewProfileTest_ValidInfo()
        {
            UserDTO newUser = new UserDTO {
                Email     = "*****@*****.**",
                Password  = "******",
                FirstName = "Moxie",
                LastName  = "Bespin"
            };

            GenericResponseDTO <int> registerResponse = await authController.Register(newUser);

            Assert.IsTrue(registerResponse.Success);

            TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers);

            ProfileDTO expectedProfileInfo = new ProfileDTO {
                FirstName = "Moxie",
                LastName  = "Bespin",
                Email     = "*****@*****.**",
                Projects  = new List <ProjectNameAndClientDTO>()
            };

            GenericResponseDTO <ProfileDTO> response = await profileController.GetUserProfile();

            Assert.IsTrue(response.Success);
            Assert.AreEqual(response.Data.FirstName, expectedProfileInfo.FirstName);
            Assert.AreEqual(response.Data.LastName, expectedProfileInfo.LastName);
            Assert.AreEqual(response.Data.Email, expectedProfileInfo.Email);
            Assert.IsTrue(response.Data.Projects.SequenceEqual(expectedProfileInfo.Projects));
        }
Example #2
0
        public async Task SetPasswordTest_ValidInfo()
        {
            UserDTO newUser = new UserDTO {
                Email     = "*****@*****.**",
                Password  = "******",
                FirstName = "Phoebe",
                LastName  = "S."
            };

            GenericResponseDTO <int> registerResponse = await authController.Register(newUser);

            Assert.IsTrue(registerResponse.Success);

            TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers);

            GenericResponseDTO <AccessKeysDTO> loginResponse = await authController.Login(newUser);

            Assert.IsTrue(registerResponse.Success);

            PasswordChangeDTO passwordChangeInfo = new PasswordChangeDTO {
                CurrentPassword = "******",
                NewPassword     = "******"
            };
            GenericResponseDTO <int> changePasswordResponse = await profileController.SetPassword(passwordChangeInfo);

            Assert.IsTrue(changePasswordResponse.Success);

            User currentUser = await database.Users
                               .AsNoTracking()
                               .FirstOrDefaultAsync(user => user.Id == registerResponse.Data);

            Assert.IsTrue(authHelper.GetPasswordHash("Aero125", configuration).SequenceEqual(currentUser.Password));

            loginResponse = await authController.Login(newUser);

            Assert.IsFalse(loginResponse.Success);

            passwordChangeInfo.CurrentPassword = "******";
            passwordChangeInfo.NewPassword     = "******";
            changePasswordResponse             = await profileController.SetPassword(passwordChangeInfo);

            Assert.IsTrue(changePasswordResponse.Success);

            currentUser = await database.Users
                          .AsNoTracking()
                          .FirstOrDefaultAsync(user => user.Id == registerResponse.Data);

            Assert.IsTrue(authHelper.GetPasswordHash("Aquarius13", configuration).SequenceEqual(currentUser.Password));

            loginResponse = await authController.Login(newUser);

            Assert.IsTrue(loginResponse.Success);
        }
Example #3
0
        public async Task SetPasswordTest_IncorrectVerificationPassword()
        {
            UserDTO newUser = new UserDTO {
                Email     = "*****@*****.**",
                Password  = "******",
                FirstName = "Basther",
                LastName  = "H."
            };

            GenericResponseDTO <int> registerResponse = await authController.Register(newUser);

            Assert.IsTrue(registerResponse.Success);

            TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers);

            GenericResponseDTO <AccessKeysDTO> loginResponse = await authController.Login(newUser);

            Assert.IsTrue(loginResponse.Success);

            PasswordChangeDTO passwordChangeInfo = new PasswordChangeDTO {
                CurrentPassword = "******",
                NewPassword     = "******"
            };

            GenericResponseDTO <int> changePasswordResponse = await profileController.SetPassword(passwordChangeInfo);

            Assert.IsFalse(changePasswordResponse.Success);

            User currentUser = await database.Users
                               .AsNoTracking()
                               .FirstOrDefaultAsync(user => user.Id == registerResponse.Data);

            Assert.IsFalse(authHelper.GetPasswordHash("oNe4thRee9seVen", configuration).SequenceEqual(currentUser.Password));
            Assert.IsTrue(authHelper.GetPasswordHash("1fOur3niNe7", configuration).SequenceEqual(currentUser.Password));

            loginResponse = await authController.Login(newUser);

            Assert.IsTrue(loginResponse.Success);
        }
Example #4
0
        public async Task SetPasswordTest_InvalidNewPassword()
        {
            UserDTO newUser = new UserDTO {
                Email     = "*****@*****.**",
                Password  = "******",
                FirstName = "Belford",
                LastName  = "McAlister"
            };

            GenericResponseDTO <int> registerResponse = await authController.Register(newUser);

            Assert.IsTrue(registerResponse.Success);

            TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers);

            GenericResponseDTO <AccessKeysDTO> loginResponse = await authController.Login(newUser);

            Assert.IsTrue(loginResponse.Success);

            PasswordChangeDTO passwordChangeInfo = new PasswordChangeDTO {
                CurrentPassword = "******",
                NewPassword     = "******"
            };
            GenericResponseDTO <int> changePasswordResponse = await profileController.SetPassword(passwordChangeInfo);

            Assert.IsFalse(changePasswordResponse.Success);

            User currentUser = await database.Users
                               .AsNoTracking()
                               .FirstOrDefaultAsync(user => user.Id == registerResponse.Data);

            Assert.IsFalse(authHelper.GetPasswordHash("badpw", configuration).SequenceEqual(currentUser.Password));
            Assert.IsTrue(authHelper.GetPasswordHash("sand_Boa13", configuration).SequenceEqual(currentUser.Password));

            loginResponse = await authController.Login(newUser);

            Assert.IsTrue(loginResponse.Success);
        }