You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2018/08/25 17:30:08 UTC
directory-fortress-core git commit: FC-239 - Some Abac test cases...
Repository: directory-fortress-core
Updated Branches:
refs/heads/master ea563c774 -> 2bcd1b3d9
FC-239 - Some Abac test cases...
Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/2bcd1b3d
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/2bcd1b3d
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/2bcd1b3d
Branch: refs/heads/master
Commit: 2bcd1b3d9048710b47d27a7c0288a49214fbfa2f
Parents: ea563c7
Author: Shawn McKinney <sm...@apache.org>
Authored: Sat Aug 25 11:56:58 2018 -0500
Committer: Shawn McKinney <sm...@apache.org>
Committed: Sat Aug 25 11:56:58 2018 -0500
----------------------------------------------------------------------
.../fortress/core/impl/AdminMgrImplTest.java | 221 ++++++++++++++++---
.../fortress/core/impl/FortressJUnitTest.java | 5 +-
.../fortress/core/impl/PermTestData.java | 180 +++++++++++++++
.../fortress/core/impl/RoleTestData.java | 177 +++++++++++++++
.../fortress/core/impl/UserTestData.java | 95 +++++++-
5 files changed, 639 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/2bcd1b3d/src/test/java/org/apache/directory/fortress/core/impl/AdminMgrImplTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/directory/fortress/core/impl/AdminMgrImplTest.java b/src/test/java/org/apache/directory/fortress/core/impl/AdminMgrImplTest.java
index 82a7b75..6b87cb6 100755
--- a/src/test/java/org/apache/directory/fortress/core/impl/AdminMgrImplTest.java
+++ b/src/test/java/org/apache/directory/fortress/core/impl/AdminMgrImplTest.java
@@ -123,6 +123,7 @@ public class AdminMgrImplTest extends TestCase
addUsers( "ADD-USRS TU19 TR7_ASC", UserTestData.USERS_TU19U_TR7_ASC, true );
addUsers( "ADD-USRS TU20 TR5_HIER", UserTestData.USERS_TU20U_TR5B, true );
addUsers( "ADD-USRS TU21 DSD_BRUNO", UserTestData.USERS_TU21_DSD_BRUNO, true );
+ addUsers( "ADD-USRS TU22 ABAC", UserTestData.USERS_TU22_ABAC, true );
}
@@ -269,6 +270,7 @@ public class AdminMgrImplTest extends TestCase
deleteUsers( "FDEL-USRS TU19_TR7_ASC", UserTestData.USERS_TU19U_TR7_ASC, true, true );
deleteUsers( "FDEL-USRS TU20_TR5_HIER", UserTestData.USERS_TU20U_TR5B, true, true );
deleteUsers( "FDEL-USRS TU21 DSD_BRUNO", UserTestData.USERS_TU21_DSD_BRUNO, true, true );
+ deleteUsers( "DEL-USRS TU22_ABAC", UserTestData.USERS_TU22_ABAC, true, true );
}
@@ -464,7 +466,9 @@ public class AdminMgrImplTest extends TestCase
addRoles( "ADD-RLS ROLES_TR10_DSD", RoleTestData.ROLES_TR10_DSD );
addRoles( "ADD-RLS ROLES_TR16_SD", RoleTestData.ROLES_TR16_SD );
addRoles( "ADD-RLS ROLES_TR17_DSD_BRUNO", RoleTestData.ROLES_TR17_DSD_BRUNO );
-
+ addRoles( "ADD-RLS ROLES_ABAC_WASHERS", RoleTestData.ROLES_ABAC_WASHERS );
+ addRoles( "ADD-RLS ROLES_ABAC_TELLERS", RoleTestData.ROLES_ABAC_TELLERS );
+ addRoles( "ADD-RLS ROLES_ABAC_USERS", RoleTestData.ROLES_ABAC_USERS );
}
@@ -510,6 +514,9 @@ public class AdminMgrImplTest extends TestCase
deleteRoles( "DEL-RLS ROLES_TR10_DSD", RoleTestData.ROLES_TR10_DSD );
deleteRoles( "DEL-RLS ROLES_TR16_SD", RoleTestData.ROLES_TR16_SD );
deleteRoles( "DEL-RLS ROLES_TR17_DSD_BRUNO", RoleTestData.ROLES_TR17_DSD_BRUNO );
+ deleteRoles( "DEL-RLS ROLES_ABAC_WASHERS", RoleTestData.ROLES_ABAC_WASHERS );
+ deleteRoles( "DEL-RLS ROLES_ABAC_TELLERS", RoleTestData.ROLES_ABAC_TELLERS );
+ deleteRoles( "DEL-RLS ROLES_ABAC_USERS", RoleTestData.ROLES_ABAC_USERS );
}
@@ -1005,6 +1012,7 @@ public class AdminMgrImplTest extends TestCase
createDsdSet( "ADD-DSD T5", RoleTestData.DSD_T5 );
createDsdSet( "ADD-DSD T6", RoleTestData.DSD_T6 );
createDsdSet( "ADD-DSD T8 BRUNO", RoleTestData.DSD_T8_BRUNO );
+ createDsdSet( "ADD-DSD TR18 ABAC6", RoleTestData.DSD_TR18_ABAC );
}
@@ -1083,6 +1091,7 @@ public class AdminMgrImplTest extends TestCase
deleteDsdSet( "DEL-DSD T5", RoleTestData.DSD_T5 );
deleteDsdSet( "DEL-DSD T6", RoleTestData.DSD_T6 );
deleteDsdSet( "DEL-DSD T8", RoleTestData.DSD_T7 );
+ deleteDsdSet( "DEL-DSD TR18 ABAC6", RoleTestData.DSD_TR18_ABAC );
}
@@ -1404,6 +1413,9 @@ public class AdminMgrImplTest extends TestCase
assignUsers( "ASGN-USRS TU1 TR1", UserTestData.USERS_TU1, RoleTestData.ROLES_TR1, false );
assignUsers( "ASGN-USRS TU4 TR2", UserTestData.USERS_TU4, RoleTestData.ROLES_TR2, true );
assignUsers( "ASGN-USRS TU3 TR3", UserTestData.USERS_TU3, RoleTestData.ROLES_TR3, true );
+ assignUsers( "ASGN-USERS TU22 ABAC WASHERS", UserTestData.USERS_TU22_ABAC, RoleTestData.ROLES_ABAC_WASHERS, true, false );
+ assignUsers( "ASGN-USERS TU22 ABAC TELLERS", UserTestData.USERS_TU22_ABAC, RoleTestData.ROLES_ABAC_TELLERS, true, false );
+ assignUsers( "ASGN-USERS TU22 ABAC USERS", UserTestData.USERS_TU22_ABAC, RoleTestData.ROLES_ABAC_USERS, true, false );
assignUsersH( "ASGN-USRS_H TU7 HIER TR5 HIER", UserTestData.USERS_TU7_HIER, RoleTestData.ROLES_TR5_HIER, true );
assignUsersH( "ASGN-USRS_H TU20 TR5B HIER", UserTestData.USERS_TU20U_TR5B, RoleTestData.ROLES_TR5B, true );
assignUsersSSD( "ASGN-USRS_SSDT1 TU8 SSD_T1", UserTestData.USERS_TU8_SSD, RoleTestData.SSD_T1 );
@@ -1421,13 +1433,20 @@ public class AdminMgrImplTest extends TestCase
}
+ public static void assignUsers( String msg, String[][] uArray, String[][] rArray, boolean setTemporal )
+ {
+ assignUsers( msg, uArray, rArray, setTemporal, true );
+ }
+
/**
+ * Assign the list of users to the list of roles. Perform some rudimentary testing to verify the assignments worked.
+ *
* @param msg
* @param uArray
* @param rArray
* @param setTemporal
*/
- public static void assignUsers( String msg, String[][] uArray, String[][] rArray, boolean setTemporal )
+ private static void assignUsers( String msg, String[][] uArray, String[][] rArray, boolean setTemporal, boolean performListCheck )
{
LogUtil.logIt( msg );
try
@@ -1453,15 +1472,19 @@ public class AdminMgrImplTest extends TestCase
adminMgr.assignUser( uRole );
LOG.debug( "assignUsers user [" + user.getUserId() + "] role [" + uRole.getName()
+ "] successful" );
- // Let's double check the number of users not associated with role:
- // This one retrieves the collection of all "roleOccupant" attributes associated with the role node:
- List<String> users = reviewMgr.assignedUsers( RoleTestData.getRole( rle ), rArray.length );
- // This one searches across all Users and pull back list of type "User":
- List<User> users2 = reviewMgr.authorizedUsers( RoleTestData.getRole( rle ) );
- assertNotNull( users );
- assertNotNull( users2 );
- assertTrue( CLS_NM + ".assignUsers list size check", i == users.size() );
- assertTrue( CLS_NM + ".assignUsers list2 size check", i == users2.size() );
+
+ if(performListCheck)
+ {
+ // Let's double check the number of users not associated with role:
+ // This one retrieves the collection of all "roleOccupant" attributes associated with the role node:
+ List<String> users = reviewMgr.assignedUsers( RoleTestData.getRole( rle ), rArray.length );
+ // This one searches across all Users and pull back list of type "User":
+ List<User> users2 = reviewMgr.authorizedUsers( RoleTestData.getRole( rle ) );
+ assertNotNull( users );
+ assertNotNull( users2 );
+ assertTrue( CLS_NM + ".assignUsers list size check", i == users.size() );
+ assertTrue( CLS_NM + ".assignUsers list2 size check", i == users2.size() );
+ }
}
}
}
@@ -1595,10 +1618,10 @@ public class AdminMgrImplTest extends TestCase
}
catch ( SecurityException ex )
{
- LOG.error( "assignUsersDSD caught SecurityException rc=" + ex.getErrorId() + ", msg="
- + ex.getMessage(), ex );
- fail( CLS_NM + "assignUsersDSD user [" + user.getUserId() + "] role [" + role + "] dsd ["
- + dsd.getName() + "] failed" );
+ LOG.error( "assignUsersDSD caught SecurityException rc=" + ex.getErrorId() + ", msg=" + ex
+ .getMessage(), ex );
+ fail( CLS_NM + "assignUsersDSD user [" + user.getUserId() + "] role [" + role + "] dsd [" +
+ dsd.getName() + "] failed" );
}
}
}
@@ -1612,24 +1635,52 @@ public class AdminMgrImplTest extends TestCase
}
}
-
public void testDeassignUser()
{
// public void deassignUser(User user, Role role)
//deassignUsers( "DEASGN-USRS TU1 TR1", UserTestData.USERS_TU1, RoleTestData.ROLES_TR1 );
deassignUsers( "DEASGN-USRS TU4 TR2", UserTestData.USERS_TU4, RoleTestData.ROLES_TR2 );
deassignUsers( "DEASGN-USRS TU3 TR3", UserTestData.USERS_TU3, RoleTestData.ROLES_TR3 );
+ deassignUsers( "DEASGN-USERS TU22 ABAC WASHERS", UserTestData.USERS_TU22_ABAC, RoleTestData
+ .ROLES_ABAC_WASHERS, false );
+ deassignUsers( "DEASGN-USERS TU22 ABAC TELLERS", UserTestData.USERS_TU22_ABAC, RoleTestData.ROLES_ABAC_TELLERS, false );
+ deassignUsers( "DEASGN-USERS TU22 ABAC USERS", UserTestData.USERS_TU22_ABAC, RoleTestData.ROLES_ABAC_USERS, false );
deassignUsersH( "DEASGN-USRS_H TU7 TR5 HIER", UserTestData.USERS_TU7_HIER, RoleTestData.ROLES_TR5_HIER );
deassignUsersH( "DEASGN-USRS_H TU20 TR5B HIER", UserTestData.USERS_TU20U_TR5B, RoleTestData.ROLES_TR5B );
}
+/*
+ public void testDeassignUser2()
+ {
+ // public void deassignUser(User user, Role role)
+ //deassignUsers( "DEASGN-USRS TU1 TR1", UserTestData.USERS_TU1, RoleTestData.ROLES_TR1 );
+ deassignUsers( "DEASGN-USRS TU4 TR2", UserTestData.USERS_TU4, RoleTestData.ROLES_TR2 );
+ deassignUsers( "DEASGN-USRS TU3 TR3", UserTestData.USERS_TU3, RoleTestData.ROLES_TR3 );
+ deassignUsers( "DEASGN-USERS TU7 TR5 HIER", UserTestData.USERS_TU7_HIER, RoleTestData.ROLES_TR5_HIER, false );
+
+
+ deassignUsers( "DEASGN-USERS TU22 ABAC WASHERS", UserTestData.USERS_TU22_ABAC, RoleTestData
+ .ROLES_ABAC_WASHERS, false );
+ deassignUsers( "DEASGN-USERS TU22 ABAC TELLERS", UserTestData.USERS_TU22_ABAC, RoleTestData.ROLES_ABAC_TELLERS, false );
+ deassignUsers( "DEASGN-USERS TU22 ABAC USERS", UserTestData.USERS_TU22_ABAC, RoleTestData.ROLES_ABAC_USERS, false );
+ deassignUsersH( "DEASGN-USRS_H TU7 TR5 HIER", UserTestData.USERS_TU7_HIER, RoleTestData.ROLES_TR5_HIER );
+ deassignUsersH( "DEASGN-USRS_H TU20 TR5B HIER", UserTestData.USERS_TU20U_TR5B, RoleTestData.ROLES_TR5B );
+ }
+*/
+
+
+ void deassignUsers( String msg, String[][] uArray, String[][] rArray )
+ {
+ deassignUsers( msg, uArray, rArray, true );
+ }
+
/**
* @param msg
* @param uArray
* @param rArray
*/
- void deassignUsers( String msg, String[][] uArray, String[][] rArray )
+ private void deassignUsers( String msg, String[][] uArray, String[][] rArray, boolean performListCheck )
{
LogUtil.logIt( msg );
try
@@ -1646,24 +1697,28 @@ public class AdminMgrImplTest extends TestCase
adminMgr.deassignUser( uRole );
LOG.debug( "deassignUsers user [" + uRole.getUserId() + "] role [" + uRole.getName()
+ "] successful" );
- // Double check the number of users associated with role:
- // This one retrieves the collection of all "roleOccupant" attributes associated with the role node:
- List<String> users = reviewMgr.assignedUsers( RoleTestData.getRole( rle ), rArray.length );
- // This one searches across all Users and pull back list of type "User":
- List<User> users2 = reviewMgr.authorizedUsers( RoleTestData.getRole( rle ) );
- assertNotNull( users );
- assertNotNull( users2 );
-
- // If this is the last user deassigned from role, both lists will be returned empty:
- if ( i == uArray.length )
- {
- assertTrue( users.size() == 0 );
- assertTrue( users2.size() == 0 );
- }
- else
+
+ if(performListCheck)
{
- assertTrue( CLS_NM + "deassignUsers list size check", ( rArray.length - i ) == users.size() );
- assertTrue( CLS_NM + "deassignUsers list2 size check", ( rArray.length - i ) == users2.size() );
+ // Double check the number of users associated with role:
+ // This one retrieves the collection of all "roleOccupant" attributes associated with the role node:
+ List<String> users = reviewMgr.assignedUsers( RoleTestData.getRole( rle ), rArray.length );
+ // This one searches across all Users and pull back list of type "User":
+ List<User> users2 = reviewMgr.authorizedUsers( RoleTestData.getRole( rle ) );
+ assertNotNull( users );
+ assertNotNull( users2 );
+
+ // If this is the last user deassigned from role, both lists will be returned empty:
+ if ( i == uArray.length )
+ {
+ assertTrue( users.size() == 0 );
+ assertTrue( users2.size() == 0 );
+ }
+ else
+ {
+ assertTrue( CLS_NM + "deassignUsers list size check", ( rArray.length - i ) == users.size() );
+ assertTrue( CLS_NM + "deassignUsers list2 size check", ( rArray.length - i ) == users2.size() );
+ }
}
}
}
@@ -1710,6 +1765,68 @@ public class AdminMgrImplTest extends TestCase
}
+ public void testAssignUserRoleConstraints()
+ {
+ assignUserRoleConstraints( "ASSGN-USER-ROLE-CONSTRAINTS TR18 ABAC", RoleTestData.ROLE_CONSTRAINTS_TR18_ABAC );
+ }
+
+
+ public static void assignUserRoleConstraints( String msg, String[][] urArray )
+ {
+ LogUtil.logIt( msg );
+ try
+ {
+ AdminMgr adminMgr = getManagedAdminMgr();
+ //ReviewMgr reviewMgr = ReviewMgrImplTest.getManagedReviewMgr();
+ for ( String[] urConstraint : urArray )
+ {
+ UserRole uRole = RoleTestData.getUserRoleConstraintAbac( urConstraint );
+ RoleConstraint rConstraint = uRole.getConstraints().get( 0 );
+ RoleConstraint out = adminMgr.addRoleConstraint( uRole, rConstraint );
+ assertNotNull( out );
+ }
+ }
+ catch ( SecurityException ex )
+ {
+ LOG.error(
+ "assignUserRoleConstraints caught SecurityException rc=" + ex.getErrorId() + ", msg="
+ + ex.getMessage(), ex );
+ fail( ex.getMessage() );
+ }
+ }
+
+
+ public void testDeassignUserRoleConstraints()
+ {
+ deassignUserRoleConstraints( "DEASSGN-USER-ROLE-CONSTRAINTS TR18 ABAC", RoleTestData
+ .ROLE_CONSTRAINTS_TR18_ABAC );
+ }
+
+
+ public static void deassignUserRoleConstraints( String msg, String[][] urArray )
+ {
+ LogUtil.logIt( msg );
+ try
+ {
+ AdminMgr adminMgr = getManagedAdminMgr();
+ //ReviewMgr reviewMgr = ReviewMgrImplTest.getManagedReviewMgr();
+ for ( String[] urConstraint : urArray )
+ {
+ UserRole uRole = RoleTestData.getUserRoleConstraintAbac( urConstraint );
+ RoleConstraint rConstraint = uRole.getConstraints().get( 0 );
+ adminMgr.removeRoleConstraint( uRole, rConstraint );
+ }
+ }
+ catch ( SecurityException ex )
+ {
+ LOG.error(
+ "deassignUserRoleConstraints caught SecurityException rc=" + ex.getErrorId() + ", msg="
+ + ex.getMessage(), ex );
+ fail( ex.getMessage() );
+ }
+ }
+
+
public void testAddPermissionOp()
{
// public PermObj addPermObj(PermObj pObj)
@@ -1718,6 +1835,11 @@ public class AdminMgrImplTest extends TestCase
addPermOps( "ADD-OPS TOB3 TOP3", PermTestData.OBJS_TOB3, PermTestData.OPS_TOP3, true, false );
addPermOps( "ADD-OPS TOB4 TOP4", PermTestData.OBJS_TOB4, PermTestData.OPS_TOP4, true, false );
addPermOps( "ADD-OPS TOB6 TOP5", PermTestData.OBJS_TOB6, PermTestData.OPS_TOP5, true, false );
+ addPermOps( "ADD-OPS ABAC WASHER", PermTestData.ABAC_WASHER_OBJS, PermTestData.ABAC_WASHER_OPS, true, false );
+ addPermOps( "ADD-OPS ABAC TELLER", PermTestData.ABAC_TELLER_OBJS, PermTestData.ABAC_TELLER_OPS, true, false );
+ addPermOps( "ADD-OPS ABAC ACCOUNT", PermTestData.ABAC_ACCOUNT_OBJS, PermTestData.ABAC_ACCOUNT_OPS, true, false );
+ addPermOps( "ADD-OPS ABAC CURRENCY", PermTestData.ABAC_CURRENCY_OBJS, PermTestData.ABAC_CURRENCY_OPS, true, false );
+ addPermOps( "ADD-OPS ABAC BRANCH", PermTestData.ABAC_BRANCH_OBJS, PermTestData.ABAC_BRANCH_OPS, true, false );
}
@@ -1772,9 +1894,15 @@ public class AdminMgrImplTest extends TestCase
addPermObjs( "ADD-OBS TOB3", PermTestData.OBJS_TOB3, true, false );
addPermObjs( "ADD-OBS TOB4", PermTestData.OBJS_TOB4, true, false );
addPermObjs( "ADD-OBS TOB6", PermTestData.OBJS_TOB6, true, false );
+ addPermObjs( "ADD-OBS ABAC WASHER", PermTestData.ABAC_WASHER_OBJS, true, false );
+ addPermObjs( "ADD-OBS ABAC TELLER", PermTestData.ABAC_TELLER_OBJS, true, false );
+ addPermObjs( "ADD-OBS ABAC ACCOUNT", PermTestData.ABAC_ACCOUNT_OBJS, true, false );
+ addPermObjs( "ADD-OBS ABAC CURRENCY", PermTestData.ABAC_CURRENCY_OBJS, true, false );
+ addPermObjs( "ADD-OBS ABAC BRANCH", PermTestData.ABAC_BRANCH_OBJS, true, false );
}
+
/**
* @param objArray
*/
@@ -2047,6 +2175,12 @@ public class AdminMgrImplTest extends TestCase
delPermOps( "DEL-OPS TOB3 TOP4", PermTestData.OBJS_TOB3, PermTestData.OPS_TOP3, true, false );
delPermOps( "DEL-OPS TOB4 TOP4", PermTestData.OBJS_TOB4, PermTestData.OPS_TOP4, true, false );
delPermOps( "DEL-OPS TOB6 TOP5", PermTestData.OBJS_TOB6, PermTestData.OPS_TOP5, true, false );
+ delPermOps( "DEL-OPS ABAC WASHER", PermTestData.ABAC_WASHER_OBJS, PermTestData.ABAC_WASHER_OPS, true, false );
+ delPermOps( "DEL-OPS ABAC TELLER", PermTestData.ABAC_TELLER_OBJS, PermTestData.ABAC_TELLER_OPS, true, false );
+ delPermOps( "DEL-OPS ABAC ACCOUNT", PermTestData.ABAC_ACCOUNT_OBJS, PermTestData.ABAC_ACCOUNT_OPS, true, false );
+ delPermOps( "DEL-OPS ABAC CURRENCY", PermTestData.ABAC_CURRENCY_OBJS, PermTestData.ABAC_CURRENCY_OPS, true,
+ false );
+ delPermOps( "DEL-OPS ABAC BRANCH", PermTestData.ABAC_BRANCH_OBJS, PermTestData.ABAC_BRANCH_OPS, true, false );
}
@@ -2101,6 +2235,11 @@ public class AdminMgrImplTest extends TestCase
delPermObjs( "DEL-OBJS TOB3", PermTestData.OBJS_TOB3, true );
delPermObjs( "DEL-OBJS TOB4", PermTestData.OBJS_TOB4, true );
delPermObjs( "DEL-OBJS TOB6", PermTestData.OBJS_TOB6, true );
+ delPermObjs( "DEL-OBS ABAC WASHER", PermTestData.ABAC_WASHER_OBJS, true );
+ delPermObjs( "DEL-OBS ABAC TELLER", PermTestData.ABAC_TELLER_OBJS, true );
+ delPermObjs( "DEL-OBS ABAC ACCOUNT", PermTestData.ABAC_ACCOUNT_OBJS, true );
+ delPermObjs( "DEL-OBS ABAC CURRENCY", PermTestData.ABAC_CURRENCY_OBJS, true );
+ delPermObjs( "DEL-OBS ABAC BRANCH", PermTestData.ABAC_BRANCH_OBJS, true );
}
@@ -2239,6 +2378,11 @@ public class AdminMgrImplTest extends TestCase
PermTestData.OPS_TOP2, true, false );
addRoleGrants( "GRNT-PRMS TR3 TOB3 TOP3", RoleTestData.ROLES_TR3, PermTestData.OBJS_TOB3,
PermTestData.OPS_TOP3, true, false );
+ addRoleGrants( "GRNT-PRMS ABAC WASHER", RoleTestData.ROLES_ABAC_WASHERS, PermTestData.ABAC_WASHER_OBJS, PermTestData.ABAC_WASHER_OPS, true, false );
+ addRoleGrants( "GRNT-PRMS ABAC WASHER CURRENCY", RoleTestData.ROLES_ABAC_WASHERS, PermTestData.ABAC_CURRENCY_OBJS, PermTestData.ABAC_CURRENCY_OPS, true, false );
+ addRoleGrants( "GRNT-PRMS ABAC TELLER", RoleTestData.ROLES_ABAC_TELLERS, PermTestData.ABAC_TELLER_OBJS, PermTestData.ABAC_TELLER_OPS, true, false );
+ addRoleGrants( "GRNT-PRMS ABAC TELLER ACCOUNT", RoleTestData.ROLES_ABAC_TELLERS, PermTestData.ABAC_ACCOUNT_OBJS, PermTestData.ABAC_ACCOUNT_OPS, true, false );
+ addRoleGrants( "GRNT-PRMS ABAC BANK USERS", RoleTestData.ROLES_ABAC_USERS, PermTestData.ABAC_BRANCH_OBJS, PermTestData.ABAC_BRANCH_OPS, true, false );
addRoleGrantsH( "GRNT-PRMS_H ROLES_TR5_HIER TOB4 TOP4", RoleTestData.ROLES_TR5_HIER, PermTestData.OBJS_TOB4,
PermTestData.OPS_TOP4 );
addRoleGrantsHB( "GRNT-PRMS_HB USERS TU20 ROLES_TR5B TOB6 TOP5", UserTestData.USERS_TU20U_TR5B,
@@ -2404,6 +2548,15 @@ public class AdminMgrImplTest extends TestCase
PermTestData.OPS_TOP2, true );
delRoleGrants( "REVK-PRMS TR3 TOB3 TOP3", RoleTestData.ROLES_TR3, PermTestData.OBJS_TOB3,
PermTestData.OPS_TOP3, true );
+ delRoleGrants( "REVK-PRMS ABAC WASHER", RoleTestData.ROLES_ABAC_WASHERS, PermTestData.ABAC_WASHER_OBJS, PermTestData.ABAC_WASHER_OPS, true );
+ delRoleGrants( "REVK-PRMS ABAC WASHER CURRENCY", RoleTestData.ROLES_ABAC_WASHERS, PermTestData
+ .ABAC_CURRENCY_OBJS, PermTestData.ABAC_CURRENCY_OPS, true );
+ delRoleGrants( "REVK-PRMS ABAC TELLER", RoleTestData.ROLES_ABAC_TELLERS, PermTestData.ABAC_TELLER_OBJS,
+ PermTestData.ABAC_TELLER_OPS, true );
+ delRoleGrants( "REVK-PRMS ABAC TELLER ACCOUNT", RoleTestData.ROLES_ABAC_TELLERS, PermTestData
+ .ABAC_ACCOUNT_OBJS, PermTestData.ABAC_ACCOUNT_OPS, true );
+ delRoleGrants( "GRNT-PRMS ABAC BANK USERS", RoleTestData.ROLES_ABAC_USERS, PermTestData.ABAC_BRANCH_OBJS,
+ PermTestData.ABAC_BRANCH_OPS, true );
delRoleGrantsH( "REVK-PRMS_H ROLES_TR5_HIER TOB4 TOP4", RoleTestData.ROLES_TR5_HIER, PermTestData.OBJS_TOB4,
PermTestData.OPS_TOP4 );
delRoleGrantsHB( "REVK-PRMS_H USERS TU20 ROLES_TR5B TOB6 TOP5", UserTestData.USERS_TU20U_TR5B,
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/2bcd1b3d/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java b/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
index 35e58e4..f0d2451 100755
--- a/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
+++ b/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
@@ -123,6 +123,7 @@ public class FortressJUnitTest extends TestCase
suite.addTest( new AdminMgrImplTest( "testDeletePermissionOp" ) );
suite.addTest( new AdminMgrImplTest( "testDeletePermissionObj" ) );
suite.addTest( new AdminMgrImplTest( "testDeletePermissionAttributeSets" ) );
+ suite.addTest( new AdminMgrImplTest( "testDeassignUserRoleConstraints" ) );
suite.addTest( new AdminMgrImplTest( "testDeassignUser" ) );
suite.addTest( new AdminMgrImplTest( "testDeleteUser" ) );
suite.addTest( new AdminMgrImplTest( "testForceDeleteUser" ) );
@@ -176,7 +177,6 @@ public class FortressJUnitTest extends TestCase
suite.addTest( new DelegatedMgrImplTest( "testAddAdminRoleDescendant" ) );
suite.addTest( new DelegatedMgrImplTest( "testAddAdminRoleAscendants" ) );
suite.addTest( new DelegatedMgrImplTest( "testAddAdminRoleInheritance" ) );
-
suite.addTest( new DelegatedMgrImplTest( "testAddUser" ) );
suite.addTest( new DelegatedMgrImplTest( "testAddPermission" ) );
suite.addTest( new DelegatedMgrImplTest( "testAssignAdminUser" ) );
@@ -201,17 +201,16 @@ public class FortressJUnitTest extends TestCase
suite.addTest( new PswdPolicyMgrImplTest( "testUpdatePasswordPolicy" ) );
}
suite.addTest( new AdminMgrImplTest( "testAssignUser" ) );
+ suite.addTest( new AdminMgrImplTest( "testAssignUserRoleConstraints" ) );
suite.addTest( new AdminMgrImplTest( "testAddPermissionObj" ) );
suite.addTest( new AdminMgrImplTest( "testUpdatePermissionObj" ) );
suite.addTest( new AdminMgrImplTest( "testAddPermissionOp" ) );
suite.addTest( new AdminMgrImplTest( "testUpdatePermissionOp" ) );
suite.addTest( new AdminMgrImplTest( "testGrantPermissionRole" ) );
suite.addTest( new AdminMgrImplTest( "testGrantPermissionUser" ) );
-
suite.addTest( new AdminMgrImplTest( "testAddPermissionAttributeSet" ) );
suite.addTest( new AdminMgrImplTest( "testAddPermissionAttributeToSet" ) );
suite.addTest( new AdminMgrImplTest( "testAddPASetToPermission" ) );
-
suite.addTest( new AdminMgrImplTest( "testAddUserRoleConstraint" ) );
suite.addTest( new AdminMgrImplTest( "testRemoveUserRoleConstraint" ) );
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/2bcd1b3d/src/test/java/org/apache/directory/fortress/core/impl/PermTestData.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/directory/fortress/core/impl/PermTestData.java b/src/test/java/org/apache/directory/fortress/core/impl/PermTestData.java
index d18398c..f5007cd 100755
--- a/src/test/java/org/apache/directory/fortress/core/impl/PermTestData.java
+++ b/src/test/java/org/apache/directory/fortress/core/impl/PermTestData.java
@@ -2739,6 +2739,186 @@ public class PermTestData extends TestCase
},
};
+
+ public static final String[][] ABAC_TELLER_OBJS =
+ {
+ {
+ "TellersPage",
+ "Used by Tellers", /* DESC_COL */
+ "APP0", /* ORG_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+
+ public static final String[][] ABAC_WASHER_OBJS =
+ {
+ {
+ "WashersPage",
+ "Used by Washers", /* DESC_COL */
+ "APP0", /* ORG_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+
+ public static final String[][] ABAC_ACCOUNT_OBJS =
+ {
+ {
+ "Account",
+ "Things we can do with Customer Accounts", /* DESC_COL */
+ "APP0", /* ORG_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+
+ public static final String[][] ABAC_CURRENCY_OBJS =
+ {
+ {
+ "Currency",
+ "Things we can do with currency", /* DESC_COL */
+ "APP0", /* ORG_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+
+ public static final String[][] ABAC_BRANCH_OBJS =
+ {
+ {
+ "Branch",
+ "Functions corresponds with a particular branch", /* DESC_COL */
+ "APP0", /* ORG_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+
+ /**
+ * Test Case ABAC1:
+ */
+ public static final String[][] ABAC_TELLER_OPS =
+ {
+ {
+ "link", /* NAME_COL */
+ "Tellers will view this link",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+ public static final String[][] ABAC_WASHER_OPS =
+ {
+ {
+ "link", /* NAME_COL */
+ "Washers will view this link",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+ public static final String[][] ABAC_ACCOUNT_OPS =
+ {
+ {
+ "deposit", /* NAME_COL */
+ "account.deposit function",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ {
+ "withdrawal", /* NAME_COL */
+ "dccount.withdrawal function",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ {
+ "inquiry", /* NAME_COL */
+ "account.inquiry function",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+ public static final String[][] ABAC_CURRENCY_OPS =
+ {
+ {
+ "soak", /* NAME_COL */
+ "Currency.soak function",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ {
+ "rinse", /* NAME_COL */
+ "Currency.rinse function",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ {
+ "dry", /* NAME_COL */
+ "Currency.dry function",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+ public static final String[][] ABAC_BRANCH_OPS =
+ {
+ {
+ "login", /* NAME_COL */
+ "ability to login to branch web app",/* DESC_COL */
+ "", /* OBJ_ID_COL */
+ "TST", /* TYPE_COL */
+ "", /* PROPS_COL */
+ "", /* ROLES_COL */
+ "", /* USERS_COL */
+ "", /* GROUPS_COL */
+ "F" /* IS_ADMIN_COL */
+ },
+ };
+
+
/**
* The Fortress test data for junit uses 2-dimensional arrays.
* These are the columns used for Fortress Object Test Data:
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/2bcd1b3d/src/test/java/org/apache/directory/fortress/core/impl/RoleTestData.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/directory/fortress/core/impl/RoleTestData.java b/src/test/java/org/apache/directory/fortress/core/impl/RoleTestData.java
index 0d892be..3ba6fa3 100755
--- a/src/test/java/org/apache/directory/fortress/core/impl/RoleTestData.java
+++ b/src/test/java/org/apache/directory/fortress/core/impl/RoleTestData.java
@@ -32,6 +32,7 @@ import junit.framework.TestCase;
import org.apache.commons.lang.StringUtils;
import org.apache.directory.fortress.core.model.Role;
+import org.apache.directory.fortress.core.model.RoleConstraint;
import org.apache.directory.fortress.core.model.SDSet;
import org.apache.directory.fortress.core.model.UserRole;
import org.slf4j.Logger;
@@ -39,6 +40,8 @@ import org.slf4j.LoggerFactory;
import org.apache.directory.fortress.core.model.Constraint;
+import javax.crypto.spec.RC2ParameterSpec;
+
/**
* Description of the Class
@@ -3922,4 +3925,178 @@ public class RoleTestData extends TestCase
"oamT17DSD1,oamT17DSD3", /* RELATIONSHIP_COL */
}
};
+
+
+ public static final String[][] ROLES_ABAC_WASHERS =
+ {
+ {
+ "Washers", /* NAME_COL */
+ "May wash currency", /* DESC_COL */
+ "30", /* TIMEOUT_COL */
+ "0000", /* BTIME_COL */
+ "0000", /* ETIME_COL */
+ "20090101", /* BDATE_COL */
+ "21000101", /* EDATE_COL */
+ "20500101", /* BLOCKDATE_COL */
+ "20500115", /* ELOCKDATE_COL */
+ "1234567" /* DAYMASK_COL */
+ },
+ };
+
+ public static final String[][] ROLES_ABAC_TELLERS =
+ {
+ {
+ "Tellers", /* NAME_COL */
+ "May transact on customer accounts", /* DESC_COL */
+ "30", /* TIMEOUT_COL */
+ "0000", /* BTIME_COL */
+ "0000", /* ETIME_COL */
+ "20090101", /* BDATE_COL */
+ "21000101", /* EDATE_COL */
+ "20500101", /* BLOCKDATE_COL */
+ "20500115", /* ELOCKDATE_COL */
+ "1234567" /* DAYMASK_COL */
+ },
+ };
+
+ public static final String[][] ROLES_ABAC_USERS =
+ {
+ {
+ "Bank_Users", /* NAME_COL */
+ "Basic rights to log into the web app", /* DESC_COL */
+ "0", /* TIMEOUT_COL */
+ "0000", /* BTIME_COL */
+ "0000", /* ETIME_COL */
+ "20090101", /* BDATE_COL */
+ "21000101", /* EDATE_COL */
+ "20500101", /* BLOCKDATE_COL */
+ "20500115", /* ELOCKDATE_COL */
+ "1234567" /* DAYMASK_COL */
+ },
+ };
+
+ public static final String[][] DSD_TR18_ABAC =
+ {
+ {
+ "BankSafe", /* NAME_COL */
+ "User may only activate one of these roles", /* DESC_COL */
+ "2", /* CARDINALITY */
+ "Tellers,Washers", /* RELATIONSHIP_COL */
+ }
+ };
+
+ /**
+ * The Fortress test data for junit uses 2-dimensional arrays.
+ */
+ private final static int C_UID_COL = 0;
+ private final static int C_ROLE_COL = 1;
+ private final static int C_KEY_COL = 2;
+ private final static int C_VALUE_COL = 3;
+ private final static int C_TYPE_COL = 4;
+
+ public static String getConstraintUserid( String[] rle )
+ {
+ return rle[C_UID_COL];
+ }
+ public static String getConstraintRole( String[] rle )
+ {
+ return rle[C_ROLE_COL];
+ }
+ public static String getConstraintKey( String[] rle )
+ {
+ return rle[C_KEY_COL];
+ }
+ public static String getConstraintValue( String[] rle )
+ {
+ return rle[C_VALUE_COL];
+ }
+ public static String getConstraintType( String[] rle )
+ {
+ return rle[C_TYPE_COL];
+ }
+
+ public static UserRole getUserRoleConstraintAbac( String[] constraint )
+ {
+ UserRole uRole = new UserRole();
+ uRole.setUserId( getConstraintUserid( constraint ) );
+ uRole.setName( getConstraintRole( constraint ) );
+ RoleConstraint rConstraint = new RoleConstraint();
+ rConstraint.setTypeName( getConstraintType( constraint ) );
+ rConstraint.setKey( getConstraintKey( constraint ) );
+ rConstraint.setValue( getConstraintValue( constraint ) );
+ List<RoleConstraint> constraints = new ArrayList();
+ constraints.add( rConstraint );
+ uRole.setRoleConstraints( constraints );
+ return uRole;
+ }
+
+
+ public static final String[][] ROLE_CONSTRAINTS_TR18_ABAC =
+ {
+ {
+ "curly", /* USERID */
+ "tellers", /* ROLE NAME */
+ "locale", /* KEY */
+ "east", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "curly", /* USERID */
+ "washers", /* ROLE NAME */
+ "locale", /* KEY */
+ "north", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "curly", /* USERID */
+ "washers", /* ROLE NAME */
+ "locale", /* KEY */
+ "south", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "moe", /* USERID */
+ "tellers", /* ROLE NAME */
+ "locale", /* KEY */
+ "north", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "moe", /* USERID */
+ "washers", /* ROLE NAME */
+ "locale", /* KEY */
+ "east", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "moe", /* USERID */
+ "washers", /* ROLE NAME */
+ "locale", /* KEY */
+ "south", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "larry", /* USERID */
+ "tellers", /* ROLE NAME */
+ "locale", /* KEY */
+ "south", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "larry", /* USERID */
+ "washers", /* ROLE NAME */
+ "locale", /* KEY */
+ "north", /* VALUE */
+ "USER" /* TYPE */
+ },
+ {
+ "larry", /* USERID */
+ "washers", /* ROLE NAME */
+ "locale", /* KEY */
+ "east", /* VALUE */
+ "USER" /* TYPE */
+ },
+ };
+
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/2bcd1b3d/src/test/java/org/apache/directory/fortress/core/impl/UserTestData.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/directory/fortress/core/impl/UserTestData.java b/src/test/java/org/apache/directory/fortress/core/impl/UserTestData.java
index fe66625..519c15b 100755
--- a/src/test/java/org/apache/directory/fortress/core/impl/UserTestData.java
+++ b/src/test/java/org/apache/directory/fortress/core/impl/UserTestData.java
@@ -6227,10 +6227,10 @@ public class UserTestData extends TestCase
"Permanent", /* EMPLOYEE_TYPE_COL */
"FALSE", /* SYSTEM USER */
"p2.jpeg", /* JPEGPHOTO_COL */
-}
+ }
};
- // Test Case TU12:
+ // Test Case TU21:
@MyAnnotation(name = "USERS_TU21_DSD_BRUNO", value = "USR TU21_DSD_BRUNO")
public static final String[][] USERS_TU21_DSD_BRUNO =
{
@@ -6264,6 +6264,97 @@ public class UserTestData extends TestCase
}
};
+
+ // Test Case TU21:
+ @MyAnnotation(name = "USERS_TU22_ABAC", value = "USR TU22 ABAC")
+ public static final String[][] USERS_TU22_ABAC =
+ {
+ {
+ "curly", /* USERID_COL */
+ "password", /* PASSWORD_COL */
+ "Test1", /* PW POLICY ATTR */
+ "Head Teller of the East, Coin Washer in North and South", /* DESC_COL */
+ "Curly Howrowitz", /* CN_COL */
+ "Horowitz", /* SN_COL */
+ "curly.horowitz@stooge.com", /* EMAILS_COL */
+ "", /* PROPS_COL */
+ "0000", /* BTIME_COL */
+ "0000", /* ETIME_COL */
+ "20091001", /* BDATE_COL */
+ "21000101", /* EDATE_COL */
+ "20300101", /* BLOCKDATE_COL */
+ "20300115", /* ELOCKDATE_COL */
+ "1234567", /* DAYMASK_COL */
+ "DEV1", /* ORG_COL */
+ "0", /* TIMEOUT_COL */
+ "", /* ASSGND_ROLES_COL */
+ "", /* AUTHZ_ROLES_COL */
+ "Lawrence,KS,66045,Strong Hall,Computer Science,222",/* ADDRESS_COL */
+ "888-888-8888,777-777-7777",/* PHONES_COL */
+ "555-555-5555,444-444-4444",/* MOBILES_COL */
+ "Tester", /* TITLE_COL */
+ "Permanent", /* EMPLOYEE_TYPE_COL */
+ "FALSE", /* SYSTEM USER */
+ "p1.jpeg", /* JPEGPHOTO_COL */
+ },
+ {
+ "moe", /* USERID_COL */
+ "password", /* PASSWORD_COL */
+ "Test1", /* PW POLICY ATTR */
+ "Head Teller of the North, Coin Washer in East and South", /* DESC_COL */
+ "Moe Howard", /* CN_COL */
+ "Howard", /* SN_COL */
+ "moe.howard@stooge.com", /* EMAILS_COL */
+ "", /* PROPS_COL */
+ "0000", /* BTIME_COL */
+ "0000", /* ETIME_COL */
+ "20091001", /* BDATE_COL */
+ "21000101", /* EDATE_COL */
+ "20300101", /* BLOCKDATE_COL */
+ "20300115", /* ELOCKDATE_COL */
+ "1234567", /* DAYMASK_COL */
+ "DEV1", /* ORG_COL */
+ "0", /* TIMEOUT_COL */
+ "", /* ASSGND_ROLES_COL */
+ "", /* AUTHZ_ROLES_COL */
+ "Lawrence,KS,66045,Strong Hall,Computer Science,222",/* ADDRESS_COL */
+ "888-888-8888,777-777-7777",/* PHONES_COL */
+ "555-555-5555,444-444-4444",/* MOBILES_COL */
+ "Tester", /* TITLE_COL */
+ "Permanent", /* EMPLOYEE_TYPE_COL */
+ "FALSE", /* SYSTEM USER */
+ "p1.jpeg", /* JPEGPHOTO_COL */
+ },
+ {
+ "larry", /* USERID_COL */
+ "password", /* PASSWORD_COL */
+ "Test1", /* PW POLICY ATTR */
+ "Head Teller of the South, Coin Washer in North and East", /* DESC_COL */
+ "Larry Fine", /* CN_COL */
+ "Fine", /* SN_COL */
+ "larry.fine@stooge.com", /* EMAILS_COL */
+ "", /* PROPS_COL */
+ "0000", /* BTIME_COL */
+ "0000", /* ETIME_COL */
+ "20091001", /* BDATE_COL */
+ "21000101", /* EDATE_COL */
+ "20300101", /* BLOCKDATE_COL */
+ "20300115", /* ELOCKDATE_COL */
+ "1234567", /* DAYMASK_COL */
+ "DEV1", /* ORG_COL */
+ "0", /* TIMEOUT_COL */
+ "", /* ASSGND_ROLES_COL */
+ "", /* AUTHZ_ROLES_COL */
+ "Lawrence,KS,66045,Strong Hall,Computer Science,222",/* ADDRESS_COL */
+ "888-888-8888,777-777-7777",/* PHONES_COL */
+ "555-555-5555,444-444-4444",/* MOBILES_COL */
+ "Tester", /* TITLE_COL */
+ "Permanent", /* EMPLOYEE_TYPE_COL */
+ "FALSE", /* SYSTEM USER */
+ "p3.jpeg", /* JPEGPHOTO_COL */
+ },
+ };
+
/**
* The Fortress test data for junit uses 2-dimensional arrays.
*/