pull/847/head
Yunus Emre Kalkan 7 years ago
parent 400b79dba9
commit 091e65194d

@ -28,12 +28,12 @@ namespace Volo.Abp.Identity
{
var user = await _userManager.GetByIdAsync(CurrentUser.GetId());
if (await SettingManager.IsTrueAsync(IdentitySettingNames.User.IsUserNameUpdateEnabled))
if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsUserNameUpdateEnabled))
{
(await _userManager.SetUserNameAsync(user, input.UserName)).CheckErrors();
}
if (await SettingManager.IsTrueAsync(IdentitySettingNames.User.IsEmailUpdateEnabled))
if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsEmailUpdateEnabled))
{
(await _userManager.SetEmailAsync(user, input.Email)).CheckErrors();
}

@ -10,15 +10,15 @@ namespace Volo.Abp.Identity
{
public class AbpIdentityOptionsFactory : AbpOptionsFactory<IdentityOptions>
{
private readonly ISettingManager _settingManager;
private readonly ISettingProvider _settingProvider;
public AbpIdentityOptionsFactory(
IEnumerable<IConfigureOptions<IdentityOptions>> setups,
IEnumerable<IPostConfigureOptions<IdentityOptions>> postConfigures,
ISettingManager settingManager)
ISettingProvider settingProvider)
: base(setups, postConfigures)
{
_settingManager = settingManager;
_settingProvider = settingProvider;
}
public override IdentityOptions Create(string name)
@ -32,19 +32,20 @@ namespace Volo.Abp.Identity
protected virtual void OverrideOptions(IdentityOptions options)
{
options.Password.RequiredLength = _settingManager.Get(IdentitySettingNames.Password.RequiredLength, options.Password.RequiredLength);
options.Password.RequiredUniqueChars = _settingManager.Get(IdentitySettingNames.Password.RequiredUniqueChars, options.Password.RequiredUniqueChars);
options.Password.RequireNonAlphanumeric = _settingManager.Get(IdentitySettingNames.Password.RequireNonAlphanumeric, options.Password.RequireNonAlphanumeric);
options.Password.RequireLowercase = _settingManager.Get(IdentitySettingNames.Password.RequireLowercase, options.Password.RequireLowercase);
options.Password.RequireUppercase = _settingManager.Get(IdentitySettingNames.Password.RequireUppercase, options.Password.RequireUppercase);
options.Password.RequireDigit = _settingManager.Get(IdentitySettingNames.Password.RequireDigit, options.Password.RequireDigit);
options.Lockout.AllowedForNewUsers = _settingManager.Get(IdentitySettingNames.Lockout.AllowedForNewUsers, options.Lockout.AllowedForNewUsers);
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromSeconds(_settingManager.Get(IdentitySettingNames.Lockout.LockoutDuration, options.Lockout.DefaultLockoutTimeSpan.TotalSeconds.To<int>()));
options.Lockout.MaxFailedAccessAttempts = _settingManager.Get(IdentitySettingNames.Lockout.MaxFailedAccessAttempts, options.Lockout.MaxFailedAccessAttempts);
options.SignIn.RequireConfirmedEmail = _settingManager.Get(IdentitySettingNames.SignIn.RequireConfirmedEmail, options.SignIn.RequireConfirmedEmail);
options.SignIn.RequireConfirmedPhoneNumber = _settingManager.Get(IdentitySettingNames.SignIn.RequireConfirmedPhoneNumber, options.SignIn.RequireConfirmedPhoneNumber);
options.Password.RequiredLength = _settingProvider.Get(IdentitySettingNames.Password.RequiredLength, options.Password.RequiredLength);
options.Password.RequiredUniqueChars = _settingProvider.Get(IdentitySettingNames.Password.RequiredUniqueChars, options.Password.RequiredUniqueChars);
options.Password.RequireNonAlphanumeric = _settingProvider.Get(IdentitySettingNames.Password.RequireNonAlphanumeric, options.Password.RequireNonAlphanumeric);
options.Password.RequireLowercase = _settingProvider.Get(IdentitySettingNames.Password.RequireLowercase, options.Password.RequireLowercase);
options.Password.RequireUppercase = _settingProvider.Get(IdentitySettingNames.Password.RequireUppercase, options.Password.RequireUppercase);
options.Password.RequireDigit = _settingProvider.Get(IdentitySettingNames.Password.RequireDigit, options.Password.RequireDigit);
options.Lockout.AllowedForNewUsers = _settingProvider.Get(IdentitySettingNames.Lockout.AllowedForNewUsers, options.Lockout.AllowedForNewUsers);
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromSeconds(_settingProvider.Get(IdentitySettingNames.Lockout.LockoutDuration, options.Lockout.DefaultLockoutTimeSpan.TotalSeconds.To<int>()));
options.Lockout.MaxFailedAccessAttempts = _settingProvider.Get(IdentitySettingNames.Lockout.MaxFailedAccessAttempts, options.Lockout.MaxFailedAccessAttempts);
options.SignIn.RequireConfirmedEmail = _settingProvider.Get(IdentitySettingNames.SignIn.RequireConfirmedEmail, options.SignIn.RequireConfirmedEmail);
options.SignIn.RequireConfirmedPhoneNumber = _settingProvider.Get(IdentitySettingNames.SignIn.RequireConfirmedPhoneNumber, options.SignIn.RequireConfirmedPhoneNumber);
}
}
}

