Browse Source

Merge pull request #987 from abpframework/maliming/permission-management

Add PermissionManagement module unit tests.
pull/997/head
Halil İbrahim Kalkan 7 years ago
committed by GitHub
parent
commit
2f765cde43
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      modules/permission-management/Volo.Abp.PermissionManagement.sln
  2. 18
      modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo.Abp.PermissionManagement.Application.Tests.csproj
  3. 27
      modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo/Abp/PermissionManagement/AbpPermissionManagementApplicationTestBase.cs
  4. 28
      modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo/Abp/PermissionManagement/AbpPermissionManagementApplicationTestModule.cs
  5. 96
      modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo/Abp/PermissionManagement/PermissionAppService_Tests.cs
  6. 8
      modules/permission-management/test/Volo.Abp.PermissionManagement.TestBase/Volo/Abp/PermissionManagement/AbpPermissionManagementTestBaseModule.cs
  7. 25
      modules/permission-management/test/Volo.Abp.PermissionManagement.TestBase/Volo/Abp/PermissionManagement/TestPermissionManagementProvider.cs
  8. 0
      modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionChecker_Basic_Tests.cs
  9. 38
      modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionDataSeeder_Tests.cs
  10. 63
      modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionGrantCacheItemInvalidator_Tests.cs
  11. 79
      modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionManagementProvider_Tests.cs
  12. 108
      modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionManager_Tests.cs
  13. 34
      modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionStore_Tests.cs

