This is an automated email from the ASF dual-hosted git repository.

kturner pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/2.1 by this push:
     new 5eb04ebce3 makes NamespacePermissionsTest more strict (#5900)
5eb04ebce3 is described below

commit 5eb04ebce328d3441b9721d7a548cbcf71b563e1
Author: Keith Turner <[email protected]>
AuthorDate: Fri Sep 19 18:28:35 2025 -0400

    makes NamespacePermissionsTest more strict (#5900)
---
 .../core/security/NamespacePermissionsTest.java    | 25 ++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git 
a/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
 
b/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
index 31a842cdcb..827eac2b24 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.accumulo.core.security;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -31,18 +32,34 @@ public class NamespacePermissionsTest {
     EnumSet<NamespacePermission> set = 
EnumSet.allOf(NamespacePermission.class);
 
     for (TablePermission permission : TablePermission.values()) {
-      set.remove(NamespacePermission.getEquivalent(permission));
+      var equivalent = NamespacePermission.getEquivalent(permission);
+      if (equivalent != null) {
+        assertTrue(set.remove(equivalent));
+        assertEquals(permission.name(), equivalent.name());
+      }
     }
+
+    // these namespace permissions have no equivalent table permission
+    assertEquals(EnumSet.of(NamespacePermission.ALTER_NAMESPACE, 
NamespacePermission.DROP_NAMESPACE,
+        NamespacePermission.CREATE_TABLE), set);
+
+    set = EnumSet.allOf(NamespacePermission.class);
     for (SystemPermission permission : SystemPermission.values()) {
       if (permission == SystemPermission.GRANT) {
         assertThrows(IllegalArgumentException.class,
             () -> NamespacePermission.getEquivalent(permission), "GRANT has no 
equivalent");
       } else {
-        set.remove(NamespacePermission.getEquivalent(permission));
+        var equivalent = NamespacePermission.getEquivalent(permission);
+        if (equivalent != null) {
+          assertTrue(set.remove(equivalent));
+          assertEquals(permission.name(), equivalent.name());
+        }
+
       }
     }
 
-    assertTrue(set.isEmpty(),
-        "All namespace permissions should have equivalent table or system 
permissions.");
+    // these namespace permissions have no equivalent system permission
+    assertEquals(EnumSet.of(NamespacePermission.READ, 
NamespacePermission.WRITE,
+        NamespacePermission.GRANT, NamespacePermission.BULK_IMPORT), set);
   }
 }

Reply via email to