use of org.apache.directory.fortress.core.model.Role in project directory-fortress-core by apache.
the class AdminMgrImplTest method addRoleGrants.
/**
* @param rArray
* @param objArray
* @param opArray
*/
public static void addRoleGrants(String msg, String[][] rArray, String[][] objArray, String[][] opArray, boolean isAdmin, boolean canFail) {
LogUtil.logIt(msg);
Permission pOp = new Permission();
Role role = new Role();
try {
AdminMgr adminMgr;
if (isAdmin) {
adminMgr = getManagedAdminMgr();
} else {
adminMgr = AdminMgrFactory.createInstance(TestUtils.getContext());
}
for (String[] rle : rArray) {
for (String[] obj : objArray) {
for (String[] op : opArray) {
role = new Role(RoleTestData.getName(rle));
pOp = PermTestData.getOp(PermTestData.getName(obj), op);
adminMgr.grantPermission(pOp, role);
LOG.debug("addRoleGrants role name [" + role.getName() + "] objName [" + pOp.getObjName() + "] objectId [" + pOp.getObjId() + "] operation name [" + pOp.getOpName() + "] successful");
}
}
}
} catch (SecurityException ex) {
if (!canFail) {
LOG.error("addRoleGrants role name [" + role.getName() + "] objName [" + pOp.getObjName() + "] objectId [" + pOp.getObjId() + "] operation name [" + pOp.getOpName() + "] caught SecurityException rc=" + ex.getErrorId() + ", msg=" + ex.getMessage(), ex);
fail(ex.getMessage());
}
}
}
use of org.apache.directory.fortress.core.model.Role in project directory-fortress-core by apache.
the class AdminMgrImplTest method delRoleAscendant.
/**
* @param msg
* @param rArray
*/
private void delRoleAscendant(String msg, String[][] rArray) {
LogUtil.logIt(msg);
try {
AdminMgr adminMgr = getManagedAdminMgr();
for (String[] rle : rArray) {
Role role = RoleTestData.getRole(rle);
Set<String> ascs = RoleTestData.getRelationships(rle);
if (ascs != null) {
for (String asc : ascs) {
adminMgr.deleteInheritance(new Role(asc), role);
LOG.debug("delRoleAscendant desc role [" + role.getName() + "] asc role [" + asc + "] successful");
}
}
Set<String> inheritances = RoleTestData.getInheritances(rle);
if (inheritances != null) {
for (String asc : inheritances) {
adminMgr.deleteInheritance(new Role(asc), role);
LOG.debug("delRoleAscendant desc role [" + role.getName() + "] asc role [" + asc + "] successful");
}
}
adminMgr.deleteRole(role);
LOG.debug("delRoleAscendant remove desc role [" + role.getName() + "] successful");
}
// cleanup the top ascendant from roles data set.
ReviewMgr reviewMgr = ReviewMgrImplTest.getManagedReviewMgr();
String roleSrchVal = RoleTestData.getName(rArray[0]);
roleSrchVal = roleSrchVal.substring(0, roleSrchVal.length() - 8);
List<Role> cleanup = reviewMgr.findRoles(roleSrchVal);
for (Role re : cleanup) {
adminMgr.deleteRole(re);
LOG.debug("delRoleAscendant cleanup role [" + re.getName() + "] successful");
}
} catch (SecurityException ex) {
LOG.error("delRoleAscendant caught SecurityException rc=" + ex.getErrorId() + ", msg=" + ex.getMessage(), ex);
fail(ex.getMessage());
}
}
use of org.apache.directory.fortress.core.model.Role in project directory-fortress-core by apache.
the class AdminMgrImplTest method deassignUsersH.
/**
* @param msg
* @param uArray
* @param rArray
*/
void deassignUsersH(String msg, String[][] uArray, String[][] rArray) {
LogUtil.logIt(msg);
User user = null;
Role role = null;
try {
AdminMgr adminMgr = getManagedAdminMgr();
int i = 0;
for (String[] usr : uArray) {
user = UserTestData.getUser(usr);
role = RoleTestData.getRole(rArray[i++]);
UserRole uRole = new UserRole(user.getUserId(), role.getName());
adminMgr.deassignUser(uRole);
}
} catch (SecurityException ex) {
LOG.error("deassignUsersH user [" + (user != null ? user.getUserId() : null) + "] role [" + (role != null ? role.getName() : null) + "] caught SecurityException rc=" + ex.getErrorId() + ", msg=" + ex.getMessage(), ex);
fail(ex.getMessage());
}
}
use of org.apache.directory.fortress.core.model.Role in project directory-fortress-core by apache.
the class AdminMgrImplTest method addRoleDescendant.
/**
* @param msg
* @param rArray
*/
public static void addRoleDescendant(String msg, String[][] rArray) {
LogUtil.logIt(msg);
try {
AdminMgr adminMgr = getManagedAdminMgr();
int ctr = 0;
for (String[] rle : rArray) {
Role role = RoleTestData.getRole(rle);
if (ctr++ == 0 || RoleTestData.isTree(rle)) {
adminMgr.addRole(role);
LOG.debug("addDescendant add role [" + role.getName() + "] successful");
}
// use list because order is important for test structure:
List<String> descs = RoleTestData.getRelationshipList(rle);
if (descs != null) {
if (RoleTestData.isTree(rle)) {
Role parent = role;
for (String desc : descs) {
Role child = new Role(desc);
adminMgr.addDescendant(parent, new Role(desc));
LOG.debug("addDescendant asc role [" + role.getName() + "] desc role [" + desc + "] successful");
parent = child;
}
} else {
for (String desc : descs) {
adminMgr.addDescendant(role, new Role(desc));
LOG.debug("addDescendant asc role [" + role.getName() + "] desc role [" + desc + "] successful");
}
}
}
Set<String> inheritances = RoleTestData.getInheritances(rle);
if (inheritances != null) {
for (String desc : inheritances) {
adminMgr.addInheritance(role, new Role(desc));
LOG.debug("addDescendant asc role [" + role.getName() + "] desc role [" + desc + "] successful");
}
}
}
} catch (SecurityException ex) {
LOG.error("addDescendant caught SecurityException rc=" + ex.getErrorId() + ", msg=" + ex.getMessage(), ex);
fail(ex.getMessage());
}
}
use of org.apache.directory.fortress.core.model.Role in project directory-fortress-core by apache.
the class AdminMgrImplTest method delRoleGrantsH.
/**
* @param msg
* @param rArray
* @param objArray
* @param opArray
*/
private void delRoleGrantsH(String msg, String[][] rArray, String[][] objArray, String[][] opArray) {
LogUtil.logIt(msg);
Permission pOp = new Permission();
Role role = new Role();
try {
AdminMgr adminMgr = getManagedAdminMgr();
int i = 0;
for (String[] obj : objArray) {
role = new Role(RoleTestData.getName(rArray[i++]));
for (String[] op : opArray) {
pOp = PermTestData.getOp(PermTestData.getName(obj), op);
adminMgr.revokePermission(pOp, role);
LOG.debug("delRoleGrantsH role name [" + role.getName() + "] objName [" + pOp.getObjName() + "] objectId [" + pOp.getObjId() + "] operation name [" + pOp.getOpName() + "] successful");
}
}
} catch (SecurityException ex) {
LOG.error("delRoleGrantsH role name [" + role.getName() + "] objName [" + pOp.getObjName() + "] objectId [" + pOp.getObjId() + "] operation name [" + pOp.getOpName() + "] caught SecurityException rc=" + ex.getErrorId() + ", msg=" + ex.getMessage(), ex);
fail(ex.getMessage());
}
}
Aggregations