in component-test/src/main/java/TestApplications.java [64:105]
public void testCreateAndDeleteApplicationPermission() throws InterruptedException {
try (final AutoUserContext ignored
= tenantApplicationSecurityEnvironment.createAutoSeshatContext()) {
final ApplicationSignatureTestData appPlusSig = setApplicationSignature();
final Permission identityManagementPermission = new Permission();
identityManagementPermission.setPermittableEndpointGroupIdentifier(PermittableGroupIds.IDENTITY_MANAGEMENT);
identityManagementPermission.setAllowedOperations(Collections.singleton(AllowedOperation.READ));
createApplicationPermission(appPlusSig.getApplicationIdentifier(), identityManagementPermission);
{
final List<Permission> applicationPermissions = getTestSubject().getApplicationPermissions(appPlusSig.getApplicationIdentifier());
Assert.assertTrue(applicationPermissions.contains(identityManagementPermission));
final Permission applicationPermission = getTestSubject().getApplicationPermission(appPlusSig.getApplicationIdentifier(), PermittableGroupIds.IDENTITY_MANAGEMENT);
Assert.assertEquals(identityManagementPermission, applicationPermission);
}
final Permission roleManagementPermission = new Permission();
roleManagementPermission.setPermittableEndpointGroupIdentifier(PermittableGroupIds.ROLE_MANAGEMENT);
roleManagementPermission.setAllowedOperations(Collections.singleton(AllowedOperation.READ));
createApplicationPermission(appPlusSig.getApplicationIdentifier(), roleManagementPermission);
{
final List<Permission> applicationPermissions = getTestSubject().getApplicationPermissions(appPlusSig.getApplicationIdentifier());
Assert.assertTrue(applicationPermissions.contains(identityManagementPermission));
Assert.assertTrue(applicationPermissions.contains(roleManagementPermission));
}
getTestSubject().deleteApplicationPermission(appPlusSig.getApplicationIdentifier(), identityManagementPermission.getPermittableEndpointGroupIdentifier());
Assert.assertTrue(eventRecorder.wait(EventConstants.OPERATION_DELETE_APPLICATION_PERMISSION,
new ApplicationPermissionEvent(appPlusSig.getApplicationIdentifier(), PermittableGroupIds.IDENTITY_MANAGEMENT)));
{
final List<Permission> applicationPermissions = getTestSubject().getApplicationPermissions(appPlusSig.getApplicationIdentifier());
Assert.assertFalse(applicationPermissions.contains(identityManagementPermission));
Assert.assertTrue(applicationPermissions.contains(roleManagementPermission));
}
}
}