15
modules/permission-management/Volo.Abp.PermissionManagement.sln

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27428.1
# Visual Studio Version 16
VisualStudioVersion = 16.0.28729.10
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B559B878-38F7-49CC-BC06-43A32D68C1A7}"
EndProject
@ -29,9 +29,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.PermissionManageme
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.PermissionManagement.MongoDB.Tests", "test\Volo.Abp.PermissionManagement.MongoDB.Tests\Volo.Abp.PermissionManagement.MongoDB.Tests.csproj", "{AFA65E08-1F17-4BBE-96A6-80F3CFE22A75}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.PermissionManagement.HttpApi", "src\Volo.Abp.PermissionManagement.HttpApi\Volo.Abp.PermissionManagement.HttpApi.csproj", "{9E0B517E-F02E-436F-9695-7CF12795D34C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.PermissionManagement.HttpApi", "src\Volo.Abp.PermissionManagement.HttpApi\Volo.Abp.PermissionManagement.HttpApi.csproj", "{9E0B517E-F02E-436F-9695-7CF12795D34C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.PermissionManagement.HttpApi.Client", "src\Volo.Abp.PermissionManagement.HttpApi.Client\Volo.Abp.PermissionManagement.HttpApi.Client.csproj", "{1CD80519-9431-48DB-B0EA-291A73FF9F49}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.PermissionManagement.HttpApi.Client", "src\Volo.Abp.PermissionManagement.HttpApi.Client\Volo.Abp.PermissionManagement.HttpApi.Client.csproj", "{1CD80519-9431-48DB-B0EA-291A73FF9F49}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.PermissionManagement.Application.Tests", "test\Volo.Abp.PermissionManagement.Application.Tests\Volo.Abp.PermissionManagement.Application.Tests.csproj", "{A0F72F5F-3713-4E06-ADB7-15ADFDCB79B1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -91,6 +93,10 @@ Global
{1CD80519-9431-48DB-B0EA-291A73FF9F49}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1CD80519-9431-48DB-B0EA-291A73FF9F49}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1CD80519-9431-48DB-B0EA-291A73FF9F49}.Release|Any CPU.Build.0 = Release|Any CPU
{A0F72F5F-3713-4E06-ADB7-15ADFDCB79B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0F72F5F-3713-4E06-ADB7-15ADFDCB79B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0F72F5F-3713-4E06-ADB7-15ADFDCB79B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0F72F5F-3713-4E06-ADB7-15ADFDCB79B1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -109,6 +115,7 @@ Global
{AFA65E08-1F17-4BBE-96A6-80F3CFE22A75} = {63DA4A89-5908-4F37-B7E6-525AEEF20C77}
{9E0B517E-F02E-436F-9695-7CF12795D34C} = {B559B878-38F7-49CC-BC06-43A32D68C1A7}
{1CD80519-9431-48DB-B0EA-291A73FF9F49} = {B559B878-38F7-49CC-BC06-43A32D68C1A7}
{A0F72F5F-3713-4E06-ADB7-15ADFDCB79B1} = {63DA4A89-5908-4F37-B7E6-525AEEF20C77}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8FC7DF78-5E2D-489F-9D43-147D2ABAA112}

18
modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo.Abp.PermissionManagement.Application.Tests.csproj

@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Volo.Abp.PermissionManagement.Application\Volo.Abp.PermissionManagement.Application.csproj" />
<ProjectReference Include="..\Volo.Abp.PermissionManagement.Tests\Volo.Abp.PermissionManagement.Tests.csproj" />
</ItemGroup>
</Project>

27
modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo/Abp/PermissionManagement/AbpPermissionManagementApplicationTestBase.cs

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Extensions.DependencyInjection;
using NSubstitute;
using Volo.Abp.Users;
namespace Volo.Abp.PermissionManagement
{
public class AbpPermissionManagementApplicationTestBase : PermissionManagementTestBase<AbpPermissionManagementApplicationTestModule>
{
protected Guid? CurrentUserId { get; set; }
protected AbpPermissionManagementApplicationTestBase()
{
CurrentUserId = Guid.NewGuid();
}
protected override void AfterAddApplication(IServiceCollection services)
{
var currentUser = Substitute.For<ICurrentUser>();
//currentUser.Id.Returns(ci => CurrentUserId);
currentUser.IsAuthenticated.Returns(true);
services.AddSingleton(currentUser);
}
}
}

28
modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo/Abp/PermissionManagement/AbpPermissionManagementApplicationTestModule.cs

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Modularity;
namespace Volo.Abp.PermissionManagement
{
[DependsOn(
typeof(AbpPermissionManagementApplicationModule),
typeof(AbpPermissionManagementTestModule)
)]
public class AbpPermissionManagementApplicationTestModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAlwaysAllowAuthorization();
context.Services.Configure<PermissionManagementOptions>(options =>
{
options.ProviderPolicies[UserPermissionValueProvider.ProviderName] = UserPermissionValueProvider.ProviderName;
options.ProviderPolicies["Test"] = "Test";
options.ManagementProviders.Add<TestPermissionManagementProvider>();
});
}
}
}

96
modules/permission-management/test/Volo.Abp.PermissionManagement.Application.Tests/Volo/Abp/PermissionManagement/PermissionAppService_Tests.cs

