From 69bd8b4e6b939d074d802fe642f009f6b23e5679 Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Thu, 18 Mar 2021 16:15:51 +0100
Subject: [PATCH] Bugfix in group names parsing

---
 .../ia2/gms/service/GroupNameService.java     |  2 +-
 .../ia2/gms/service/GroupNameServiceTest.java | 23 +++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

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 98aaead..4519f2e 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 6b4b946..46bc11f 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());
+    }
 }
-- 
GitLab