You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.2 KiB
96 lines
3.2 KiB
|
|
using Microsoft.AspNetCore.Identity; |
|
using Microsoft.Extensions.Logging; |
|
using Microsoft.Extensions.Options; |
|
|
|
namespace Bit.Identity.Test.Wrappers; |
|
|
|
public class UserManagerTestWrapper<TUser> : UserManager<TUser> where TUser : class |
|
{ |
|
/// <summary> |
|
/// Modify this value to mock the responses from UserManager.GetTwoFactorEnabledAsync() |
|
/// </summary> |
|
public bool TWO_FACTOR_ENABLED { get; set; } = false; |
|
/// <summary> |
|
/// Modify this value to mock the responses from UserManager.GetValidTwoFactorProvidersAsync() |
|
/// </summary> |
|
public IList<string> TWO_FACTOR_PROVIDERS { get; set; } = []; |
|
/// <summary> |
|
/// Modify this value to mock the responses from UserManager.GenerateTwoFactorTokenAsync() |
|
/// </summary> |
|
public string TWO_FACTOR_TOKEN { get; set; } = string.Empty; |
|
/// <summary> |
|
/// Modify this value to mock the responses from UserManager.VerifyTwoFactorTokenAsync() |
|
/// </summary> |
|
public bool TWO_FACTOR_TOKEN_VERIFIED { get; set; } = false; |
|
|
|
/// <summary> |
|
/// Modify this value to mock the responses from UserManager.SupportsUserTwoFactor |
|
/// </summary> |
|
public bool SUPPORTS_TWO_FACTOR { get; set; } = false; |
|
|
|
public override bool SupportsUserTwoFactor |
|
{ |
|
get |
|
{ |
|
return SUPPORTS_TWO_FACTOR; |
|
} |
|
} |
|
|
|
public UserManagerTestWrapper( |
|
IUserStore<TUser> store, |
|
IOptions<IdentityOptions> optionsAccessor, |
|
IPasswordHasher<TUser> passwordHasher, |
|
IEnumerable<IUserValidator<TUser>> userValidators, |
|
IEnumerable<IPasswordValidator<TUser>> passwordValidators, |
|
ILookupNormalizer keyNormalizer, |
|
IdentityErrorDescriber errors, |
|
IServiceProvider services, |
|
ILogger<UserManager<TUser>> logger) |
|
: base(store, optionsAccessor, passwordHasher, userValidators, passwordValidators, |
|
keyNormalizer, errors, services, logger) |
|
{ } |
|
|
|
/// <summary> |
|
/// return class variable TWO_FACTOR_ENABLED |
|
/// </summary> |
|
/// <param name="user"></param> |
|
/// <returns></returns> |
|
public override async Task<bool> GetTwoFactorEnabledAsync(TUser user) |
|
{ |
|
return TWO_FACTOR_ENABLED; |
|
} |
|
|
|
/// <summary> |
|
/// return class variable TWO_FACTOR_PROVIDERS |
|
/// </summary> |
|
/// <param name="user"></param> |
|
/// <returns></returns> |
|
public override async Task<IList<string>> GetValidTwoFactorProvidersAsync(TUser user) |
|
{ |
|
return TWO_FACTOR_PROVIDERS; |
|
} |
|
|
|
/// <summary> |
|
/// return class variable TWO_FACTOR_TOKEN |
|
/// </summary> |
|
/// <param name="user"></param> |
|
/// <param name="tokenProvider"></param> |
|
/// <returns></returns> |
|
public override async Task<string> GenerateTwoFactorTokenAsync(TUser user, string tokenProvider) |
|
{ |
|
return TWO_FACTOR_TOKEN; |
|
} |
|
|
|
/// <summary> |
|
/// return class variable TWO_FACTOR_TOKEN_VERIFIED |
|
/// </summary> |
|
/// <param name="user"></param> |
|
/// <param name="tokenProvider"></param> |
|
/// <param name="token"></param> |
|
/// <returns></returns> |
|
public override async Task<bool> VerifyTwoFactorTokenAsync(TUser user, string tokenProvider, string token) |
|
{ |
|
return TWO_FACTOR_TOKEN_VERIFIED; |
|
} |
|
}
|
|
|