@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
using Xunit;
namespace Volo.Abp.PermissionManagement.Application.Tests.Volo.Abp.PermissionManagement
{
public class PermissionAppService_Tests : AbpPermissionManagementApplicationTestBase
{
private readonly IPermissionAppService _permissionAppService;
private readonly IPermissionGrantRepository _permissionGrantRepository;
public PermissionAppService_Tests()
{
_permissionAppService = GetRequiredService<IPermissionAppService>();
_permissionGrantRepository = GetRequiredService<IPermissionGrantRepository>();
}
[Fact]
public async Task GetAsync()
{
var permissionListResultDto = await _permissionAppService.GetAsync(UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString());
permissionListResultDto.ShouldNotBeNull();
permissionListResultDto.EntityDisplayName.ShouldBe(PermissionTestDataBuilder.User1Id.ToString());
permissionListResultDto.Groups.Count.ShouldBe(1);
permissionListResultDto.Groups.ShouldContain(x => x.Name == "TestGroup");
permissionListResultDto.Groups.First().Permissions.Count.ShouldBe(4);
permissionListResultDto.Groups.First().Permissions.ShouldContain(x => x.Name == "MyPermission1");
permissionListResultDto.Groups.First().Permissions.ShouldContain(x => x.Name == "MyPermission2");
permissionListResultDto.Groups.First().Permissions.ShouldContain(x => x.Name == "MyPermission2.ChildPermission1");
permissionListResultDto.Groups.First().Permissions.ShouldContain(x => x.Name == "MyPermission3");
}
[Fact]
public async Task UpdateAsync()
{
(await _permissionGrantRepository.FindAsync("MyPermission1", "Test",
"Test")).ShouldBeNull();
await _permissionAppService.UpdateAsync("Test",
"Test", new UpdatePermissionsDto()
{
Permissions = new UpdatePermissionDto[]
{
new UpdatePermissionDto()
{
IsGranted = true,
Name = "MyPermission1"
}
}
});
(await _permissionGrantRepository.FindAsync("MyPermission1", "Test",
"Test")).ShouldNotBeNull();
}
[Fact]
public async Task Update_Revoke_Test()
{
_permissionGrantRepository.Insert(
new PermissionGrant(
Guid.NewGuid(),
"MyPermission1",
"Test",
"Test"
)
);
(await _permissionGrantRepository.FindAsync("MyPermission1", "Test",
"Test")).ShouldNotBeNull();
await _permissionAppService.UpdateAsync("Test",
"Test", new UpdatePermissionsDto()
{
Permissions = new UpdatePermissionDto[]
{
new UpdatePermissionDto()
{
IsGranted = false,
Name = "MyPermission1"
}
}
});
(await _permissionGrantRepository.FindAsync("MyPermission1", "Test",
"Test")).ShouldBeNull();
}
}
}

8
modules/permission-management/test/Volo.Abp.PermissionManagement.TestBase/Volo/Abp/PermissionManagement/AbpPermissionManagementTestBaseModule.cs

