public async Task KeyDoesNotExist_CallsRetrieveOnLockoutStore() { var helper = new FakeUserHelper1(); _ = await helper.IsLockedOut("key"); Assert.Equal("key", helper.FakeTimedLockoutStore.Retrieve_KeyInput); }
public async Task WhiteSpaceKey_Throws() { UserHelper helper = new FakeUserHelper1(); await Assert.ThrowsAsync <ArgumentException>("key", async() => { await helper.IsLockedOut(key: " "); }); }
public async Task NullKey_Throws() { UserHelper helper = new FakeUserHelper1(); await Assert.ThrowsAsync <ArgumentNullException>("key", async() => { await helper.IsLockedOut(key: null); }); }
public async Task KeyDoesNotExist_ReturnsFalse() { var helper = new FakeUserHelper1(); helper.FakeTimedLockoutStore.Retrieve_Output = null; var result = await helper.IsLockedOut("key"); Assert.False(result); }
public async Task KeyDoesNotExist_AddsData() { var helper = new FakeUserHelper1(); helper.FakeTimedLockoutStore.Retrieve_Output = null; _ = await helper.IsLockedOut("key"); var created = helper.FakeTimedLockoutStore.Create_InputData; Assert.Equal("key", created !.Key); Assert.Equal(helper.FakeClock.UtcNow, created.LastModified); Assert.Equal(1, created.FailedAccessAttempts); Assert.Null(created.Expiration); }
public async Task ReachesFiveFailedAccessAttempts_ReturnsTrue() { var helper = new FakeUserHelper1(); var lockout = new TimedLockout("key", helper.FakeClock.UtcNow) { FailedAccessAttempts = 4 }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act var result = await helper.IsLockedOut("key"); Assert.True(result); }
public async Task StaleExpiration_ReturnsFalse() { var helper = new FakeUserHelper1(); var expiration = helper.FakeClock.UtcNow.AddDays(-1); var lockout = new TimedLockout("key", helper.FakeClock.UtcNow) { Expiration = expiration, }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act var result = await helper.IsLockedOut("key"); Assert.False(result); }
public async Task OpenExpiration_ReturnsTrue() { var helper = new FakeUserHelper1(); var expiration = new UtcDateTime( helper.FakeClock.UtcNow.ToOffset().AddDays(1)); var lockout = new TimedLockout("key", helper.FakeClock.UtcNow) { Expiration = expiration }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act var result = await helper.IsLockedOut("key"); Assert.True(result); }
public async Task StaleLastModified_ReturnsFalse() { var helper = new FakeUserHelper1(); var lockout = new TimedLockout("key", helper.FakeClock.UtcNow.AddDays(-1)) { Expiration = null, FailedAccessAttempts = 5, }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act var result = await helper.IsLockedOut("key"); Assert.False(result); }
public async Task UnderMaxFailedAccessAttempts_UpdatesData() { var helper = new FakeUserHelper1(); var lockout = new TimedLockout("key", helper.FakeClock.UtcNow) { FailedAccessAttempts = 1 }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act _ = await helper.IsLockedOut("key"); var updated = helper.FakeTimedLockoutStore.Update_InputData; Assert.Equal("key", updated !.Key); Assert.Equal(helper.FakeClock.UtcNow, updated.LastModified); Assert.Equal(2, updated.FailedAccessAttempts); Assert.Null(updated.Expiration); }
public async Task StaleExpiration_ResetsData() { var helper = new FakeUserHelper1(); var expiration = helper.FakeClock.UtcNow.AddDays(-1); var lockout = new TimedLockout("key", helper.FakeClock.UtcNow) { Expiration = expiration, }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act var result = await helper.IsLockedOut("key"); var updated = helper.FakeTimedLockoutStore.Update_InputData; Assert.Equal("key", updated.Key); Assert.Equal(helper.FakeClock.UtcNow, updated.LastModified); Assert.Equal(1, updated.FailedAccessAttempts); Assert.Null(updated.Expiration); }
public async Task ReachesFiveFailedAccessAttempts_UpdatesData() { var helper = new FakeUserHelper1(); var lockout = new TimedLockout("key", helper.FakeClock.UtcNow) { FailedAccessAttempts = 4, }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act _ = await helper.IsLockedOut("key"); var updated = helper.FakeTimedLockoutStore.Update_InputData; Assert.Equal("key", updated !.Key); Assert.Equal(helper.FakeClock.UtcNow, updated.LastModified); Assert.Equal(5, updated.FailedAccessAttempts); Assert.Equal(helper.FakeClock.UtcNow.ToOffset().Add( TimeSpan.FromMinutes(10)), updated.Expiration !.ToOffset()); }
public async Task StaleLastModified_ResetsData() { var helper = new FakeUserHelper1(); var lockout = new TimedLockout("key", new UtcDateTime(helper.FakeClock.UtcNow.ToOffset().AddDays(-1))) { Expiration = null, FailedAccessAttempts = 5, }; helper.FakeTimedLockoutStore.Retrieve_Output = lockout; // Act _ = await helper.IsLockedOut("key"); var updated = helper.FakeTimedLockoutStore.Update_InputData; Assert.Equal("key", updated !.Key); Assert.Equal(helper.FakeClock.UtcNow, updated.LastModified); Assert.Equal(1, updated.FailedAccessAttempts); Assert.Null(updated.Expiration); }