Changed param for UserManager
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
@@ -8,12 +6,8 @@ using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core.Configuration.Models;
|
||||
using Umbraco.Cms.Core.Mapping;
|
||||
using Umbraco.Cms.Core.Net;
|
||||
using Umbraco.Cms.Core.Scoping;
|
||||
using Umbraco.Cms.Core.Security;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
using Umbraco.Cms.Web.Common.Security;
|
||||
|
||||
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.Security
|
||||
@@ -21,74 +15,15 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.Security
|
||||
[TestFixture]
|
||||
public class MemberSignInManagerTests
|
||||
{
|
||||
private MemberUserStore _fakeMemberStore;
|
||||
private Mock<IOptions<MemberIdentityOptions>> _mockIdentityOptions;
|
||||
private Mock<IPasswordHasher<MemberIdentityUser>> _mockPasswordHasher;
|
||||
private Mock<IUserValidator<MemberIdentityUser>> _mockUserValidators;
|
||||
private Mock<IEnumerable<IPasswordValidator<MemberIdentityUser>>> _mockPasswordValidators;
|
||||
private Mock<ILookupNormalizer> _mockNormalizer;
|
||||
private IdentityErrorDescriber _mockErrorDescriber;
|
||||
private Mock<IServiceProvider> _mockServiceProviders;
|
||||
private Mock<ILogger<IMemberManager>> _mockLogger;
|
||||
private Mock<IOptions<MemberPasswordConfigurationSettings>> _mockPasswordConfiguration;
|
||||
private Mock<IMemberManager> _memberManager;
|
||||
private readonly Mock<UserManager<MemberIdentityUser>> _memberManager = MockUserManager<MemberIdentityUser>();
|
||||
private readonly Mock<IIpResolver> _mockIpResolver = new Mock<IIpResolver>();
|
||||
|
||||
public MemberSignInManager CreateSut()
|
||||
{
|
||||
var _mockMemberService = new Mock<IMemberService>();
|
||||
_fakeMemberStore = new MemberUserStore(
|
||||
_mockMemberService.Object,
|
||||
new UmbracoMapper(new MapDefinitionCollection(new List<IMapDefinition>())),
|
||||
new Mock<IScopeProvider>().Object,
|
||||
new IdentityErrorDescriber());
|
||||
|
||||
_mockIdentityOptions = new Mock<IOptions<MemberIdentityOptions>>();
|
||||
|
||||
var idOptions = new MemberIdentityOptions { Lockout = { AllowedForNewUsers = false } };
|
||||
_mockIdentityOptions.Setup(o => o.Value).Returns(idOptions);
|
||||
_mockPasswordHasher = new Mock<IPasswordHasher<MemberIdentityUser>>();
|
||||
|
||||
var userValidators = new List<IUserValidator<MemberIdentityUser>>();
|
||||
_mockUserValidators = new Mock<IUserValidator<MemberIdentityUser>>();
|
||||
var validator = new Mock<IUserValidator<MemberIdentityUser>>();
|
||||
userValidators.Add(validator.Object);
|
||||
|
||||
_mockPasswordValidators = new Mock<IEnumerable<IPasswordValidator<MemberIdentityUser>>>();
|
||||
_mockNormalizer = new Mock<ILookupNormalizer>();
|
||||
_mockErrorDescriber = new IdentityErrorDescriber();
|
||||
_mockServiceProviders = new Mock<IServiceProvider>();
|
||||
_mockLogger = new Mock<ILogger<IMemberManager>>();
|
||||
_mockPasswordConfiguration = new Mock<IOptions<MemberPasswordConfigurationSettings>>();
|
||||
_mockPasswordConfiguration.Setup(x => x.Value).Returns(() =>
|
||||
new MemberPasswordConfigurationSettings() { });
|
||||
|
||||
var pwdValidators = new List<PasswordValidator<MemberIdentityUser>>
|
||||
{
|
||||
new PasswordValidator<MemberIdentityUser>()
|
||||
};
|
||||
|
||||
//_memberManager = new MemberManager(
|
||||
// _mockIpResolver.Object,
|
||||
// _fakeMemberStore,
|
||||
// _mockIdentityOptions.Object,
|
||||
// _mockPasswordHasher.Object,
|
||||
// userValidators,
|
||||
// pwdValidators,
|
||||
// new BackOfficeIdentityErrorDescriber(),
|
||||
// _mockServiceProviders.Object,
|
||||
// new Mock<IHttpContextAccessor>().Object,
|
||||
// new Mock<ILogger<UserManager<MemberIdentityUser>>>().Object,
|
||||
// _mockPasswordConfiguration.Object);
|
||||
|
||||
//validator.Setup(v => v.ValidateAsync(
|
||||
// _memberManager,
|
||||
// It.IsAny<MemberIdentityUser>()))
|
||||
// .Returns(Task.FromResult(IdentityResult.Success)).Verifiable();
|
||||
|
||||
_memberManager = new Mock<IMemberManager>();
|
||||
return new MemberSignInManager(
|
||||
_memberManager.As<MemberManager>().Object,
|
||||
_memberManager.Object,
|
||||
Mock.Of<IIpResolver>(),
|
||||
Mock.Of<IHttpContextAccessor>(),
|
||||
Mock.Of<IUserClaimsPrincipalFactory<MemberIdentityUser>>(),
|
||||
@@ -97,23 +32,31 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.Security
|
||||
Mock.Of<IAuthenticationSchemeProvider>(),
|
||||
Mock.Of<IUserConfirmation<MemberIdentityUser>>());
|
||||
}
|
||||
private static Mock<UserManager<TUser>> MockUserManager<TUser>() where TUser : class
|
||||
{
|
||||
var store = new Mock<IUserStore<TUser>>();
|
||||
var mgr = new Mock<UserManager<TUser>>(store.Object, null, null, null, null, null, null, null, null);
|
||||
return mgr;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task WhenPasswordSignInAsyncIsCalled_AndEverythingIsSetup_ThenASignInResultSucceededShouldBeReturnedAsync()
|
||||
{
|
||||
//arrange
|
||||
var userId = "bo8w3d32q9b98";
|
||||
_memberManager.Setup(x => x.GetUserIdAsync(It.IsAny<MemberIdentityUser>())).ReturnsAsync(userId);
|
||||
MemberSignInManager sut = CreateSut();
|
||||
var fakeUser = new MemberIdentityUser(777)
|
||||
{
|
||||
UserName = "TestUser",
|
||||
};
|
||||
string password = "testPassword";
|
||||
bool lockoutOnfailure = false;
|
||||
bool isPersistent = true;
|
||||
var password = "testPassword";
|
||||
var lockoutOnFailure = false;
|
||||
var isPersistent = true;
|
||||
_memberManager.Setup(x => x.FindByNameAsync(It.IsAny<string>())).ReturnsAsync(fakeUser);
|
||||
|
||||
//act
|
||||
SignInResult actual = await sut.PasswordSignInAsync(fakeUser, password, isPersistent, lockoutOnfailure);
|
||||
SignInResult actual = await sut.PasswordSignInAsync(fakeUser, password, isPersistent, lockoutOnFailure);
|
||||
|
||||
//assert
|
||||
Assert.IsTrue(actual.Succeeded);
|
||||
@@ -128,13 +71,13 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.Security
|
||||
{
|
||||
UserName = "TestUser",
|
||||
};
|
||||
string password = "testPassword";
|
||||
bool lockoutOnfailure = false;
|
||||
bool isPersistent = true;
|
||||
var password = "testPassword";
|
||||
var lockoutOnFailure = false;
|
||||
var isPersistent = true;
|
||||
_mockIpResolver.Setup(x => x.GetCurrentRequestIpAddress()).Returns("127.0.0.1");
|
||||
|
||||
//act
|
||||
SignInResult actual = await sut.PasswordSignInAsync(fakeUser, password, isPersistent, lockoutOnfailure);
|
||||
SignInResult actual = await sut.PasswordSignInAsync(fakeUser, password, isPersistent, lockoutOnFailure);
|
||||
|
||||
//assert
|
||||
Assert.IsFalse(actual.Succeeded);
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Umbraco.Cms.Web.Common.Security
|
||||
private readonly IIpResolver _ipResolver;
|
||||
|
||||
public MemberSignInManager(
|
||||
MemberManager memberManager,
|
||||
UserManager<MemberIdentityUser> memberManager,
|
||||
IIpResolver ipResolver,
|
||||
IHttpContextAccessor contextAccessor,
|
||||
IUserClaimsPrincipalFactory<MemberIdentityUser> claimsFactory,
|
||||
|
||||
Reference in New Issue
Block a user