Loading gms/src/main/java/it/inaf/ia2/gms/controller/JWTWebServiceController.java +1 −1 Original line number Diff line number Diff line Loading @@ -261,7 +261,7 @@ public class JWTWebServiceController { if (userId.isPresent()) { try ( PrintWriter pw = new PrintWriter(response.getOutputStream())) { for (UserPermission userPermission : searchService.getUserPermission(groupEntity, userId.get(), permissionsManager.getCurrentUserPermissions(groupEntity))) { String group = String.join(".", userPermission.getGroupCompleteName()); String group = groupNameService.getCompleteName(userPermission.getGroupCompleteName()); pw.println(group + " " + userPermission.getPermission()); } } Loading gms/src/main/java/it/inaf/ia2/gms/controller/PermissionsController.java +1 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ public class PermissionsController { if (userId.isPresent()) { try ( PrintWriter pw = new PrintWriter(response.getOutputStream())) { for (UserPermission userPermission : searchService.getUserPermission(groupEntity, userId.get(), permissionsManager.getCurrentUserPermissions(groupEntity))) { String group = String.join(".", userPermission.getGroupCompleteName()); String group = groupNameService.getCompleteName(userPermission.getGroupCompleteName()); pw.println(group + " " + userPermission.getPermission()); } } Loading gms/src/main/java/it/inaf/ia2/gms/service/GroupNameService.java +3 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,9 @@ public class GroupNameService { } private List<String> splitNames(String completeGroupName) { return Arrays.asList(completeGroupName.split("(?<!\\\\)\\.")); return Arrays.stream(completeGroupName.split("(?<!\\\\)\\.")) .map(name -> name.replace("\\.", ".")) .collect(Collectors.toList()); } public String getShortGroupName(String completeGroupName, Optional<String> groupPrefix) { Loading gms/src/test/java/it/inaf/ia2/gms/controller/PermissionsControllerTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -7,11 +7,14 @@ import it.inaf.ia2.gms.manager.PermissionsManager; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RapUserPermission; import it.inaf.ia2.gms.model.request.AddPermissionRequest; import it.inaf.ia2.gms.model.response.UserPermission; import it.inaf.ia2.gms.persistence.GroupsDAO; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.SearchService; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; import static org.hamcrest.CoreMatchers.is; Loading Loading @@ -45,6 +48,9 @@ public class PermissionsControllerTest { @Mock private PermissionsManager permissionsManager; @Mock private SearchService searchService; @Mock private GroupsDAO groupsDAO; Loading Loading @@ -137,6 +143,26 @@ public class PermissionsControllerTest { .andExpect(content().string("rap_user ADMIN\n")); } @Test public void testGetUserPermissions() throws Exception { when(groupsDAO.findGroupByParentAndName("", "people")).thenReturn(Optional.of(getPeopleGroup())); when(groupsDAO.findGroupByParentAndName("people_id", "name.surname")).thenReturn(Optional.of(getNameSurnameGroup())); List<UserPermission> permissions = new ArrayList<>(); UserPermission up = new UserPermission(); up.setGroupCompleteName(Arrays.asList("people", "name.surname")); up.setPermission(Permission.VIEW_MEMBERS); permissions.add(up); when(searchService.getUserPermission(any(), any(), any())).thenReturn(permissions); mockMvc.perform(get("/permission?group=people.name\\.surname&user_id=id").principal(getPrincipal()) .accept(MediaType.TEXT_PLAIN)) .andExpect(status().isOk()) .andExpect(content().string("people.name\\.surname VIEW_MEMBERS\n")); } @Test public void testAddPermission() throws Exception { Loading gms/src/test/java/it/inaf/ia2/gms/service/GroupNameServiceTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ public class GroupNameServiceTest { assertEquals(1, names.size()); assertEquals(2, names.get("def").size()); assertEquals("Parent_group", names.get("def").get(0)); assertEquals("Child\\.withDot", names.get("def").get(1)); assertEquals("Child.withDot", names.get("def").get(1)); } @Test Loading Loading
gms/src/main/java/it/inaf/ia2/gms/controller/JWTWebServiceController.java +1 −1 Original line number Diff line number Diff line Loading @@ -261,7 +261,7 @@ public class JWTWebServiceController { if (userId.isPresent()) { try ( PrintWriter pw = new PrintWriter(response.getOutputStream())) { for (UserPermission userPermission : searchService.getUserPermission(groupEntity, userId.get(), permissionsManager.getCurrentUserPermissions(groupEntity))) { String group = String.join(".", userPermission.getGroupCompleteName()); String group = groupNameService.getCompleteName(userPermission.getGroupCompleteName()); pw.println(group + " " + userPermission.getPermission()); } } Loading
gms/src/main/java/it/inaf/ia2/gms/controller/PermissionsController.java +1 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ public class PermissionsController { if (userId.isPresent()) { try ( PrintWriter pw = new PrintWriter(response.getOutputStream())) { for (UserPermission userPermission : searchService.getUserPermission(groupEntity, userId.get(), permissionsManager.getCurrentUserPermissions(groupEntity))) { String group = String.join(".", userPermission.getGroupCompleteName()); String group = groupNameService.getCompleteName(userPermission.getGroupCompleteName()); pw.println(group + " " + userPermission.getPermission()); } } Loading
gms/src/main/java/it/inaf/ia2/gms/service/GroupNameService.java +3 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,9 @@ public class GroupNameService { } private List<String> splitNames(String completeGroupName) { return Arrays.asList(completeGroupName.split("(?<!\\\\)\\.")); return Arrays.stream(completeGroupName.split("(?<!\\\\)\\.")) .map(name -> name.replace("\\.", ".")) .collect(Collectors.toList()); } public String getShortGroupName(String completeGroupName, Optional<String> groupPrefix) { Loading
gms/src/test/java/it/inaf/ia2/gms/controller/PermissionsControllerTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -7,11 +7,14 @@ import it.inaf.ia2.gms.manager.PermissionsManager; import it.inaf.ia2.gms.model.Permission; import it.inaf.ia2.gms.model.RapUserPermission; import it.inaf.ia2.gms.model.request.AddPermissionRequest; import it.inaf.ia2.gms.model.response.UserPermission; import it.inaf.ia2.gms.persistence.GroupsDAO; import it.inaf.ia2.gms.persistence.model.GroupEntity; import it.inaf.ia2.gms.persistence.model.PermissionEntity; import it.inaf.ia2.gms.service.GroupNameService; import it.inaf.ia2.gms.service.SearchService; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; import static org.hamcrest.CoreMatchers.is; Loading Loading @@ -45,6 +48,9 @@ public class PermissionsControllerTest { @Mock private PermissionsManager permissionsManager; @Mock private SearchService searchService; @Mock private GroupsDAO groupsDAO; Loading Loading @@ -137,6 +143,26 @@ public class PermissionsControllerTest { .andExpect(content().string("rap_user ADMIN\n")); } @Test public void testGetUserPermissions() throws Exception { when(groupsDAO.findGroupByParentAndName("", "people")).thenReturn(Optional.of(getPeopleGroup())); when(groupsDAO.findGroupByParentAndName("people_id", "name.surname")).thenReturn(Optional.of(getNameSurnameGroup())); List<UserPermission> permissions = new ArrayList<>(); UserPermission up = new UserPermission(); up.setGroupCompleteName(Arrays.asList("people", "name.surname")); up.setPermission(Permission.VIEW_MEMBERS); permissions.add(up); when(searchService.getUserPermission(any(), any(), any())).thenReturn(permissions); mockMvc.perform(get("/permission?group=people.name\\.surname&user_id=id").principal(getPrincipal()) .accept(MediaType.TEXT_PLAIN)) .andExpect(status().isOk()) .andExpect(content().string("people.name\\.surname VIEW_MEMBERS\n")); } @Test public void testAddPermission() throws Exception { Loading
gms/src/test/java/it/inaf/ia2/gms/service/GroupNameServiceTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ public class GroupNameServiceTest { assertEquals(1, names.size()); assertEquals(2, names.get("def").size()); assertEquals("Parent_group", names.get("def").get(0)); assertEquals("Child\\.withDot", names.get("def").get(1)); assertEquals("Child.withDot", names.get("def").get(1)); } @Test Loading