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

dixitdeepak pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new ec40fbc1fb Improved: Use framework permissions in SecurityUtilTest 
(OFBIZ-13418) Updated SecurityUtilTest multi-level admin permission cases to 
use framework permission prefixes such as SECURITY, COMMON, and ENTITY_DATA 
instead of application/plugin examples.
ec40fbc1fb is described below

commit ec40fbc1fb3b1aede56ccdce823da8122cee3cfe
Author: Deepak Dixit <[email protected]>
AuthorDate: Tue May 26 18:55:42 2026 +0530

    Improved: Use framework permissions in SecurityUtilTest (OFBIZ-13418)
    Updated SecurityUtilTest multi-level admin permission cases to use 
framework permission prefixes such as SECURITY, COMMON, and ENTITY_DATA instead 
of application/plugin examples.
---
 .../java/org/apache/ofbiz/security/CsrfUtil.java   |  4 +--
 .../org/apache/ofbiz/security/CsrfUtilTests.java   | 28 +++++++++----------
 .../apache/ofbiz/security/SecurityUtilTest.java    | 31 +++++++++++++---------
 3 files changed, 35 insertions(+), 28 deletions(-)

diff --git 
a/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java 
b/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java
index 4ab9acf8df..b9009f69d1 100644
--- a/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java
+++ b/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java
@@ -136,11 +136,11 @@ public final class CsrfUtil {
         }
         String controlServletPart = "/control/"; // TODO remove with 
OFBIZ-11229
         if (requestUri.contains(controlServletPart)) {
-            // e.g. "/partymgr/control/viewprofile" to "viewprofile"
+            // e.g. "/webtools/control/userprofile" to "userprofile"
             requestUri = 
requestUri.substring(requestUri.indexOf(controlServletPart) + 
controlServletPart.length());
         }
         if (requestUri.startsWith("/")) {
-            // e.g. "/viewprofile" to "viewprofile"
+            // e.g. "/userprofile" to "userprofile"
             requestUri = requestUri.substring(1);
         }
         if (requestUri.contains("#")) {
diff --git 
a/framework/security/src/test/java/org/apache/ofbiz/security/CsrfUtilTests.java 
b/framework/security/src/test/java/org/apache/ofbiz/security/CsrfUtilTests.java
index 13ceb0d638..cf7079a723 100644
--- 
a/framework/security/src/test/java/org/apache/ofbiz/security/CsrfUtilTests.java
+++ 
b/framework/security/src/test/java/org/apache/ofbiz/security/CsrfUtilTests.java
@@ -64,14 +64,14 @@ public class CsrfUtilTests {
         when(session.getAttribute("userLogin")).thenReturn(userLogin);
 
         // with userLogin in session, test token map is not retrieved from 
session
-        resultMap = CsrfUtil.getTokenMap(request, "/partymgr");
+        resultMap = CsrfUtil.getTokenMap(request, "/webtools");
         assertNull(resultMap.get("uri_1"));
 
         GenericValue otherUserLogin = mock(GenericValue.class);
         
when(otherUserLogin.getString("userLoginId")).thenReturn("other-test-user");
         when(session.getAttribute("userLogin")).thenReturn(otherUserLogin);
 
-        Map<String, String> otherUserResultMap = CsrfUtil.getTokenMap(request, 
"/partymgr");
+        Map<String, String> otherUserResultMap = CsrfUtil.getTokenMap(request, 
"/webtools");
         assertNotSame(resultMap, otherUserResultMap);
     }
 
@@ -89,11 +89,11 @@ public class CsrfUtilTests {
 
     @Test
     public void testGetRequestUriFromPath() {
-        String requestUri = 
CsrfUtil.getRequestUriFromPath("/viewprofile?partyId=Company");
-        assertEquals("viewprofile", requestUri);
+        String requestUri = 
CsrfUtil.getRequestUriFromPath("/editlogin?userLoginId=testuser");
+        assertEquals("editlogin", requestUri);
 
-        requestUri = 
CsrfUtil.getRequestUriFromPath("/partymgr/control/viewprofile");
-        assertEquals("viewprofile", requestUri);
+        requestUri = 
CsrfUtil.getRequestUriFromPath("/webtools/control/userprofile");
+        assertEquals("userprofile", requestUri);
 
         requestUri = 
CsrfUtil.getRequestUriFromPath("view/entityref_main#org.apache.ofbiz.accounting.budget");
         assertEquals("view/entityref_main", requestUri);
@@ -222,23 +222,23 @@ public class CsrfUtilTests {
         CsrfUtil.setTokenNameNonAjax("csrfToken");
 
         // test link without csrfToken
-        String url = 
CsrfUtil.addOrUpdateTokenInUrl("https://localhost:8443/catalog/control/login";, 
"abcd");
-        
assertEquals("https://localhost:8443/catalog/control/login?csrfToken=abcd";, 
url);
+        String url = 
CsrfUtil.addOrUpdateTokenInUrl("https://localhost:8443/webtools/control/login";, 
"abcd");
+        
assertEquals("https://localhost:8443/webtools/control/login?csrfToken=abcd";, 
url);
 
         // test link with query string and without csrfToken
         url = CsrfUtil.addOrUpdateTokenInUrl(
-                
"https://localhost:8443/partymgr/control/visitdetail?visitId=10301";, "abcd");
+                
"https://localhost:8443/webtools/control/editlogin?userLoginId=testuser";, 
"abcd");
         assertEquals(
-                
"https://localhost:8443/partymgr/control/visitdetail?visitId=10301&csrfToken=abcd";,
+                
"https://localhost:8443/webtools/control/editlogin?userLoginId=testuser&csrfToken=abcd";,
                 url);
 
         // test link with csrfToken
-        url = 
CsrfUtil.addOrUpdateTokenInUrl("https://localhost:8443/catalog/control/login?csrfToken=abcd";,
 "efgh");
-        
assertEquals("https://localhost:8443/catalog/control/login?csrfToken=efgh";, 
url);
+        url = 
CsrfUtil.addOrUpdateTokenInUrl("https://localhost:8443/webtools/control/login?csrfToken=abcd";,
 "efgh");
+        
assertEquals("https://localhost:8443/webtools/control/login?csrfToken=efgh";, 
url);
 
         // test link with csrfToken amd empty csrfToken replacement
-        url = 
CsrfUtil.addOrUpdateTokenInUrl("https://localhost:8443/catalog/control/login?csrfToken=abcd";,
 "");
-        
assertEquals("https://localhost:8443/catalog/control/login?csrfToken=";, url);
+        url = 
CsrfUtil.addOrUpdateTokenInUrl("https://localhost:8443/webtools/control/login?csrfToken=abcd";,
 "");
+        
assertEquals("https://localhost:8443/webtools/control/login?csrfToken=";, url);
     }
 
     @Test
diff --git 
a/framework/security/src/test/java/org/apache/ofbiz/security/SecurityUtilTest.java
 
b/framework/security/src/test/java/org/apache/ofbiz/security/SecurityUtilTest.java
index 13d6245fa6..57935e8c1d 100644
--- 
a/framework/security/src/test/java/org/apache/ofbiz/security/SecurityUtilTest.java
+++ 
b/framework/security/src/test/java/org/apache/ofbiz/security/SecurityUtilTest.java
@@ -36,6 +36,9 @@ import org.junit.Test;
 
 public class SecurityUtilTest {
 
+    private static final List<String> FRAMEWORK_ADMIN_PERMISSIONS = 
Arrays.asList(
+            "SECURITY", "COMMON", "ENTITY_DATA");
+
     private Path tempHome;
     private Path tempExternal;
     private String previousOfbizHome;
@@ -111,28 +114,32 @@ public class SecurityUtilTest {
 
     @Test
     public void basicAdminPermissionTesting() {
-        List<String> adminPermissions = Arrays.asList("PARTYMGR", "EXAMPLE", 
"ACCTG_PREF");
-        
assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(adminPermissions,
 "PARTYMGR_CREATE"));
-        
assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(adminPermissions,
 "EXAMPLE_CREATE "));
-        
assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(adminPermissions,
 "EXAMPLE_ADMIN"));
-        
assertFalse(SecurityUtil.checkMultiLevelAdminPermissionValidity(adminPermissions,
 "ACCTG_ADMIN"));
+        assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(
+                FRAMEWORK_ADMIN_PERMISSIONS, "SECURITY_CREATE1"));
+        assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(
+                FRAMEWORK_ADMIN_PERMISSIONS, "COMMON_CREATE "));
+        assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(
+                FRAMEWORK_ADMIN_PERMISSIONS, "COMMON_ADMIN"));
+        assertFalse(SecurityUtil.checkMultiLevelAdminPermissionValidity(
+                FRAMEWORK_ADMIN_PERMISSIONS, "ENTITY_MAINT"));
     }
 
     @Test
     public void multiLevelAdminPermissionTesting() {
-        List<String> adminPermissions = Arrays.asList("PARTYMGR", "EXAMPLE", 
"ACCTG_PREF");
-        
assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(adminPermissions,
 "PARTYMGR_CME_CREATE"));
         assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(
-                    adminPermissions, "EXAMPLE_WITH_MULTI_LEVEL_ADMIN"));
-        
assertFalse(SecurityUtil.checkMultiLevelAdminPermissionValidity(adminPermissions,
 "ACCTG_ADMIN"));
