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);
}
}