Browse Source

Add unit test for multiple IsGrantedAsync.

pull/6119/head
maliming 6 years ago
parent
commit
fd7295ccd6
  1. 3
      framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs
  2. 2
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionStore.cs
  3. 16
      modules/permission-management/test/Volo.Abp.PermissionManagement.Domain.Tests/Volo/Abp/PermissionManagement/PermissionGrantCacheItem_Tests.cs
  4. 16
      modules/permission-management/test/Volo.Abp.PermissionManagement.Domain.Tests/Volo/Abp/PermissionManagement/PermissionStore_Tests.cs

3
framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Security.Claims;
using System.Security.Claims;
using System.Threading.Tasks;
using JetBrains.Annotations;

2
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionStore.cs

@ -119,7 +119,7 @@ namespace Volo.Abp.PermissionManagement
foreach (var item in cacheItems)
{
result.Result.Add(PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull(item.Key),
item.Value.IsGranted
item.Value != null && item.Value.IsGranted
? PermissionGrantResult.Granted
: PermissionGrantResult.Undefined);
}

16
modules/permission-management/test/Volo.Abp.PermissionManagement.Domain.Tests/Volo/Abp/PermissionManagement/PermissionGrantCacheItem_Tests.cs

@ -0,0 +1,16 @@
using Shouldly;
using Xunit;
namespace Volo.Abp.PermissionManagement
{
public class PermissionGrantCacheItem_Tests
{
[Fact]
public void GetPermissionNameFormCacheKeyOrNull()
{
var key = PermissionGrantCacheItem.CalculateCacheKey("aaa", "bbb", "ccc");
PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull(key).ShouldBe("aaa");
PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull("aaabbbccc").ShouldBeNull();
}
}
}

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

@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
@ -28,7 +26,19 @@ namespace Volo.Abp.PermissionManagement
(await _permissionStore.IsGrantedAsync("MyPermission1NotExist",
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString())).ShouldBeFalse();
}
[Fact]
public async Task IsGranted_Multiple()
{
var result = await _permissionStore.IsGrantedAsync(new[] {"MyPermission1", "MyPermission1NotExist"},
UserPermissionValueProvider.ProviderName,
PermissionTestDataBuilder.User1Id.ToString());
result.Result.Count.ShouldBe(2);
result.Result.FirstOrDefault(x => x.Key == "MyPermission1").Value.ShouldBe(PermissionGrantResult.Granted);
result.Result.FirstOrDefault(x => x.Key == "MyPermission1NotExist").Value.ShouldBe(PermissionGrantResult.Undefined);
}
}
}

Loading…
Cancel
Save