public void ValidUserNameRequired() { var testData = UserTestData.Setup(false); string newPassword = Guid.NewGuid().ToString(); var provider = new SrirachaMembershipProvider(testData.Repository.Object); bool result = provider.ChangePassword(testData.UserName, testData.Password, newPassword); Assert.IsFalse(result); testData.Repository.Verify(i => i.UpdateUser(It.IsAny<SrirachaUser>()), Times.Never()); }
public void ShouldUpdatePasswordChangeDate() { var testData = UserTestData.Setup(true); string newPassword = Guid.NewGuid().ToString(); DateTime oldPasswordChangedDate = DateTime.UtcNow.AddDays(-1); testData.SrirachaUser.LastPasswordChangedDateTimeUtc = oldPasswordChangedDate; var provider = new SrirachaMembershipProvider(testData.Repository.Object); bool result = provider.ChangePassword(testData.UserName, testData.Password, newPassword); Assert.IsTrue(result); Assert.Greater(testData.SrirachaUser.LastPasswordChangedDateTimeUtc, oldPasswordChangedDate); testData.Repository.Verify(i => i.UpdateUser(testData.SrirachaUser), Times.Once()); }
public void OldPasswordIsRequired() { var testData = UserTestData.Setup(true); string oldEncryptedPassword = testData.SrirachaUser.EncryptedPassword; string wrongOldPassword = "******"; string newPassword = Guid.NewGuid().ToString(); var provider = new SrirachaMembershipProvider(testData.Repository.Object); bool result = provider.ChangePassword(testData.UserName, wrongOldPassword, newPassword); Assert.IsFalse(result); Assert.AreEqual(oldEncryptedPassword, testData.SrirachaUser.EncryptedPassword); testData.Repository.Verify(i => i.UpdateUser(It.IsAny<SrirachaUser>()), Times.Never()); }
public void ShouldWriteHashedValue() { var testData = UserTestData.Setup(true); string newPassword = Guid.NewGuid().ToString(); var provider = new SrirachaMembershipProvider(testData.Repository.Object); bool result = provider.ChangePassword(testData.UserName, testData.Password, newPassword); Assert.IsTrue(result); Assert.IsTrue(Crypto.VerifyHashedPassword(testData.SrirachaUser.EncryptedPassword, testData.SrirachaUser.UserName.ToLower()+newPassword)); testData.Repository.Verify(i => i.UpdateUser(testData.SrirachaUser), Times.Once()); }