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."); }