public void AdminDefaultPasswordIsSaltedSha512Hash() { Action<string, string> updateHook = (username, password) => { Assert.Fail("Generating password hash should not update the related db entry."); }; var passwordService = new PasswordService(updateHook); var saltedHash = passwordService.GetSaltedHash(DefaultAdminPassword, DefaultAdminUserName); Assert.AreEqual(DefaultAdminHash, saltedHash); }
public void WrongSha512PasswordsWontBeUpgraded() { Action<string, string> updateHook = (username, password) => { Assert.Fail("Wrong sha512 password must not be upgraded."); }; var passwordService = new PasswordService(updateHook); bool isCorrect = passwordService .ComparePassword("1" + DefaultAdminPassword, DefaultAdminUserName, DefaultAdminHash); Assert.IsFalse(isCorrect); }
public void CorrectSha512PasswordsWontBeUpgraded() { Action<string, string> updateHook = (username, password) => { Assert.Fail("Sha512 password does not need to be upgraded."); }; var passwordService = new PasswordService(updateHook); bool isCorrect = passwordService .ComparePassword(DefaultAdminPassword, DefaultAdminUserName, DefaultAdminHash); Assert.IsTrue(isCorrect); }
public void CorrectMd5PasswordsWillBeUpgraded() { int correctUpgradeHookCalls = 0; var username = DefaultAdminUserName; var password = DefaultAdminPassword; Action<string, string> updateHook = (updateUsername, updatePassword) => { Assert.AreEqual(username, updateUsername); Assert.AreEqual(password, updatePassword); ++correctUpgradeHookCalls; }; var passwordService = new PasswordService(updateHook); bool isCorrect = passwordService .ComparePassword(password, username, Md5DefaultAdminHash); Assert.IsTrue(isCorrect); Assert.AreEqual(1, correctUpgradeHookCalls, "Correct md5 password should be upgraded exactly once."); }