public void When_User_Is_Unlocked_FailedPasswordAttemptWindowStart_Must_Be_Reset_To_Default() { // Arrange User user = new User("username", password, passwordCoder); // Act user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); user.TryToLockoutUser(2); var wasLockedOut = user.IsLockedOut; user.UnlockUser(); // Assert Assert.IsTrue(wasLockedOut, "User wasn't ever locked out."); Assert.AreEqual(DateTime.MinValue.ToLocalTime(), user.FailedPasswordAttemptWindowStart, "FailedPasswordAttemptWindowstart isn't set to default."); Assert.IsTrue(DateTime.MinValue.ToLocalTime() == user.FailedPasswordAttemptWindowStart, "FailedPasswordAttemptWindowstart isn't set to default."); }
public void When_User_Is_Declared_As_LockedOut_LastLockoutDate_Must_Be_Set() { // Arrange User user = new User("username", password, passwordCoder); user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); // Act user.TryToLockoutUser(2); // Assert Assert.IsTrue(user.IsLockedOut, "User isn't locked out."); Assert.AreNotEqual(DateTime.MinValue.ToLocalTime(), user.LastLockoutDate, "LastLockoutDate isn't set when user is declared as locked out."); }
public void When_User_Is_Unlocked_FailedPasswordAttemptCount_Must_Be_Reset_To_Zero() { // Arrange User user = new User("username", password, passwordCoder); user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); // Act user.UnlockUser(); // Assert Assert.AreEqual(0, user.FailedPasswordAnswerAttemptCount, "FailedPasswordAttemptCount isn't set to zero."); }
public void When_Incrementing_FailedPasswordAttemptCount_Must_Set_Its_StartWindow() { // Arrange User user = new User("username", password, passwordCoder); // Act user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); // Assert Assert.IsTrue(user.FailedPasswordAttemptWindowStart > DateTime.MinValue.ToLocalTime(), "FailedPasswordAttemptWindowStart is not changed."); Assert.AreNotEqual(DateTime.MinValue.ToLocalTime(), user.FailedPasswordAttemptWindowStart, "FailedPasswordAttemptWindowStart and DateTime.MinValue are equal."); }
public void If_Time_Of_Tracking_Bad_Attempts_Is_Passed_Counters_Must_Be_Reset() { // Arrange User user = new User("username", password, passwordCoder); user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAnswerAttemptCount(); PropertyInfo passwordAnswerProperty = user.GetType().GetProperty("FailedPasswordAnswerAttemptWindowStart", BindingFlags.Public | BindingFlags.Instance); passwordAnswerProperty.SetValue(user, DateTime.Now.AddMinutes(-30), null); PropertyInfo passwordProperty = user.GetType().GetProperty("FailedPasswordAttemptWindowStart", BindingFlags.Public | BindingFlags.Instance); passwordProperty.SetValue(user, DateTime.Now.AddMinutes(-30), null); // Act user.CheckTrackingFailedAttempts(1); // Assert Assert.AreEqual(0, user.FailedPasswordAnswerAttemptCount, "FailedPasswordAnswerAttempt counter isn't reset."); Assert.AreEqual(DateTime.MinValue.ToLocalTime(), user.FailedPasswordAnswerAttemptWindowStart, "FailedPasswordAnswerAttemptWindowStart isn't reset to min datetime."); Assert.AreEqual(0, user.FailedPasswordAttemptCount, "FailedPasswordAttempt counter isn't reset."); Assert.AreEqual(DateTime.MinValue.ToLocalTime(), user.FailedPasswordAttemptWindowStart, "FailedPasswordAttemptWindowStart isn't reset to min datetime."); }
public void If_Time_Of_Tracking_Bad_Attempts_Is_Not_Passed_Counters_Must_Be_Reset() { // Arrange User user = new User("username", password, passwordCoder); user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); // Act user.CheckTrackingFailedAttempts(30); // Assert Assert.AreEqual(0, user.FailedPasswordAnswerAttemptCount, "FailedPasswordAnswerAttempt counter is reset."); Assert.AreEqual(2, user.FailedPasswordAttemptCount, "FailedPasswordAttempt counter is reset."); }
public void Can_Reset_FailedPasswordAttemptCount() { // Arrange User user = new User("username", password, passwordCoder); user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); // Act user.ResetFailedPasswordAttemptCount(); // Assert Assert.AreEqual(0, user.FailedPasswordAttemptCount, "FailedPasswordAttemptCount isn't set to zero."); }
public void Can_Increment_FailedPasswordAttemptCount() { // Arrange User user = new User("username", password, passwordCoder); // Act user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); user.IncrementFailedPasswordAttemptCount(); // Assert Assert.AreEqual(3, user.FailedPasswordAttemptCount, "Can't increment FailedPasswordAttemptCount."); }