Make Lockoutend date nullable
This commit is contained in:
parent
f24d3a5462
commit
f99a29a12c
|
|
@ -650,7 +650,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework
|
||||||
/// <param name="user"></param>
|
/// <param name="user"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual Task<DateTimeOffset> GetLockoutEndDateAsync(TUser user, CancellationToken cancellationToken = default(CancellationToken))
|
public virtual Task<DateTimeOffset?> GetLockoutEndDateAsync(TUser user, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
cancellationToken.ThrowIfCancellationRequested();
|
cancellationToken.ThrowIfCancellationRequested();
|
||||||
ThrowIfDisposed();
|
ThrowIfDisposed();
|
||||||
|
|
@ -668,7 +668,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework
|
||||||
/// <param name="lockoutEnd"></param>
|
/// <param name="lockoutEnd"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual Task SetLockoutEndDateAsync(TUser user, DateTimeOffset lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
public virtual Task SetLockoutEndDateAsync(TUser user, DateTimeOffset? lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
cancellationToken.ThrowIfCancellationRequested();
|
cancellationToken.ThrowIfCancellationRequested();
|
||||||
ThrowIfDisposed();
|
ThrowIfDisposed();
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ namespace Microsoft.AspNet.Identity
|
||||||
/// <param name="user"></param>
|
/// <param name="user"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<DateTimeOffset> GetLockoutEndDateAsync(TUser user,
|
Task<DateTimeOffset?> GetLockoutEndDateAsync(TUser user,
|
||||||
CancellationToken cancellationToken = default(CancellationToken));
|
CancellationToken cancellationToken = default(CancellationToken));
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Identity
|
||||||
/// <param name="lockoutEnd"></param>
|
/// <param name="lockoutEnd"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task SetLockoutEndDateAsync(TUser user, DateTimeOffset lockoutEnd,
|
Task SetLockoutEndDateAsync(TUser user, DateTimeOffset? lockoutEnd,
|
||||||
CancellationToken cancellationToken = default(CancellationToken));
|
CancellationToken cancellationToken = default(CancellationToken));
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ namespace Microsoft.AspNet.Identity
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DateTime in UTC when lockout ends, any time in the past is considered not locked out.
|
/// DateTime in UTC when lockout ends, any time in the past is considered not locked out.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual DateTimeOffset LockoutEnd { get; set; }
|
public virtual DateTimeOffset? LockoutEnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Is lockout enabled for this user
|
/// Is lockout enabled for this user
|
||||||
|
|
|
||||||
|
|
@ -1786,7 +1786,7 @@ namespace Microsoft.AspNet.Identity
|
||||||
/// <param name="user"></param>
|
/// <param name="user"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual async Task<DateTimeOffset> GetLockoutEndDateAsync(TUser user,
|
public virtual async Task<DateTimeOffset?> GetLockoutEndDateAsync(TUser user,
|
||||||
CancellationToken cancellationToken = default(CancellationToken))
|
CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
ThrowIfDisposed();
|
ThrowIfDisposed();
|
||||||
|
|
@ -1805,7 +1805,7 @@ namespace Microsoft.AspNet.Identity
|
||||||
/// <param name="lockoutEnd"></param>
|
/// <param name="lockoutEnd"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual async Task<IdentityResult> SetLockoutEndDateAsync(TUser user, DateTimeOffset lockoutEnd,
|
public virtual async Task<IdentityResult> SetLockoutEndDateAsync(TUser user, DateTimeOffset? lockoutEnd,
|
||||||
CancellationToken cancellationToken = default(CancellationToken))
|
CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
ThrowIfDisposed();
|
ThrowIfDisposed();
|
||||||
|
|
|
||||||
|
|
@ -535,7 +535,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework.InMemory.Test
|
||||||
/// <param name="user"></param>
|
/// <param name="user"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual Task<DateTimeOffset> GetLockoutEndDateAsync(TUser user, CancellationToken cancellationToken = default(CancellationToken))
|
public virtual Task<DateTimeOffset?> GetLockoutEndDateAsync(TUser user, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
cancellationToken.ThrowIfCancellationRequested();
|
cancellationToken.ThrowIfCancellationRequested();
|
||||||
ThrowIfDisposed();
|
ThrowIfDisposed();
|
||||||
|
|
@ -553,7 +553,7 @@ namespace Microsoft.AspNet.Identity.EntityFramework.InMemory.Test
|
||||||
/// <param name="lockoutEnd"></param>
|
/// <param name="lockoutEnd"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public virtual Task SetLockoutEndDateAsync(TUser user, DateTimeOffset lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
public virtual Task SetLockoutEndDateAsync(TUser user, DateTimeOffset? lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
cancellationToken.ThrowIfCancellationRequested();
|
cancellationToken.ThrowIfCancellationRequested();
|
||||||
ThrowIfDisposed();
|
ThrowIfDisposed();
|
||||||
|
|
|
||||||
|
|
@ -102,12 +102,12 @@ namespace Microsoft.AspNet.Identity.InMemory
|
||||||
Users.FirstOrDefault(u => String.Equals(u.Email, email, StringComparison.OrdinalIgnoreCase)));
|
Users.FirstOrDefault(u => String.Equals(u.Email, email, StringComparison.OrdinalIgnoreCase)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<DateTimeOffset> GetLockoutEndDateAsync(TUser user, CancellationToken cancellationToken = default(CancellationToken))
|
public Task<DateTimeOffset?> GetLockoutEndDateAsync(TUser user, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
return Task.FromResult(user.LockoutEnd);
|
return Task.FromResult(user.LockoutEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task SetLockoutEndDateAsync(TUser user, DateTimeOffset lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
public Task SetLockoutEndDateAsync(TUser user, DateTimeOffset? lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
user.LockoutEnd = lockoutEnd;
|
user.LockoutEnd = lockoutEnd;
|
||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
|
|
|
||||||
|
|
@ -779,12 +779,12 @@ namespace Microsoft.AspNet.Identity.Test
|
||||||
return Task.FromResult<TestUser>(null);
|
return Task.FromResult<TestUser>(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<DateTimeOffset> GetLockoutEndDateAsync(TestUser user, CancellationToken cancellationToken = default(CancellationToken))
|
public Task<DateTimeOffset?> GetLockoutEndDateAsync(TestUser user, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
return Task.FromResult(DateTimeOffset.MinValue);
|
return Task.FromResult<DateTimeOffset?>(DateTimeOffset.MinValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task SetLockoutEndDateAsync(TestUser user, DateTimeOffset lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
public Task SetLockoutEndDateAsync(TestUser user, DateTimeOffset? lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
}
|
}
|
||||||
|
|
@ -1045,12 +1045,12 @@ namespace Microsoft.AspNet.Identity.Test
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<DateTimeOffset> GetLockoutEndDateAsync(TestUser user, CancellationToken cancellationToken = default(CancellationToken))
|
public Task<DateTimeOffset?> GetLockoutEndDateAsync(TestUser user, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task SetLockoutEndDateAsync(TestUser user, DateTimeOffset lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
public Task SetLockoutEndDateAsync(TestUser user, DateTimeOffset? lockoutEnd, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1449,6 +1449,25 @@ namespace Microsoft.AspNet.Identity.Test
|
||||||
Assert.False(await manager.VerifyTwoFactorTokenAsync(user, "Phone", "bogus"));
|
Assert.False(await manager.VerifyTwoFactorTokenAsync(user, "Phone", "bogus"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task NullableDateTimeOperationTest()
|
||||||
|
{
|
||||||
|
var userMgr = CreateManager();
|
||||||
|
var user = CreateTestUser();
|
||||||
|
user.LockoutEnabled = true;
|
||||||
|
IdentityResultAssert.IsSuccess(await userMgr.CreateAsync(user));
|
||||||
|
|
||||||
|
Assert.Null(await userMgr.GetLockoutEndDateAsync(user));
|
||||||
|
|
||||||
|
// set LockoutDateEndDate to null
|
||||||
|
await userMgr.SetLockoutEndDateAsync(user, null);
|
||||||
|
Assert.Null(await userMgr.GetLockoutEndDateAsync(user));
|
||||||
|
|
||||||
|
// set to a valid value
|
||||||
|
await userMgr.SetLockoutEndDateAsync(user, DateTimeOffset.Parse("01/01/2014"));
|
||||||
|
Assert.Equal(DateTimeOffset.Parse("01/01/2014"), await userMgr.GetLockoutEndDateAsync(user));
|
||||||
|
}
|
||||||
|
|
||||||
public List<TUser> GenerateUsers(string userNamePrefix, int count)
|
public List<TUser> GenerateUsers(string userNamePrefix, int count)
|
||||||
{
|
{
|
||||||
var users = new List<TUser>(count);
|
var users = new List<TUser>(count);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue