2
0
Эх сурвалжийг харах

Fix a bug of listPrivilegeGroups (#1221)

Signed-off-by: yhmo <yihua.mo@zilliz.com>
groot 5 сар өмнө
parent
commit
1b474293bb

+ 1 - 1
src/main/java/io/milvus/v2/service/rbac/RBACService.java

@@ -254,7 +254,7 @@ public class RBACService extends BaseService {
             privilegeGroupInfo.getPrivilegesList().forEach((privilege)->{
                 privileges.add(privilege.getName());
             });
-            privilegeGroups.add(PrivilegeGroup.builder().privileges(privileges).build());
+            privilegeGroups.add(PrivilegeGroup.builder().groupName(privilegeGroupInfo.getGroupName()).privileges(privileges).build());
         });
 
         return ListPrivilegeGroupsResp.builder()

+ 24 - 0
src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java

@@ -44,6 +44,9 @@ import io.milvus.v2.service.database.response.*;
 import io.milvus.v2.service.index.request.*;
 import io.milvus.v2.service.index.response.*;
 import io.milvus.v2.service.partition.request.*;
+import io.milvus.v2.service.rbac.PrivilegeGroup;
+import io.milvus.v2.service.rbac.request.*;
+import io.milvus.v2.service.rbac.response.*;
 import io.milvus.v2.service.utility.request.*;
 import io.milvus.v2.service.utility.response.*;
 import io.milvus.v2.service.vector.request.*;
@@ -2036,4 +2039,25 @@ class MilvusClientV2DockerTest {
         Assertions.assertTrue(r.getEntity().containsKey("dynamic_10"));
         Assertions.assertEquals("this is dynamic value", r.getEntity().get("dynamic_10"));
     }
+
+    @Test
+    void testRBAC() {
+        client.createPrivilegeGroup(CreatePrivilegeGroupReq.builder()
+                .groupName("dummy")
+                .build());
+        client.addPrivilegesToGroup(AddPrivilegesToGroupReq.builder()
+                .groupName("dummy")
+                .privileges(Collections.singletonList("CreateCollection"))
+                .build());
+
+        ListPrivilegeGroupsResp resp = client.listPrivilegeGroups(ListPrivilegeGroupsReq.builder().build());
+        List<PrivilegeGroup> groups = resp.getPrivilegeGroups();
+        Map<String, List<String>> groupsPlivileges = new HashMap<>();
+        for (PrivilegeGroup group : groups) {
+            groupsPlivileges.put(group.getGroupName(), group.getPrivileges());
+        }
+        Assertions.assertTrue(groupsPlivileges.containsKey("dummy"));
+        Assertions.assertEquals(1, groupsPlivileges.get("dummy").size());
+        Assertions.assertEquals("CreateCollection", groupsPlivileges.get("dummy").get(0));
+    }
 }