diff --git a/gms/src/main/java/it/inaf/ia2/gms/service/GroupNameService.java b/gms/src/main/java/it/inaf/ia2/gms/service/GroupNameService.java index 98aaeadd5cf3beb79eba5d021a90334e72346e5b..4519f2e148111f9b7f936dff6feaac63daf37433 100644 --- a/gms/src/main/java/it/inaf/ia2/gms/service/GroupNameService.java +++ b/gms/src/main/java/it/inaf/ia2/gms/service/GroupNameService.java @@ -144,7 +144,7 @@ public class GroupNameService { currentName += c; } } - names.add(currentName); + names.add(currentName.replace("\\.", ".")); return names; } diff --git a/gms/src/test/java/it/inaf/ia2/gms/service/GroupNameServiceTest.java b/gms/src/test/java/it/inaf/ia2/gms/service/GroupNameServiceTest.java index 6b4b94643c51e5b0b9ec4b40049004b6bb85c0e7..46bc11fad771548416c5e70ee7b614b2c9d75c69 100644 --- a/gms/src/test/java/it/inaf/ia2/gms/service/GroupNameServiceTest.java +++ b/gms/src/test/java/it/inaf/ia2/gms/service/GroupNameServiceTest.java @@ -11,6 +11,7 @@ import java.util.Map; import java.util.Optional; import java.util.Set; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import org.junit.Test; import org.junit.runner.RunWith; import static org.mockito.ArgumentMatchers.any; @@ -76,4 +77,26 @@ public class GroupNameServiceTest { assertEquals(1, names.get("ROOT").size()); assertEquals("ROOT", names.get("ROOT").get(0)); } + + @Test + public void extractGroupNamesTest() { + + List<String> names = groupNameService.extractGroupNames("group1.people.name\\.surname.another\\.composite"); + + assertEquals(4, names.size()); + assertEquals("group1", names.get(0)); + assertEquals("people", names.get(1)); + assertEquals("name.surname", names.get(2)); + assertEquals("another.composite", names.get(3)); + } + + @Test + public void extractGroupNamesTestEmpty() { + assertTrue(groupNameService.extractGroupNames("").isEmpty()); + } + + @Test + public void extractGroupNamesTestNull() { + assertTrue(groupNameService.extractGroupNames(null).isEmpty()); + } }