@@ -2026,32 +2026,49 @@ public void test54modifyUserActiveStatus() {
20262026 }
20272027
20282028 @ Test
2029- public void test55updateXGroupUser () {
2029+ public void test55updateXGroupUser_success () {
20302030 setup ();
2031- VXUser vxUser = vxUser ();
2032- vxUser .setUserSource (RangerCommonEnums .USER_EXTERNAL );
2031+
20332032 VXGroupUser vxGroupUser = vxGroupUser ();
2034- // Mock XXGroupUser lookup
2033+
2034+ // Mock GroupUser
20352035 XXGroupUserDao xxGroupUserDao = Mockito .mock (XXGroupUserDao .class );
20362036 XXGroupUser xxGroupUser = new XXGroupUser ();
2037+
20372038 Mockito .when (daoManager .getXXGroupUser ()).thenReturn (xxGroupUserDao );
20382039 Mockito .when (xxGroupUserDao .getById (vxGroupUser .getId ())).thenReturn (xxGroupUser );
2039- // Mock XXGroup lookup
2040+
2041+ // Mock Group
20402042 XXGroupDao xxGroupDao = Mockito .mock (XXGroupDao .class );
20412043 XXGroup xxGroup = new XXGroup ();
20422044 xxGroup .setId (1L );
2045+
20432046 Mockito .when (daoManager .getXXGroup ()).thenReturn (xxGroupDao );
20442047 Mockito .when (xxGroupDao .findByGroupName (vxGroupUser .getName ())).thenReturn (xxGroup );
2045- // Mock XXUser lookup
2048+
2049+ // Mock User
20462050 XXUserDao xxUserDao = Mockito .mock (XXUserDao .class );
20472051 XXUser xxUser = new XXUser ();
2052+
20482053 Mockito .when (daoManager .getXXUser ()).thenReturn (xxUserDao );
20492054 Mockito .when (xxUserDao .getById (vxGroupUser .getUserId ())).thenReturn (xxUser );
2055+
2056+ // Mock update
20502057 Mockito .when (xGroupUserService .updateResource (Mockito .any ())).thenReturn (vxGroupUser );
2051- VXGroupUser dbvxUser = xUserMgr .updateXGroupUser (vxGroupUser );
2052- Assertions .assertNotNull (dbvxUser );
2053- Assertions .assertEquals (dbvxUser .getId (), vxGroupUser .getId ());
2054- Assertions .assertEquals (dbvxUser .getName (), vxGroupUser .getName ());
2058+
2059+ VXGroupUser result = xUserMgr .updateXGroupUser (vxGroupUser );
2060+
2061+ Assertions .assertNotNull (result );
2062+ Assertions .assertEquals (vxGroupUser .getId (), result .getId ());
2063+ Assertions .assertEquals (vxGroupUser .getName (), result .getName ());
2064+
2065+ // addition of parent group id
2066+ Assertions .assertEquals (1L , result .getParentGroupId ());
2067+
2068+ Mockito .verify (xxGroupUserDao ).getById (vxGroupUser .getId ());
2069+ Mockito .verify (xxGroupDao ).findByGroupName (vxGroupUser .getName ());
2070+ Mockito .verify (xxUserDao ).getById (vxGroupUser .getUserId ());
2071+
20552072 Mockito .verify (xGroupUserService ).updateResource (Mockito .any ());
20562073 }
20572074
@@ -2494,40 +2511,14 @@ public void test81checkAdminAccess() {
24942511 }
24952512
24962513 @ Test
2497- public void test82updateXgroupUserForGroupUpdate () {
2514+ public void test56updateXGroupUser_nullVXGroupUser () {
24982515 setup ();
2499- XXGroupUserDao xxGroupUserDao = Mockito .mock (XXGroupUserDao .class );
2500- VXGroup vXGroup = vxGroup ();
2501- List <XXGroupUser > xXGroupUserList = new ArrayList <>();
2502- VXGroupUser vxGroupUser = vxGroupUser ();
2503- XXGroupUser xXGroupUser = new XXGroupUser ();
2504- xXGroupUser .setId (vxGroupUser .getId ());
2505- xXGroupUser .setName (vxGroupUser .getName ());
2506- xXGroupUser .setParentGroupId (vxGroupUser .getParentGroupId ());
2507- xXGroupUser .setUserId (vxGroupUser .getUserId ());
2508- xXGroupUserList .add (xXGroupUser );
2509- Mockito .when (daoManager .getXXGroupUser ()).thenReturn (xxGroupUserDao );
2510- Mockito .when (xxGroupUserDao .findByGroupId (vXGroup .getId ())).thenReturn (xXGroupUserList );
2511- // CHANGED: Use anyLong() so it matches regardless of internal ID state
2512- Mockito .when (xxGroupUserDao .getById (Mockito .anyLong ())).thenReturn (xXGroupUser );
2513- // Mock XXGroup lookup
2514- XXGroupDao xxGroupDao = Mockito .mock (XXGroupDao .class );
2515- XXGroup xxGroup = new XXGroup ();
2516- xxGroup .setId (vXGroup .getId ());
2517- Mockito .when (daoManager .getXXGroup ()).thenReturn (xxGroupDao );
2518- // CHANGED: Use anyString() because the group name likely gets altered internally during the loop
2519- Mockito .when (xxGroupDao .findByGroupName (Mockito .anyString ())).thenReturn (xxGroup );
2520- // Mock XXUser lookup
2521- XXUserDao xxUserDao = Mockito .mock (XXUserDao .class );
2522- XXUser xxUser = new XXUser ();
2523- Mockito .when (daoManager .getXXUser ()).thenReturn (xxUserDao );
2524- // CHANGED: Use anyLong() for user ID lookup
2525- Mockito .when (xxUserDao .getById (Mockito .anyLong ())).thenReturn (xxUser );
2526- Mockito .when (xGroupUserService .populateViewBean (xXGroupUser )).thenReturn (vxGroupUser );
2527- xUserMgr .updateXgroupUserForGroupUpdate (vXGroup );
2528- // Verify changes
2529- Mockito .verify (daoManager , Mockito .atLeastOnce ()).getXXGroupUser ();
2530- Mockito .verify (xxGroupUserDao ).findByGroupId (vXGroup .getId ());
2516+
2517+ Mockito .when (restErrorUtil .createRESTException (HttpServletResponse .SC_BAD_REQUEST , "Groupuser not found" , true )).thenThrow (new WebApplicationException ());
2518+
2519+ Assertions .assertThrows (WebApplicationException .class , () -> {
2520+ xUserMgr .updateXGroupUser (null );
2521+ });
25312522 }
25322523
25332524 @ Test
@@ -4489,6 +4480,80 @@ public void test01CreateXUser_federated() {
44894480 });
44904481 }
44914482
4483+ @ Test
4484+ public void test133updateXGroupUser_groupUserMappingNotFound () {
4485+ setup ();
4486+
4487+ VXGroupUser vxGroupUser = vxGroupUser ();
4488+
4489+ XXGroupUserDao xxGroupUserDao = Mockito .mock (XXGroupUserDao .class );
4490+
4491+ Mockito .when (daoManager .getXXGroupUser ()).thenReturn (xxGroupUserDao );
4492+ Mockito .when (xxGroupUserDao .getById (vxGroupUser .getId ())).thenReturn (null );
4493+
4494+ Mockito .when (restErrorUtil .createRESTException (Mockito .contains ("Group-User mapping not found" ), Mockito .eq (MessageEnums .DATA_NOT_FOUND ))).thenThrow (new WebApplicationException ());
4495+
4496+ Assertions .assertThrows (WebApplicationException .class , () -> {
4497+ xUserMgr .updateXGroupUser (vxGroupUser );
4498+ });
4499+ }
4500+
4501+ @ Test
4502+ public void test134updateXGroupUser_groupNotFound () {
4503+ setup ();
4504+
4505+ VXGroupUser vxGroupUser = vxGroupUser ();
4506+
4507+ XXGroupUserDao xxGroupUserDao = Mockito .mock (XXGroupUserDao .class );
4508+ XXGroupUser xxGroupUser = new XXGroupUser ();
4509+
4510+ Mockito .when (daoManager .getXXGroupUser ()).thenReturn (xxGroupUserDao );
4511+ Mockito .when (xxGroupUserDao .getById (vxGroupUser .getId ())).thenReturn (xxGroupUser );
4512+
4513+ XXGroupDao xxGroupDao = Mockito .mock (XXGroupDao .class );
4514+
4515+ Mockito .when (daoManager .getXXGroup ()).thenReturn (xxGroupDao );
4516+ Mockito .when (xxGroupDao .findByGroupName (vxGroupUser .getName ())).thenReturn (null );
4517+
4518+ Mockito .when (restErrorUtil .createRESTException (Mockito .contains ("Group not found" ), Mockito .eq (MessageEnums .DATA_NOT_FOUND ))).thenThrow (new WebApplicationException ());
4519+
4520+ Assertions .assertThrows (WebApplicationException .class , () -> {
4521+ xUserMgr .updateXGroupUser (vxGroupUser );
4522+ });
4523+ }
4524+
4525+ @ Test
4526+ public void test135updateXGroupUser_userNotFound () {
4527+ setup ();
4528+
4529+ VXGroupUser vxGroupUser = vxGroupUser ();
4530+
4531+ XXGroupUserDao xxGroupUserDao = Mockito .mock (XXGroupUserDao .class );
4532+ XXGroupUser xxGroupUser = new XXGroupUser ();
4533+
4534+ Mockito .when (daoManager .getXXGroupUser ()).thenReturn (xxGroupUserDao );
4535+ Mockito .when (xxGroupUserDao .getById (vxGroupUser .getId ())).thenReturn (xxGroupUser );
4536+
4537+ XXGroupDao xxGroupDao = Mockito .mock (XXGroupDao .class );
4538+ XXGroup xxGroup = new XXGroup ();
4539+ xxGroup .setId (1L );
4540+
4541+ Mockito .when (daoManager .getXXGroup ()).thenReturn (xxGroupDao );
4542+ Mockito .when (xxGroupDao .findByGroupName (vxGroupUser .getName ())).thenReturn (xxGroup );
4543+
4544+ XXUserDao xxUserDao = Mockito .mock (XXUserDao .class );
4545+
4546+ Mockito .when (daoManager .getXXUser ()).thenReturn (xxUserDao );
4547+ Mockito .when (xxUserDao .getById (vxGroupUser .getUserId ())).thenReturn (null );
4548+
4549+ Mockito .when (restErrorUtil .createRESTException (Mockito .contains ("User not found" ), Mockito .eq (MessageEnums .DATA_NOT_FOUND ))).thenThrow (new WebApplicationException ());
4550+
4551+ Assertions .assertThrows (WebApplicationException .class , () -> {
4552+ xUserMgr .updateXGroupUser (vxGroupUser );
4553+ });
4554+ }
4555+
4556+
44924557 private VXUser vxUser () {
44934558 Collection <String > userRoleList = new ArrayList <>();
44944559 userRoleList .add ("ROLE_USER" );
0 commit comments