@ -12,6 +12,14 @@ namespace Volo.Abp.PermissionManagement
)]
public class AbpPermissionManagementTestBaseModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.Configure<PermissionManagementOptions>(options =>
{
options.ManagementProviders.Add<TestPermissionManagementProvider>();
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
SeedTestData(context);

25
modules/permission-management/test/Volo.Abp.PermissionManagement.TestBase/Volo/Abp/PermissionManagement/TestPermissionManagementProvider.cs

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.PermissionManagement
{
public class TestPermissionManagementProvider : PermissionManagementProvider
{
public override string Name => "Test";
public TestPermissionManagementProvider(
IPermissionGrantRepository permissionGrantRepository,
IGuidGenerator guidGenerator,
ICurrentTenant currentTenant)
: base(
permissionGrantRepository,
guidGenerator,
currentTenant)
{
}
}
}

0
modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionManager_Basic_Tests.cs → modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionChecker_Basic_Tests.cs

38
modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionDataSeeder_Tests.cs

@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Shouldly;
using Xunit;
namespace Volo.Abp.PermissionManagement
{
public class PermissionDataSeeder_Tests : PermissionTestBase
{
private readonly IPermissionDataSeeder _permissionDataSeeder;
private readonly IPermissionGrantRepository _grantpermissionGrantRepository;
public PermissionDataSeeder_Tests()
{
_permissionDataSeeder = GetRequiredService<IPermissionDataSeeder>();
_grantpermissionGrantRepository = GetRequiredService<IPermissionGrantRepository>();
}
[Fact]
public async Task SeedAsync()
{
(await _grantpermissionGrantRepository.FindAsync("MyPermission1", "Test", "Test")).ShouldBeNull();
(await _grantpermissionGrantRepository.FindAsync("MyPermission2", "Test", "Test")).ShouldBeNull();
await _permissionDataSeeder.SeedAsync("Test", "Test", new List<string>()
{
"MyPermission1",
"MyPermission2"
});
(await _grantpermissionGrantRepository.FindAsync("MyPermission1", "Test", "Test")).ShouldNotBeNull();
(await _grantpermissionGrantRepository.FindAsync("MyPermission2", "Test", "Test")).ShouldNotBeNull();
}
}
}

63
modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionGrantCacheItemInvalidator_Tests.cs

@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Caching;
using Volo.Abp.MultiTenancy;
using Xunit;
namespace Volo.Abp.PermissionManagement
{
public class PermissionGrantCacheItemInvalidator_Tests : PermissionTestBase
{
private readonly IDistributedCache<PermissionGrantCacheItem> _cache;
private readonly IPermissionStore _permissionStore;
private readonly IPermissionGrantRepository _permissionGrantRepository;
public PermissionGrantCacheItemInvalidator_Tests()
{
_cache = GetRequiredService<IDistributedCache<PermissionGrantCacheItem>>();
_permissionStore = GetRequiredService<IPermissionStore>();
_permissionGrantRepository = GetRequiredService<IPermissionGrantRepository>();
}
[Fact]
public async Task PermissionStore_IsGrantedAsync_Should_Cache_PermissionGrant()
{
(await _cache.GetAsync(PermissionGrantCacheItem.CalculateCacheKey("MyPermission1",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString()))).ShouldBeNull();
await _permissionStore.IsGrantedAsync("MyPermission1",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString());
(await _cache.GetAsync(PermissionGrantCacheItem.CalculateCacheKey("MyPermission1",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString()))).ShouldNotBeNull();
}
[Fact]
public async Task Cache_Should_Invalidator_WhenPermissionGrantChanged()
{
// IsGrantedAsync will cache PermissionGrant
await _permissionStore.IsGrantedAsync("MyPermission1",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString());
var permissionGrant = await _permissionGrantRepository.FindAsync("MyPermission1",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString());
permissionGrant.ShouldNotBeNull();
await _permissionGrantRepository.DeleteAsync(permissionGrant);
(await _cache.GetAsync(PermissionGrantCacheItem.CalculateCacheKey("MyPermission1",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString()))).ShouldBeNull();
}
}
}

79
modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionManagementProvider_Tests.cs

@ -0,0 +1,79 @@
using System;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
using Xunit;
namespace Volo.Abp.PermissionManagement
{
public class PermissionManagementProvider_Tests : PermissionTestBase
{
private readonly IPermissionManagementProvider _permissionManagementProvider;
private readonly IPermissionGrantRepository _permissionGrantRepository;
public PermissionManagementProvider_Tests()
{
_permissionManagementProvider = GetRequiredService<TestPermissionManagementProvider>();
_permissionGrantRepository = GetRequiredService<IPermissionGrantRepository>();
}
[Fact]
public async Task CheckAsync()
{
_permissionGrantRepository.Insert(
new PermissionGrant(
Guid.NewGuid(),
"MyPermission1",
"Test",
"Test"
)
);
var permissionValueProviderGrantInfo = await _permissionManagementProvider.CheckAsync("MyPermission1",
"Test",
"Test");
permissionValueProviderGrantInfo.IsGranted.ShouldBeTrue();
permissionValueProviderGrantInfo.ProviderKey.ShouldBe("Test");
}
[Fact]
public async Task Check_Should_Return_NonGranted_When_ProviderName_NotEquals_Name()
{
var permissionValueProviderGrantInfo = await _permissionManagementProvider.CheckAsync("MyPermission1",
"TestNotExist",
"Test");
permissionValueProviderGrantInfo.IsGranted.ShouldBeFalse();
permissionValueProviderGrantInfo.ProviderKey.ShouldBeNull();
}
[Fact]
public async Task SetAsync()
{
_permissionGrantRepository.Insert(
new PermissionGrant(
Guid.NewGuid(),
"MyPermission1",
"Test",
"Test"
)
);
(await _permissionGrantRepository.FindAsync("MyPermission1",
"Test",
"Test")).ShouldNotBeNull();
await _permissionManagementProvider.SetAsync("MyPermission1",
"Test",
false);
(await _permissionGrantRepository.FindAsync("MyPermission1",
"Test",
"Test")).ShouldBeNull();
}
}
}

108
modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionManager_Tests.cs

@ -0,0 +1,108 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
using Xunit;
namespace Volo.Abp.PermissionManagement
{
public class PermissionManager_Tests : PermissionTestBase
{
private readonly IPermissionManager _permissionManager;
private readonly IPermissionGrantRepository _permissionGrantRepository;
public PermissionManager_Tests()
{
_permissionManager = GetRequiredService<IPermissionManager>();
_permissionGrantRepository = GetRequiredService<IPermissionGrantRepository>();
}
[Fact]
public async Task GetAsync()
{
await _permissionGrantRepository.InsertAsync(new PermissionGrant(
Guid.NewGuid(),
"MyPermission1",
"Test",
"Test")
);
var grantedProviders = await _permissionManager.GetAsync("MyPermission1",
"Test",
"Test");
grantedProviders.ShouldNotBeNull();
grantedProviders.IsGranted.ShouldBeTrue();
grantedProviders.Name.ShouldBe("MyPermission1");
grantedProviders.Providers.ShouldContain(x => x.Key == "Test");
}
[Fact]
public async Task Get_Should_Exception_When_Permission_Undefined()
{
await Assert.ThrowsAsync<AbpException>(async () => await _permissionManager.GetAsync(
"MyPermission1NotExist",
"Test",
"Test"));
}
[Fact]
public async Task GetAllAsync()
{
await _permissionGrantRepository.InsertAsync(new PermissionGrant(
Guid.NewGuid(),
"MyPermission1",
"Test",
"Test")
);
await _permissionGrantRepository.InsertAsync(new PermissionGrant(
Guid.NewGuid(),
"MyPermission2",
"Test",
"Test")
);
var permissionWithGrantedProviders = await _permissionManager.GetAllAsync(
"Test",
"Test");
permissionWithGrantedProviders.ShouldNotBeNull();
permissionWithGrantedProviders.ShouldContain(x =>
x.IsGranted && x.Name == "MyPermission1" && x.Providers.Any(p => p.Key == "Test"));
permissionWithGrantedProviders.ShouldContain(x =>
x.IsGranted && x.Name == "MyPermission2" && x.Providers.Any(p => p.Key == "Test"));
}
[Fact]
public async Task SetAsync()
{
(await _permissionGrantRepository.FindAsync("MyPermission2",
"Test",
"Test")).ShouldBeNull();
await _permissionManager.SetAsync(
"MyPermission2",
"Test",
"Test", true);
(await _permissionGrantRepository.FindAsync("MyPermission2",
"Test",
"Test")).ShouldNotBeNull();
}
[Fact]
public async Task Set_Should_Exception_When_Permission_Undefined()
{
await Assert.ThrowsAsync<AbpException>(async () => await _permissionManager.SetAsync(
"MyPermission1NotExist",
"Test",
"Test",
true));
}
}
}

34
modules/permission-management/test/Volo.Abp.PermissionManagement.Tests/Volo/Abp/PermissionManagement/PermissionStore_Tests.cs

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
using Xunit;
namespace Volo.Abp.PermissionManagement
{
public class PermissionStore_Tests : PermissionTestBase
{
private readonly IPermissionStore _permissionStore;
public PermissionStore_Tests()
{
_permissionStore = GetRequiredService<IPermissionStore>();
}
[Fact]
public async Task IsGrantedAsync()
{
(await _permissionStore.IsGrantedAsync("MyPermission1",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString())).ShouldBeTrue();
(await _permissionStore.IsGrantedAsync("MyPermission1NotExist",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString())).ShouldBeFalse();
}
}
}
Loading…
Cancel
Save