mirror of https://github.com/abpframework/abp.git
7 changed files with 3 additions and 157 deletions
@ -1,31 +0,0 @@ |
|||||
using System; |
|
||||
using System.Threading.Tasks; |
|
||||
using JetBrains.Annotations; |
|
||||
|
|
||||
namespace Volo.Abp.Settings |
|
||||
{ |
|
||||
public static class SettingManagerExtensions |
|
||||
{ |
|
||||
public static async Task<bool> IsTrueAsync([NotNull] this ISettingManager settingManager, [NotNull] string name) |
|
||||
{ |
|
||||
Check.NotNull(settingManager, nameof(settingManager)); |
|
||||
Check.NotNull(name, nameof(name)); |
|
||||
|
|
||||
return string.Equals( |
|
||||
await settingManager.GetOrNullAsync(name), |
|
||||
"true", |
|
||||
StringComparison.OrdinalIgnoreCase |
|
||||
); |
|
||||
} |
|
||||
|
|
||||
public static async Task<T> GetAsync<T>([NotNull] this ISettingManager settingManager, [NotNull] string name, T defaultValue = default) |
|
||||
where T : struct |
|
||||
{ |
|
||||
Check.NotNull(settingManager, nameof(settingManager)); |
|
||||
Check.NotNull(name, nameof(name)); |
|
||||
|
|
||||
var value = await settingManager.GetOrNullAsync(name); |
|
||||
return value?.To<T>() ?? defaultValue; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,34 +0,0 @@ |
|||||
using System.Collections.Generic; |
|
||||
using JetBrains.Annotations; |
|
||||
using Volo.Abp.Threading; |
|
||||
|
|
||||
namespace Volo.Abp.Settings |
|
||||
{ |
|
||||
public static class SettingManagerSyncExtensions |
|
||||
{ |
|
||||
public static string GetOrNull([NotNull] this ISettingManager settingManager, [NotNull] string name) |
|
||||
{ |
|
||||
Check.NotNull(settingManager, nameof(settingManager)); |
|
||||
|
|
||||
return AsyncHelper.RunSync(() => settingManager.GetOrNullAsync(name)); |
|
||||
} |
|
||||
|
|
||||
public static List<SettingValue> GetAll([NotNull] this ISettingManager settingManager) |
|
||||
{ |
|
||||
Check.NotNull(settingManager, nameof(settingManager)); |
|
||||
|
|
||||
return AsyncHelper.RunSync(settingManager.GetAllAsync); |
|
||||
} |
|
||||
|
|
||||
public static T Get<T>([NotNull] this ISettingManager settingManager, [NotNull] string name, T defaultValue = default) |
|
||||
where T : struct |
|
||||
{ |
|
||||
return AsyncHelper.RunSync(() => settingManager.GetAsync(name, defaultValue)); |
|
||||
} |
|
||||
|
|
||||
public static bool IsTrue([NotNull] this ISettingManager settingManager, [NotNull] string name) |
|
||||
{ |
|
||||
return AsyncHelper.RunSync(() => settingManager.IsTrueAsync(name)); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,53 +0,0 @@ |
|||||
using System.Threading.Tasks; |
|
||||
using Shouldly; |
|
||||
using Xunit; |
|
||||
|
|
||||
namespace Volo.Abp.Settings |
|
||||
{ |
|
||||
public class SettingManager_Tests : AbpIntegratedTest<AbpSettingsTestModule> |
|
||||
{ |
|
||||
private readonly ISettingManager _settingManager; |
|
||||
|
|
||||
public SettingManager_Tests() |
|
||||
{ |
|
||||
_settingManager = GetRequiredService<ISettingManager>(); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public async Task Should_Get_Null_If_No_Value_Provided_And_No_Default_Value() |
|
||||
{ |
|
||||
(await _settingManager.GetOrNullAsync(TestSettingNames.TestSettingWithoutDefaultValue)) |
|
||||
.ShouldBeNull(); |
|
||||
} |
|
||||
|
|
||||
[Fact] |
|
||||
public async Task Should_Get_Default_Value_If_No_Value_Provided_And_There_Is_A_Default_Value() |
|
||||
{ |
|
||||
(await _settingManager.GetOrNullAsync(TestSettingNames.TestSettingWithDefaultValue)) |
|
||||
.ShouldBe("default-value"); |
|
||||
} |
|
||||
|
|
||||
[Theory] |
|
||||
[InlineData(null)] |
|
||||
[InlineData("")] |
|
||||
[InlineData("abc")] |
|
||||
[InlineData("This is a relatively long text... This is a relatively long text... This is a relatively long text... ")] |
|
||||
public async Task Should_Set_And_Get_Encrypted_Values(string plainValue) |
|
||||
{ |
|
||||
(await _settingManager.GetOrNullAsync(TestSettingNames.TestSettingEncrypted)) |
|
||||
.ShouldBeNull(); |
|
||||
|
|
||||
await _settingManager.SetAsync( |
|
||||
TestSettingNames.TestSettingEncrypted, |
|
||||
plainValue, |
|
||||
TestSettingValueProvider.ProviderName, |
|
||||
null |
|
||||
); |
|
||||
|
|
||||
(await _settingManager.GetOrNullAsync(TestSettingNames.TestSettingEncrypted)) |
|
||||
.ShouldBe(plainValue); |
|
||||
} |
|
||||
|
|
||||
//TODO: Needs more tests with more advanced scenarios.
|
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue