mirror of https://github.com/abpframework/abp.git
6 changed files with 103 additions and 15 deletions
@ -0,0 +1,58 @@ |
|||
using System.Threading.Tasks; |
|||
using Shouldly; |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Volo.Abp.Authorization.Permissions.Resources; |
|||
using Volo.Abp.Authorization.TestServices.Resources; |
|||
using Xunit; |
|||
|
|||
namespace Volo.Abp.Authorization; |
|||
|
|||
public class ResourcePermissionChecker_Tests: AuthorizationTestBase |
|||
{ |
|||
private readonly IResourcePermissionChecker _resourcePermissionChecker; |
|||
|
|||
public ResourcePermissionChecker_Tests() |
|||
{ |
|||
_resourcePermissionChecker = GetRequiredService<IResourcePermissionChecker>(); |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task IsGrantedAsync() |
|||
{ |
|||
(await _resourcePermissionChecker.IsGrantedAsync("MyResourcePermission5", TestEntityResource.ResourceName, TestEntityResource.ResourceKey5)).ShouldBe(true); |
|||
(await _resourcePermissionChecker.IsGrantedAsync("UndefinedResourcePermission", TestEntityResource.ResourceName, TestEntityResource.ResourceKey5)).ShouldBe(false); |
|||
} |
|||
|
|||
[Fact] |
|||
public async Task IsGranted_Multiple_Result_Async() |
|||
{ |
|||
var result = await _resourcePermissionChecker.IsGrantedAsync(new [] |
|||
{ |
|||
"MyResourcePermission1", |
|||
"MyResourcePermission2", |
|||
"UndefinedPermission", |
|||
"MyResourcePermission3", |
|||
"MyResourcePermission4", |
|||
"MyResourcePermission5" |
|||
}, TestEntityResource.ResourceName, TestEntityResource.ResourceKey5); |
|||
|
|||
result.Result["MyResourcePermission1"].ShouldBe(PermissionGrantResult.Undefined); |
|||
result.Result["MyResourcePermission2"].ShouldBe(PermissionGrantResult.Prohibited); |
|||
result.Result["UndefinedPermission"].ShouldBe(PermissionGrantResult.Prohibited); |
|||
result.Result["MyResourcePermission3"].ShouldBe(PermissionGrantResult.Granted); |
|||
result.Result["MyResourcePermission4"].ShouldBe(PermissionGrantResult.Prohibited); |
|||
result.Result["MyResourcePermission5"].ShouldBe(PermissionGrantResult.Granted); |
|||
|
|||
result = await _resourcePermissionChecker.IsGrantedAsync(new [] |
|||
{ |
|||
"MyResourcePermission6", |
|||
}, TestEntityResource.ResourceName, TestEntityResource.ResourceKey6); |
|||
result.Result["MyResourcePermission6"].ShouldBe(PermissionGrantResult.Granted); |
|||
|
|||
result = await _resourcePermissionChecker.IsGrantedAsync(new [] |
|||
{ |
|||
"MyResourcePermission7", |
|||
}, TestEntityResource.ResourceName, TestEntityResource.ResourceKey7); |
|||
result.Result["MyResourcePermission7"].ShouldBe(PermissionGrantResult.Granted); |
|||
} |
|||
} |
|||
@ -1,6 +1,16 @@ |
|||
using System; |
|||
|
|||
namespace Volo.Abp.Authorization.TestServices.Resources; |
|||
|
|||
public class TestEntityResource |
|||
{ |
|||
public static readonly string ResourceName = typeof(TestEntityResource).FullName; |
|||
|
|||
public static readonly string ResourceKey1 = Guid.NewGuid().ToString(); |
|||
public static readonly string ResourceKey2 = Guid.NewGuid().ToString(); |
|||
public static readonly string ResourceKey3 = Guid.NewGuid().ToString(); |
|||
public static readonly string ResourceKey4 = Guid.NewGuid().ToString(); |
|||
public static readonly string ResourceKey5 = Guid.NewGuid().ToString(); |
|||
public static readonly string ResourceKey6 = Guid.NewGuid().ToString(); |
|||
public static readonly string ResourceKey7 = Guid.NewGuid().ToString(); |
|||
} |
|||
|
|||
Loading…
Reference in new issue