Add functionality for all pmg features
This commit is contained in:
@ -1,14 +1,10 @@
|
||||
package de.mummeit.pmg.api;
|
||||
|
||||
import de.mummeit.pmg.api.model.access.request.CheckAccessRequest;
|
||||
import de.mummeit.pmg.api.model.access.request.Permit;
|
||||
import de.mummeit.pmg.api.model.access.request.PermitRequest;
|
||||
import de.mummeit.pmg.api.model.access.request.RevokeScopeAccessRequest;
|
||||
import de.mummeit.pmg.api.model.access.request.RevokeUserAccessRequest;
|
||||
import de.mummeit.pmg.api.model.access.request.SearchPermitRequest;
|
||||
import de.mummeit.pmg.api.model.access.request.*;
|
||||
import de.mummeit.pmg.api.model.access.response.PermittedResponse;
|
||||
import de.mummeit.pmg.api.model.integration.DomainIntegration;
|
||||
import de.mummeit.pmg.api.model.access.response.ListPermittedScopesResponse;
|
||||
import de.mummeit.pmg.api.model.integration.Integration;
|
||||
import de.mummeit.pmg.api.model.integration.DomainIntegration;
|
||||
import de.mummeit.pmg.api.model.integration.PermissionIntegration;
|
||||
import de.mummeit.pmg.api.model.integration.RoleIntegration;
|
||||
import de.mummeit.pmg.api.model.integration.RolePermissionRelationIntegration;
|
||||
@ -16,6 +12,7 @@ import de.mummeit.pmg.api.model.structure.Domain;
|
||||
import de.mummeit.pmg.api.model.structure.Permission;
|
||||
import de.mummeit.pmg.api.model.structure.Role;
|
||||
import de.mummeit.utility.BaseIntegrationTest;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -35,6 +32,15 @@ class PermissionManagerClientIntegrationTest extends BaseIntegrationTest {
|
||||
private static final String TEST_USER = "test-user";
|
||||
private static final String TEST_SCOPE = "test-scope";
|
||||
|
||||
@AfterEach
|
||||
void cleanup() {
|
||||
try {
|
||||
permissionManagerClient.deleteDomain(TEST_DOMAIN);
|
||||
} catch (Exception e) {
|
||||
// Ignore errors during cleanup
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("should return health status")
|
||||
void getHealthStatus() {
|
||||
@ -251,4 +257,62 @@ class PermissionManagerClientIntegrationTest extends BaseIntegrationTest {
|
||||
// Clean up
|
||||
permissionManagerClient.deleteDomain(TEST_DOMAIN);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("should list permitted scopes successfully")
|
||||
void listPermittedScopes() {
|
||||
// Setup: Create domain, permission, and role
|
||||
Domain domain = new Domain();
|
||||
domain.setName(TEST_DOMAIN);
|
||||
permissionManagerClient.createDomain(domain);
|
||||
|
||||
Permission permission = new Permission();
|
||||
permission.setName(TEST_PERMISSION);
|
||||
permissionManagerClient.createPermission(TEST_DOMAIN, permission);
|
||||
|
||||
Role role = new Role();
|
||||
role.setName(TEST_ROLE);
|
||||
role.setPermissions(List.of());
|
||||
permissionManagerClient.createRole(TEST_DOMAIN, role);
|
||||
|
||||
// Grant access in multiple scopes
|
||||
PermitRequest permitRequest1 = new PermitRequest();
|
||||
Permit permit1 = new Permit();
|
||||
permit1.setDomain(TEST_DOMAIN);
|
||||
permit1.setRoles(List.of(TEST_ROLE));
|
||||
permit1.setPermissions(List.of(TEST_PERMISSION));
|
||||
permitRequest1.setPermits(List.of(permit1));
|
||||
permitRequest1.setUserId(TEST_USER);
|
||||
permitRequest1.setScope(TEST_SCOPE);
|
||||
permissionManagerClient.permitAccess(permitRequest1);
|
||||
|
||||
String secondScope = TEST_SCOPE + "-2";
|
||||
PermitRequest permitRequest2 = new PermitRequest();
|
||||
Permit permit2 = new Permit();
|
||||
permit2.setDomain(TEST_DOMAIN);
|
||||
permit2.setRoles(List.of(TEST_ROLE));
|
||||
permit2.setPermissions(List.of(TEST_PERMISSION));
|
||||
permitRequest2.setPermits(List.of(permit2));
|
||||
permitRequest2.setUserId(TEST_USER);
|
||||
permitRequest2.setScope(secondScope);
|
||||
permissionManagerClient.permitAccess(permitRequest2);
|
||||
|
||||
// Test listing permitted scopes
|
||||
ListPermittedScopesRequest request = new ListPermittedScopesRequest();
|
||||
request.setUserId(TEST_USER);
|
||||
request.setDomain(TEST_DOMAIN);
|
||||
request.setPermission(TEST_PERMISSION);
|
||||
|
||||
ListPermittedScopesResponse response = permissionManagerClient.listPermittedScopes(request);
|
||||
assertNotNull(response);
|
||||
assertNotNull(response.getScopes());
|
||||
assertEquals(2, response.getScopes().size());
|
||||
assertTrue(response.getScopes().contains(TEST_SCOPE));
|
||||
assertTrue(response.getScopes().contains(secondScope));
|
||||
|
||||
// Clean up
|
||||
permissionManagerClient.deleteRole(TEST_DOMAIN, TEST_ROLE);
|
||||
permissionManagerClient.deletePermission(TEST_DOMAIN, TEST_PERMISSION);
|
||||
permissionManagerClient.deleteDomain(TEST_DOMAIN);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user