+                FRAMEWORK_ADMIN_PERMISSIONS, "SECURITY_PWD_UPDATE"));
+        assertTrue(SecurityUtil.checkMultiLevelAdminPermissionValidity(
+                FRAMEWORK_ADMIN_PERMISSIONS, "ENTITY_DATA_UPDATE"));
+        assertFalse(SecurityUtil.checkMultiLevelAdminPermissionValidity(
+                FRAMEWORK_ADMIN_PERMISSIONS, "ENTITY_MAINT"));
     }
 
     @Test
     public void multiLevelBadHierarchyPermissionTesting() {
-        List<String> adminPermissions = Arrays.asList("PARTYMGR", "EXAMPLE", 
"ACCTG_PREF");
         assertFalse(SecurityUtil.checkMultiLevelAdminPermissionValidity(
-                    adminPermissions, "SPECIFIC_MULTI_LEVEL_EXAMPLE_VIEW"));
-        
assertFalse(SecurityUtil.checkMultiLevelAdminPermissionValidity(adminPermissions,
 "HOTDEP_PARTYMGR_ADMIN"));
+                FRAMEWORK_ADMIN_PERMISSIONS, 
"SPECIFIC_MULTI_LEVEL_SECURITY_VIEW"));
+        assertFalse(SecurityUtil.checkMultiLevelAdminPermissionValidity(
+                FRAMEWORK_ADMIN_PERMISSIONS, "WEBTOOLS_ENTITY_DATA_ADMIN"));
     }
 
 }

Reply via email to