From 0ae853a48e58ed979ae235fbaba36104a7ea2eac Mon Sep 17 00:00:00 2001 From: ljyofme <2477354249@qq.com> Date: Wed, 20 Mar 2024 22:04:42 +0800 Subject: [PATCH 1/2] feat: add test class for casbin issue --- src/test/java/org/casbin/MenuTest.java | 47 ++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/test/java/org/casbin/MenuTest.java diff --git a/src/test/java/org/casbin/MenuTest.java b/src/test/java/org/casbin/MenuTest.java new file mode 100644 index 0000000..3264945 --- /dev/null +++ b/src/test/java/org/casbin/MenuTest.java @@ -0,0 +1,47 @@ +package org.casbin; + +import org.casbin.jcasbin.main.Enforcer; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +public class MenuTest { + @Test + public void testMenu() { + //model.conf and policy.csv are in the examples/casbin directory + Enforcer enforcer = new Enforcer("examples/casbin/model.conf","examples/casbin/policy.csv"); + // Test each permission individually + + assertTrue(enforcer.enforce("ROLE_ROOT", "SystemMenu", "read")); + assertFalse(enforcer.enforce("ROLE_ADMIN", "SystemMenu", "read")); + assertFalse(enforcer.enforce("ROLE_USER", "SystemMenu", "read")); + + assertFalse(enforcer.enforce("ROLE_ROOT", "UserMenu", "read")); + assertTrue(enforcer.enforce("ROLE_ADMIN", "UserMenu", "read")); + assertTrue(enforcer.enforce("ROLE_USER", "UserMenu", "read")); + + assertFalse(enforcer.enforce("ROLE_ROOT", "UserSubMenu_allow", "read")); + assertTrue(enforcer.enforce("ROLE_ADMIN", "UserSubMenu_allow", "read")); + assertTrue(enforcer.enforce("ROLE_USER", "UserSubMenu_allow", "read")); + + assertFalse(enforcer.enforce("ROLE_ROOT", "UserSubSubMenu", "read")); + assertTrue(enforcer.enforce("ROLE_ADMIN", "UserSubSubMenu", "read")); + assertTrue(enforcer.enforce("ROLE_USER", "UserSubSubMenu", "read")); + + assertFalse(enforcer.enforce("ROLE_ROOT", "UserSubMenu_deny", "read")); + assertTrue(enforcer.enforce("ROLE_ADMIN", "UserSubMenu_deny", "read")); + assertFalse(enforcer.enforce("ROLE_USER", "UserSubMenu_deny", "read")); + + assertTrue(enforcer.enforce("ROLE_ROOT", "AdminMenu", "read")); + assertTrue(enforcer.enforce("ROLE_ADMIN", "AdminMenu", "read")); + assertFalse(enforcer.enforce("ROLE_USER", "AdminMenu", "read")); + + assertTrue(enforcer.enforce("ROLE_ROOT", "AdminSubMenu_allow", "read")); + assertTrue(enforcer.enforce("ROLE_ADMIN", "AdminSubMenu_allow", "read")); + assertFalse(enforcer.enforce("ROLE_USER", "AdminSubMenu_allow", "read")); + + assertTrue(enforcer.enforce("ROLE_ROOT", "AdminSubMenu_deny", "read")); + assertFalse(enforcer.enforce("ROLE_ADMIN", "AdminSubMenu_deny", "read")); + assertFalse(enforcer.enforce("ROLE_USER", "AdminSubMenu_deny", "read")); + } +} + From df57fe1a547507a157c563b0cdfb935f76e4eaff Mon Sep 17 00:00:00 2001 From: Eric Luo Date: Sun, 24 Mar 2024 16:12:02 +0800 Subject: [PATCH 2/2] Update MenuTest.java --- src/test/java/org/casbin/MenuTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/casbin/MenuTest.java b/src/test/java/org/casbin/MenuTest.java index 3264945..8639fb9 100644 --- a/src/test/java/org/casbin/MenuTest.java +++ b/src/test/java/org/casbin/MenuTest.java @@ -17,7 +17,7 @@ public void testMenu() { assertFalse(enforcer.enforce("ROLE_ROOT", "UserMenu", "read")); assertTrue(enforcer.enforce("ROLE_ADMIN", "UserMenu", "read")); - assertTrue(enforcer.enforce("ROLE_USER", "UserMenu", "read")); + assertFalse(enforcer.enforce("ROLE_USER", "UserMenu", "read")); assertFalse(enforcer.enforce("ROLE_ROOT", "UserSubMenu_allow", "read")); assertTrue(enforcer.enforce("ROLE_ADMIN", "UserSubMenu_allow", "read"));