public void ChangePasswordFailDueWrongOldPassword_ChecksIfExceptionIsRaisedAfterCheckingOldPassword_VerifiesByExpectingException() { IUserApplicationService userApplicationService = (IUserApplicationService)_applicationContext["UserApplicationService"]; IRegistrationApplicationService registrationApplicationService = (IRegistrationApplicationService)_applicationContext["RegistrationApplicationService"]; ILoginApplicationService loginApplicationService = (ILoginApplicationService)_applicationContext["LoginApplicationService"]; IIdentityAccessPersistenceRepository persistenceRepository = (IIdentityAccessPersistenceRepository)_applicationContext["IdentityAccessPersistenceRepository"]; IUserRepository userRepository = (IUserRepository)_applicationContext["UserRepository"]; string username = "******"; string activationKey = registrationApplicationService.CreateAccount(new SignupUserCommand("*****@*****.**", "linkinpark", "burnitdown", "USA", TimeZone.CurrentTimeZone, "")); ManualResetEvent manualResetEvent = new ManualResetEvent(false); userApplicationService.ActivateAccount(new ActivationCommand(activationKey, username, "burnitdown")); manualResetEvent.WaitOne(6000); UserValidationEssentials validationEssentials = loginApplicationService.Login(new LoginCommand(username, "burnitdown")); User userBeforePasswordChange = userRepository.GetUserByUserName("linkinpark"); string passwordBeforeChange = userBeforePasswordChange.Password; User userByUserName = userRepository.GetUserByUserName(username); // When the User's Logout time and ValidationEssentials Logout time won't match, test will fail userByUserName.AutoLogout = new TimeSpan(0, 0, 0, 0, 1); persistenceRepository.SaveUpdate(userByUserName); // Give the wrong API Key userApplicationService.ChangePassword(new ChangePasswordCommand(validationEssentials.ApiKey, "123", "burnitdowntwice")); User userAfterPasswordChange = userRepository.GetUserByUserName("linkinpark"); string passwordAfterChange = userAfterPasswordChange.Password; // Verify the old and new password do not match // Assert.AreEqual(passwordBeforeChange, passwordAfterChange); }
public void ChangePasswordSuccessTest_ChecksIfThePasswordIsChangedSuccessfully_VerifiesThroughTheReturnedValue() { IUserApplicationService userApplicationService = (IUserApplicationService)_applicationContext["UserApplicationService"]; IRegistrationApplicationService registrationApplicationService = (IRegistrationApplicationService)_applicationContext["RegistrationApplicationService"]; ILoginApplicationService loginApplicationService = (ILoginApplicationService)_applicationContext["LoginApplicationService"]; IUserRepository userRepository = (IUserRepository)_applicationContext["UserRepository"]; string username = "******"; string activatioNKey = registrationApplicationService.CreateAccount(new SignupUserCommand("*****@*****.**", "linkinpark", "burnitdown", "USA", TimeZone.CurrentTimeZone, "")); ManualResetEvent manualResetEvent = new ManualResetEvent(false); userApplicationService.ActivateAccount(new ActivationCommand(activatioNKey, username, "burnitdown")); manualResetEvent.WaitOne(6000); UserValidationEssentials validationEssentials = loginApplicationService.Login(new LoginCommand(username, "burnitdown")); User userBeforePasswordChange = userRepository.GetUserByUserName("linkinpark"); string passwordBeforeChange = userBeforePasswordChange.Password; ChangePasswordResponse changePasswordResponse = userApplicationService.ChangePassword(new ChangePasswordCommand( validationEssentials.ApiKey, "burnitdown", "burnitdowntwice")); Assert.IsTrue(changePasswordResponse.ChangeSuccessful); User userAfterPasswordChange = userRepository.GetUserByUserName("linkinpark"); string passwordAfterChange = userAfterPasswordChange.Password; // Verify the old and new password do not match Assert.AreNotEqual(passwordBeforeChange, passwordAfterChange); }
public void ChangePasswordFailDueToInvalidApiKeyTest_ChecksIfExceptionIsRaisedAfterWrongApiKeyIsGiven_VerifiesByExpectingException() { IUserApplicationService userApplicationService = (IUserApplicationService)_applicationContext["UserApplicationService"]; IRegistrationApplicationService registrationApplicationService = (IRegistrationApplicationService)_applicationContext["RegistrationApplicationService"]; ILoginApplicationService loginApplicationService = (ILoginApplicationService)_applicationContext["LoginApplicationService"]; IUserRepository userRepository = (IUserRepository)_applicationContext["UserRepository"]; string username = "******"; string activationKey = registrationApplicationService.CreateAccount(new SignupUserCommand("*****@*****.**", "linkinpark", "burnitdown", "USA", TimeZone.CurrentTimeZone, "")); ManualResetEvent manualResetEvent = new ManualResetEvent(false); userApplicationService.ActivateAccount(new ActivationCommand(activationKey, username, "burnitdown")); manualResetEvent.WaitOne(6000); UserValidationEssentials validationEssentials = loginApplicationService.Login(new LoginCommand(username, "burnitdown")); User userBeforePasswordChange = userRepository.GetUserByUserName("linkinpark"); string passwordBeforeChange = userBeforePasswordChange.Password; UserValidationEssentials validationEssentials2 = new UserValidationEssentials(new Tuple <ApiKey, SecretKey, DateTime>( new ApiKey(validationEssentials.ApiKey + "1"), new SecretKey(validationEssentials.SecretKey), DateTime.Now), validationEssentials.SessionLogoutTime); // Give the wrong API Key userApplicationService.ChangePassword(new ChangePasswordCommand(validationEssentials.ApiKey + 1, "burnitdown", "burnitdowntwice")); User userAfterPasswordChange = userRepository.GetUserByUserName("linkinpark"); string passwordAfterChange = userAfterPasswordChange.Password; // Verify the old and new password do not match Assert.AreEqual(passwordBeforeChange, passwordAfterChange); }
public IHttpActionResult ChangePassword([FromBody] ChangePasswordParams changePasswordParams) { try { if (log.IsDebugEnabled) { log.Debug("ChangePassword Call Recevied, parameters:" + changePasswordParams); } return(Ok(_userApplicationService.ChangePassword(new ChangePasswordCommand( HeaderParamUtility.GetApikey(Request), changePasswordParams.OldPassword, changePasswordParams.NewPassword)))); } catch (InvalidOperationException exception) { if (log.IsErrorEnabled) { log.Error("ChangePassword Call Exception ", exception); } return(BadRequest(exception.Message)); } catch (InvalidCredentialException exception) { if (log.IsErrorEnabled) { log.Error("ChangePassword Call Exception ", exception); } return(BadRequest(exception.Message)); } catch (ArgumentNullException exception) { if (log.IsErrorEnabled) { log.Error("ChangePassword Call Exception ", exception); } return(BadRequest(exception.Message)); } catch (Exception exception) { if (log.IsErrorEnabled) { log.Error("ChangePassword Call Exception ", exception); } return(InternalServerError()); } }
public async Task <IActionResult> ChangePassword([FromBody] ChangeUserPasswordCommand command) { await _userApplicationService.ChangePassword(command); return(CreateResponse()); }