Browse Source

Add unit tests for user/role delete event.

pull/18051/head
maliming 2 years ago
parent
commit
9059198ee9
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 22
      modules/identity/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/IdentityRoleAppService_Tests.cs
  2. 20
      modules/identity/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/IdentityUserAppService_Tests.cs

22
modules/identity/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/IdentityRoleAppService_Tests.cs

@ -4,6 +4,9 @@ using System.Threading.Tasks;
using Xunit;
using Shouldly;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.PermissionManagement;
using Volo.Abp.PermissionManagement.Identity;
namespace Volo.Abp.Identity;
@ -11,11 +14,14 @@ public class IdentityRoleAppService_Tests : AbpIdentityApplicationTestBase
{
private readonly IIdentityRoleAppService _roleAppService;
private readonly IIdentityRoleRepository _roleRepository;
private readonly IPermissionManager _permissionManager;
private readonly RolePermissionManagementProvider _rolePermissionManagementProvider;
public IdentityRoleAppService_Tests()
{
_roleAppService = GetRequiredService<IIdentityRoleAppService>();
_roleRepository = GetRequiredService<IIdentityRoleRepository>();
_permissionManager = GetRequiredService<IPermissionManager>();
_rolePermissionManagementProvider = GetRequiredService<RolePermissionManagementProvider>();
}
[Fact]
@ -125,6 +131,20 @@ public class IdentityRoleAppService_Tests : AbpIdentityApplicationTestBase
(await FindRoleAsync("moderator")).ShouldBeNull();
}
[Fact]
public async Task Role_Permissions_Should_Deleted_If_Role_Deleted()
{
var moderator = await GetRoleAsync("moderator");
(await _rolePermissionManagementProvider.CheckAsync(IdentityPermissions.Users.Create, RolePermissionValueProvider.ProviderName, moderator.Name)).IsGranted.ShouldBeFalse();
await _permissionManager.SetForRoleAsync(moderator.Name, IdentityPermissions.Users.Create, true);
(await _rolePermissionManagementProvider.CheckAsync(IdentityPermissions.Users.Create, RolePermissionValueProvider.ProviderName, moderator.Name)).IsGranted.ShouldBeTrue();
await _roleAppService.DeleteAsync(moderator.Id);
(await _rolePermissionManagementProvider.CheckAsync(IdentityPermissions.Users.Create, RolePermissionValueProvider.ProviderName, moderator.Name)).IsGranted.ShouldBeFalse();
}
private async Task<IdentityRole> GetRoleAsync(string roleName)
{
return (await _roleRepository.GetListAsync()).First(u => u.Name == roleName);

20
modules/identity/test/Volo.Abp.Identity.Application.Tests/Volo/Abp/Identity/IdentityUserAppService_Tests.cs

@ -1,7 +1,10 @@
using System;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Data;
using Volo.Abp.PermissionManagement;
using Volo.Abp.PermissionManagement.Identity;
using Xunit;
namespace Volo.Abp.Identity;
@ -10,12 +13,16 @@ public class IdentityUserAppService_Tests : AbpIdentityApplicationTestBase
{
private readonly IIdentityUserAppService _userAppService;
private readonly IIdentityUserRepository _userRepository;
private readonly IPermissionManager _permissionManager;
private readonly UserPermissionManagementProvider _userPermissionManagementProvider;
private readonly IdentityTestData _testData;
public IdentityUserAppService_Tests()
{
_userAppService = GetRequiredService<IIdentityUserAppService>();
_userRepository = GetRequiredService<IIdentityUserRepository>();
_permissionManager = GetRequiredService<IPermissionManager>();
_userPermissionManagementProvider = GetRequiredService<UserPermissionManagementProvider>();
_testData = GetRequiredService<IdentityTestData>();
}
@ -174,6 +181,19 @@ public class IdentityUserAppService_Tests : AbpIdentityApplicationTestBase
FindUser("john.nash").ShouldBeNull();
}
[Fact]
public async Task User_Permissions_Should_Deleted_If_User_Deleted()
{
var johnNash = GetUser("john.nash");
(await _userPermissionManagementProvider.CheckAsync(IdentityPermissions.Users.Create, UserPermissionValueProvider.ProviderName, johnNash.Id.ToString())).IsGranted.ShouldBeFalse();
await _permissionManager.SetForUserAsync(johnNash.Id, IdentityPermissions.Users.Create, true);
(await _userPermissionManagementProvider.CheckAsync(IdentityPermissions.Users.Create, UserPermissionValueProvider.ProviderName, johnNash.Id.ToString())).IsGranted.ShouldBeTrue();
await _userAppService.DeleteAsync(johnNash.Id);
(await _userPermissionManagementProvider.CheckAsync(IdentityPermissions.Users.Create, UserPermissionValueProvider.ProviderName, johnNash.Id.ToString())).IsGranted.ShouldBeFalse();
}
[Fact]
public async Task GetRolesAsync()
{

Loading…
Cancel
Save