- Used the work from @knight1219 (Daniel Mathews) as the basis.

* Fixed the unit tests so that they are now passing.
Note: This is my first real introduction to Moq, so there are probably a few things that can be improved.

Changes:
* Had a few issues with the mock logger, ended up adding a LoggerFactory and Logger implementation to work around this issue (for some reason the mock logger was never called and the unit tests failed because the string builder was never updated).
* Accommodated changes to the SignInManager, UserManager where the latest version has added Logging to constructor
* SecurityStamp functions in UserManager now check for null and throws an exception, so the unit tests can no longer call GetSecurityStampAsync before its set. Line 866: https://github.com/dotnet/aspnetcore/blame/605c522fa3e875fd6d3aefa783a71d1745b7e4c7/src/Identity/Extensions.Core/src/UserManager.cs
* SignInManager.RefreshSignInAsync has changed the internal method from s.SignInAsync to SignInWithClaimsAsync
This commit is contained in:
David Barker
2020-01-23 22:46:35 +08:00
parent bf44fca3ae
commit b9491256b0
10 changed files with 468 additions and 195 deletions
@@ -289,7 +289,7 @@ namespace Microsoft.AspNetCore.Identity.Test
var manager = CreateManager();
var username = "Create" + Guid.NewGuid().ToString();
var user = CreateTestUser(username, useNamePrefixAsUserName: true);
var stamp = await manager.GetSecurityStampAsync(user);
Assert.Null(user.SecurityStamp);
IdentityResultAssert.IsSuccess(await manager.CreateAsync(user));
Assert.NotNull(await manager.GetSecurityStampAsync(user));
}
@@ -947,10 +947,12 @@ namespace Microsoft.AspNetCore.Identity.Test
}
var manager = CreateManager();
var user = CreateTestUser();
Assert.Null(await manager.GetSecurityStampAsync(user));
var originalStamp = user.SecurityStamp;
//Update to library, can no longer test for null; throws an exceptoin
Assert.Null(user.SecurityStamp);
IdentityResultAssert.IsSuccess(await manager.CreateAsync(user));
var stamp = await manager.GetSecurityStampAsync(user);
Assert.NotNull(stamp);
Assert.NotEqual(originalStamp, stamp);
IdentityResultAssert.IsSuccess(await manager.UpdateSecurityStampAsync(user));
Assert.NotEqual(stamp, await manager.GetSecurityStampAsync(user));
}