@ -14,11 +14,12 @@ namespace Volo.Abp.Identity
public class IdentityOptions_Tests : AbpIdentityDomainTestBase
{
private ISettingManager _settingManager;
private ISettingProvider _settingProvider;
protected override void AfterAddApplication(IServiceCollection services)
{
_settingManager = Substitute.For<ISettingManager>();
_settingManager.GetOrNullAsync(Arg.Any<string>()).Returns((string) null);
_settingProvider.GetOrNullAsync(Arg.Any<string>()).Returns((string) null);
services.Replace(ServiceDescriptor.Singleton(_settingManager));
}
@ -38,7 +39,7 @@ namespace Volo.Abp.Identity
options.Password.RequiredUniqueChars.ShouldBe(1); //Default value
}
_settingManager.GetOrNullAsync(IdentitySettingNames.Password.RequiredLength).Returns(Task.FromResult("42"));
_settingProvider.GetOrNullAsync(IdentitySettingNames.Password.RequiredLength).Returns(Task.FromResult("42"));
using (var scope2 = ServiceProvider.CreateScope())
{

@ -8,37 +8,39 @@ namespace Volo.Abp.SettingManagement
public class SettingManager_Basic_Tests : SettingsTestBase
{
private readonly ISettingManager _settingManager;
private readonly ISettingProvider _settingProvider;
public SettingManager_Basic_Tests()
{
_settingManager = GetRequiredService<ISettingManager>();
_settingProvider = GetRequiredService<ISettingProvider>();
}
[Fact]
public async Task Should_Throw_Exception_When_Try_To_Get_An_Undefined_Setting()
{
await Assert.ThrowsAsync<AbpException>(
async () => await _settingManager.GetOrNullAsync("UndefinedSetting")
async () => await _settingProvider.GetOrNullAsync("UndefinedSetting")
);
}
[Fact]
public async Task Should_Get_Default_Value_If_Not_Set_In_Store()
{
var value = await _settingManager.GetOrNullAsync("SettingNotSetInStore");
var value = await _settingProvider.GetOrNullAsync("SettingNotSetInStore");
value.ShouldBe("default-value");
}
[Fact]
public async Task Should_Get_Base_Store_Value()
{
(await _settingManager.GetOrNullAsync("MySetting1")).ShouldBe("42");
(await _settingProvider.GetOrNullAsync("MySetting1")).ShouldBe("42");
}
[Fact]
public async Task Should_Get_All_Base_Store_Values()
{
var settingValues = await _settingManager.GetAllAsync();
var settingValues = await _settingProvider.GetAllAsync();
settingValues.ShouldContain(sv => sv.Name == "MySetting1" && sv.Value == "42");
settingValues.ShouldContain(sv => sv.Name == "MySetting2" && sv.Value == "default-store-value");
settingValues.ShouldContain(sv => sv.Name == "SettingNotSetInStore" && sv.Value == "default-value");
@ -50,7 +52,7 @@ namespace Volo.Abp.SettingManagement
await _settingManager.SetGlobalAsync("MySetting1", "43");
(await _settingManager.GetOrNullGlobalAsync("MySetting1")).ShouldBe("43");
(await _settingManager.GetOrNullAsync("MySetting1")).ShouldBe("43");
(await _settingProvider.GetOrNullAsync("MySetting1")).ShouldBe("43");
}
}
}

@ -15,11 +15,13 @@ namespace Volo.Abp.SettingManagement
private Guid? _currentUserId;
private readonly ISettingManager _settingManager;
private readonly ISettingProvider _settingProvider;
private readonly SettingTestData _testData;
public SettingManager_User_Tests()
{
_settingManager = GetRequiredService<ISettingManager>();
_settingProvider = GetRequiredService<ISettingProvider>();
_testData = GetRequiredService<SettingTestData>();
}
@ -53,17 +55,17 @@ namespace Volo.Abp.SettingManagement
public async Task Should_Get_From_Store_For_Current_User()
{
_currentUserId = _testData.User1Id;
(await _settingManager.GetOrNullAsync("MySetting2")).ShouldBe("user1-store-value");
(await _settingProvider.GetOrNullAsync("MySetting2")).ShouldBe("user1-store-value");
_currentUserId = _testData.User2Id;
(await _settingManager.GetOrNullAsync("MySetting2")).ShouldBe("user2-store-value");
(await _settingProvider.GetOrNullAsync("MySetting2")).ShouldBe("user2-store-value");
}
[Fact]
public async Task Should_Fallback_To_Default_Store_Value_When_No_Value_For_Current_User()
{
_currentUserId = Guid.NewGuid();
(await _settingManager.GetOrNullAsync("MySetting2")).ShouldBe("default-store-value");
(await _settingProvider.GetOrNullAsync("MySetting2")).ShouldBe("default-store-value");
}
[Fact]
@ -80,7 +82,7 @@ namespace Volo.Abp.SettingManagement
public async Task Should_Fallback_To_Default_Store_Value_When_No_Value_For_Current_User_With_GetOrNullForCurrentUserAsync()
{
_currentUserId = Guid.NewGuid();
(await _settingManager.GetOrNullAsync("MySetting2")).ShouldBe("default-store-value");
(await _settingProvider.GetOrNullAsync("MySetting2")).ShouldBe("default-store-value");
}
[Fact]

Loading…
Cancel
Save