Removed applicationContext from the java classes where possible and used dependency injection instead.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58099 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-11-21 18:09:49 +00:00
parent 65e6b0038c
commit 335a5b87a4
20 changed files with 522 additions and 728 deletions

View File

@@ -34,54 +34,31 @@ import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.transaction.AlfrescoTransactionSupport; import org.alfresco.repo.transaction.AlfrescoTransactionSupport;
import org.alfresco.repo.transaction.TransactionalResourceHelper; import org.alfresco.repo.transaction.TransactionalResourceHelper;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.search.SearchService;
import org.alfresco.service.cmr.security.OwnableService;
import org.alfresco.service.namespace.NamespacePrefixResolver; import org.alfresco.service.namespace.NamespacePrefixResolver;
import org.aopalliance.intercept.MethodInvocation; import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/** /**
* Records managment entry voter. * Records managment entry voter.
* *
* @author Roy Wetherall, Andy Hind * @author Roy Wetherall, Andy Hind
*/ */
public class RMEntryVoter extends RMSecurityCommon public class RMEntryVoter extends RMSecurityCommon
implements AccessDecisionVoter, InitializingBean, ApplicationContextAware, PolicyRegister implements AccessDecisionVoter, InitializingBean, PolicyRegister
{ {
/** Logger */ /** Logger */
private static Log logger = LogFactory.getLog(RMEntryVoter.class); private static Log logger = LogFactory.getLog(RMEntryVoter.class);
/** Namespace resolver */ /** Namespace resolver */
private NamespacePrefixResolver nspr; private NamespacePrefixResolver nspr;
/** Search service */
private SearchService searchService;
/** Ownable service */
private OwnableService ownableService;
/** Capability Service */ /** Capability Service */
private CapabilityService capabilityService; private CapabilityService capabilityService;
/** Policy map */ /** Policy map */
private HashMap<String, Policy> policies = new HashMap<String, Policy>(); private HashMap<String, Policy> policies = new HashMap<String, Policy>();
/** Application context */
private ApplicationContext applicationContext;
/**
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
*/
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{
this.applicationContext = applicationContext;
}
/** /**
* @param capabilityService capability service * @param capabilityService capability service
@@ -90,31 +67,7 @@ public class RMEntryVoter extends RMSecurityCommon
{ {
this.capabilityService = capabilityService; this.capabilityService = capabilityService;
} }
/**
* @return search service
*/
public SearchService getSearchService()
{
if (searchService == null)
{
searchService = (SearchService)applicationContext.getBean("SearchService");
}
return searchService;
}
/**
* @return ownable service
*/
public OwnableService getOwnableService()
{
if (ownableService == null)
{
ownableService = (OwnableService)applicationContext.getBean("ownableService");
}
return ownableService;
}
/** /**
* @param nspr namespace prefix resolver * @param nspr namespace prefix resolver
*/ */
@@ -122,10 +75,10 @@ public class RMEntryVoter extends RMSecurityCommon
{ {
this.nspr = nspr; this.nspr = nspr;
} }
/** /**
* Register a policy the voter * Register a policy the voter
* *
* @param policy policy * @param policy policy
*/ */
public void registerPolicy(Policy policy) public void registerPolicy(Policy policy)
@@ -141,10 +94,10 @@ public class RMEntryVoter extends RMSecurityCommon
{ {
if ((attribute.getAttribute() != null) && if ((attribute.getAttribute() != null) &&
(attribute.getAttribute().equals(ConfigAttributeDefinition.RM_ABSTAIN) || (attribute.getAttribute().equals(ConfigAttributeDefinition.RM_ABSTAIN) ||
attribute.getAttribute().equals(ConfigAttributeDefinition.RM_QUERY) || attribute.getAttribute().equals(ConfigAttributeDefinition.RM_QUERY) ||
attribute.getAttribute().equals(ConfigAttributeDefinition.RM_ALLOW) || attribute.getAttribute().equals(ConfigAttributeDefinition.RM_ALLOW) ||
attribute.getAttribute().equals(ConfigAttributeDefinition.RM_DENY) || attribute.getAttribute().equals(ConfigAttributeDefinition.RM_DENY) ||
attribute.getAttribute().startsWith(ConfigAttributeDefinition.RM_CAP) || attribute.getAttribute().startsWith(ConfigAttributeDefinition.RM_CAP) ||
attribute.getAttribute().startsWith(ConfigAttributeDefinition.RM))) attribute.getAttribute().startsWith(ConfigAttributeDefinition.RM)))
{ {
return true; return true;
@@ -171,24 +124,24 @@ public class RMEntryVoter extends RMSecurityCommon
public int vote(Authentication authentication, Object object, net.sf.acegisecurity.ConfigAttributeDefinition config) public int vote(Authentication authentication, Object object, net.sf.acegisecurity.ConfigAttributeDefinition config)
{ {
MethodInvocation mi = (MethodInvocation)object; MethodInvocation mi = (MethodInvocation)object;
if (TransactionalResourceHelper.isResourcePresent("voting") == true) if (TransactionalResourceHelper.isResourcePresent("voting") == true)
{ {
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
{ {
logger.debug(" .. grant access already voting: " + mi.getMethod().getDeclaringClass().getName() + "." + mi.getMethod().getName()); logger.debug(" .. grant access already voting: " + mi.getMethod().getDeclaringClass().getName() + "." + mi.getMethod().getName());
} }
return AccessDecisionVoter.ACCESS_GRANTED; return AccessDecisionVoter.ACCESS_GRANTED;
} }
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
{ {
logger.debug("Method: " + mi.getMethod().getDeclaringClass().getName() + "." + mi.getMethod().getName()); logger.debug("Method: " + mi.getMethod().getDeclaringClass().getName() + "." + mi.getMethod().getName());
} }
AlfrescoTransactionSupport.bindResource("voting", true); AlfrescoTransactionSupport.bindResource("voting", true);
try try
{ {
// The system user can do anything // The system user can do anything
if (AuthenticationUtil.isRunAsUserTheSystemUser()) if (AuthenticationUtil.isRunAsUserTheSystemUser())
{ {
@@ -198,24 +151,24 @@ public class RMEntryVoter extends RMSecurityCommon
} }
return AccessDecisionVoter.ACCESS_GRANTED; return AccessDecisionVoter.ACCESS_GRANTED;
} }
List<ConfigAttributeDefinition> supportedDefinitions = extractSupportedDefinitions(config); List<ConfigAttributeDefinition> supportedDefinitions = extractSupportedDefinitions(config);
// No RM definitions so we do not vote // No RM definitions so we do not vote
if (supportedDefinitions.size() == 0) if (supportedDefinitions.size() == 0)
{ {
return AccessDecisionVoter.ACCESS_ABSTAIN; return AccessDecisionVoter.ACCESS_ABSTAIN;
} }
MethodInvocation invocation = (MethodInvocation) object; MethodInvocation invocation = (MethodInvocation) object;
Method method = invocation.getMethod(); Method method = invocation.getMethod();
Class[] params = method.getParameterTypes(); Class[] params = method.getParameterTypes();
// If there are only capability (RM_CAP) and policy (RM) entries non must deny // If there are only capability (RM_CAP) and policy (RM) entries non must deny
// If any abstain we deny // If any abstain we deny
// All present must vote to allow unless an explicit direction comes first (e.g. RM_ALLOW) // All present must vote to allow unless an explicit direction comes first (e.g. RM_ALLOW)
for (ConfigAttributeDefinition cad : supportedDefinitions) for (ConfigAttributeDefinition cad : supportedDefinitions)
{ {
// Whatever is found first takes precedence // Whatever is found first takes precedence
@@ -240,7 +193,7 @@ public class RMEntryVoter extends RMSecurityCommon
// Ignore config that references method arguments that do not exist // Ignore config that references method arguments that do not exist
// Arguably we should deny here but that requires a full impact analysis // Arguably we should deny here but that requires a full impact analysis
// These entries effectively abstain // These entries effectively abstain
else if (((cad.getParameters().get(0) != null) && (cad.getParameters().get(0) >= invocation.getArguments().length)) || else if (((cad.getParameters().get(0) != null) && (cad.getParameters().get(0) >= invocation.getArguments().length)) ||
((cad.getParameters().get(1) != null) && (cad.getParameters().get(1) >= invocation.getArguments().length))) ((cad.getParameters().get(1) != null) && (cad.getParameters().get(1) >= invocation.getArguments().length)))
{ {
continue; continue;
@@ -311,13 +264,13 @@ public class RMEntryVoter extends RMSecurityCommon
{ {
AlfrescoTransactionSupport.unbindResource("voting"); AlfrescoTransactionSupport.unbindResource("voting");
} }
// all voted to allow // all voted to allow
return AccessDecisionVoter.ACCESS_GRANTED; return AccessDecisionVoter.ACCESS_GRANTED;
} }
/** /**
* *
* @param invocation * @param invocation
* @param params * @param params
* @param cad * @param cad
@@ -341,7 +294,7 @@ public class RMEntryVoter extends RMSecurityCommon
} }
/** /**
* *
* @param invocation * @param invocation
* @param params * @param params
* @param cad * @param cad
@@ -365,11 +318,11 @@ public class RMEntryVoter extends RMSecurityCommon
* @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
*/ */
public void afterPropertiesSet() throws Exception public void afterPropertiesSet() throws Exception
{ {
} }
/** /**
* *
* @param config * @param config
* @return * @return
*/ */
@@ -390,5 +343,5 @@ public class RMEntryVoter extends RMSecurityCommon
} }
return definitions; return definitions;
} }
} }

View File

@@ -22,67 +22,52 @@ import org.alfresco.module.org_alfresco_module_rm.action.dm.CreateRecordAction;
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel; import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.security.AccessStatus; import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.cmr.security.PermissionService;
/** /**
* Record service implementation unit test. * Record service implementation unit test.
* *
* @author Roy Wetherall * @author Roy Wetherall
*/ */
public class CreateRecordActionTest extends BaseRMTestCase public class CreateRecordActionTest extends BaseRMTestCase
{ {
/** Services */
protected ActionService dmActionService;
protected PermissionService dmPermissionService;
@Override
protected void initServices()
{
super.initServices();
dmActionService = (ActionService)applicationContext.getBean("ActionService");
dmPermissionService = (PermissionService)applicationContext.getBean("PermissionService");
}
@Override @Override
protected boolean isUserTest() protected boolean isUserTest()
{ {
return true; return true;
} }
@Override @Override
protected boolean isCollaborationSiteTest() protected boolean isCollaborationSiteTest()
{ {
return true; return true;
} }
public void testCreateRecordAction() public void testCreateRecordAction()
{ {
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
public Void run() public Void run()
{ {
assertEquals(AccessStatus.DENIED, dmPermissionService.hasPermission(dmDocument, RMPermissionModel.READ_RECORDS)); assertEquals(AccessStatus.DENIED, permissionService.hasPermission(dmDocument, RMPermissionModel.READ_RECORDS));
assertEquals(AccessStatus.DENIED, dmPermissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS)); assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS));
Action action = dmActionService.createAction(CreateRecordAction.NAME); Action action = actionService.createAction(CreateRecordAction.NAME);
action.setParameterValue(CreateRecordAction.PARAM_HIDE_RECORD, false); action.setParameterValue(CreateRecordAction.PARAM_HIDE_RECORD, false);
action.setParameterValue(CreateRecordAction.PARAM_FILE_PLAN, filePlan); action.setParameterValue(CreateRecordAction.PARAM_FILE_PLAN, filePlan);
dmActionService.executeAction(action, dmDocument); actionService.executeAction(action, dmDocument);
return null; return null;
} }
public void test(Void result) throws Exception public void test(Void result) throws Exception
{ {
assertTrue(recordService.isRecord(dmDocument)); assertTrue(recordService.isRecord(dmDocument));
assertEquals(AccessStatus.ALLOWED, dmPermissionService.hasPermission(dmDocument, RMPermissionModel.READ_RECORDS)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(dmDocument, RMPermissionModel.READ_RECORDS));
assertEquals(AccessStatus.ALLOWED, dmPermissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS));
}; };
}, },
dmCollaborator); dmCollaborator);
} }
} }

View File

@@ -29,7 +29,6 @@ import org.alfresco.module.org_alfresco_module_rm.action.impl.FileToAction;
import org.alfresco.module.org_alfresco_module_rm.capability.Capability; import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel; import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.model.FileInfo; import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.AccessStatus; import org.alfresco.service.cmr.security.AccessStatus;
@@ -50,15 +49,6 @@ public class FileToActionTest extends BaseRMTestCase
private static final String PATH_SUB1 = "rmcontainer/${node.cm:title}"; private static final String PATH_SUB1 = "rmcontainer/${node.cm:title}";
protected ActionService dmActionService;
@Override
protected void initServices()
{
super.initServices();
dmActionService = (ActionService) applicationContext.getBean("ActionService");
}
@Override @Override
protected boolean isCollaborationSiteTest() protected boolean isCollaborationSiteTest()
{ {
@@ -92,7 +82,7 @@ public class FileToActionTest extends BaseRMTestCase
params.put(FileToAction.PARAM_DESTINATION_RECORD_FOLDER, rmFolder); params.put(FileToAction.PARAM_DESTINATION_RECORD_FOLDER, rmFolder);
// execute file-to action // execute file-to action
actionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params); rmActionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params);
// check things have gone according to plan // check things have gone according to plan
assertTrue(recordService.isRecord(dmDocument)); assertTrue(recordService.isRecord(dmDocument));
@@ -114,7 +104,7 @@ public class FileToActionTest extends BaseRMTestCase
public Void run() public Void run()
{ {
nodeService.setProperty(dmDocument, ContentModel.PROP_TITLE, "mytestvalue"); nodeService.setProperty(dmDocument, ContentModel.PROP_TITLE, "mytestvalue");
// create record from document // create record from document
recordService.createRecord(filePlan, dmDocument); recordService.createRecord(filePlan, dmDocument);
@@ -144,7 +134,7 @@ public class FileToActionTest extends BaseRMTestCase
params.put(FileToAction.PARAM_PATH, PATH); params.put(FileToAction.PARAM_PATH, PATH);
// execute file-to action // execute file-to action
actionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params); rmActionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params);
// check things have gone according to plan // check things have gone according to plan
assertTrue(recordService.isRecord(dmDocument)); assertTrue(recordService.isRecord(dmDocument));
@@ -172,7 +162,7 @@ public class FileToActionTest extends BaseRMTestCase
params.put(FileToAction.PARAM_PATH, PATH2); params.put(FileToAction.PARAM_PATH, PATH2);
// execute file-to action // execute file-to action
actionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params); rmActionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params);
// check things have gone according to plan // check things have gone according to plan
assertTrue(recordService.isRecord(dmDocument)); assertTrue(recordService.isRecord(dmDocument));
@@ -222,7 +212,7 @@ public class FileToActionTest extends BaseRMTestCase
params.put(FileToAction.PARAM_CREATE_RECORD_FOLDER, true); params.put(FileToAction.PARAM_CREATE_RECORD_FOLDER, true);
// execute file-to action // execute file-to action
actionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params); rmActionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params);
// show the folder has now been created // show the folder has now been created
createdRecordFolder = fileFolderService.resolveNamePath(filePlan, new ArrayList<String>(Arrays.asList(pathValues)), false); createdRecordFolder = fileFolderService.resolveNamePath(filePlan, new ArrayList<String>(Arrays.asList(pathValues)), false);
@@ -277,7 +267,7 @@ public class FileToActionTest extends BaseRMTestCase
params.put(FileToAction.PARAM_PATH, PATH_BAD); params.put(FileToAction.PARAM_PATH, PATH_BAD);
// execute file-to action // execute file-to action
actionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params); rmActionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params);
} }
}); });
@@ -295,7 +285,7 @@ public class FileToActionTest extends BaseRMTestCase
params.put(FileToAction.PARAM_PATH, PATH_CREATE); params.put(FileToAction.PARAM_PATH, PATH_CREATE);
// execute file-to action // execute file-to action
actionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params); rmActionService.executeRecordsManagementAction(dmDocument, FileToAction.NAME, params);
} }
}); });

View File

@@ -25,7 +25,6 @@ import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
/** /**
@@ -36,17 +35,6 @@ import org.alfresco.service.cmr.repository.NodeRef;
*/ */
public class HideRecordActionTest extends BaseRMTestCase public class HideRecordActionTest extends BaseRMTestCase
{ {
/** Services */
protected ActionService dmActionService;
@Override
protected void initServices()
{
super.initServices();
dmActionService = (ActionService) applicationContext.getBean("ActionService");
}
@Override @Override
protected boolean isUserTest() protected boolean isUserTest()
{ {
@@ -82,9 +70,9 @@ public class HideRecordActionTest extends BaseRMTestCase
NodeRef doc = fileFolderService.create(dmFolder, "testfile.txt", ContentModel.TYPE_CONTENT).getNodeRef(); NodeRef doc = fileFolderService.create(dmFolder, "testfile.txt", ContentModel.TYPE_CONTENT).getNodeRef();
// Create a record from that document // Create a record from that document
Action createAction = dmActionService.createAction(CreateRecordAction.NAME); Action createAction = actionService.createAction(CreateRecordAction.NAME);
createAction.setParameterValue(CreateRecordAction.PARAM_FILE_PLAN, filePlan); createAction.setParameterValue(CreateRecordAction.PARAM_FILE_PLAN, filePlan);
dmActionService.executeAction(createAction, doc); actionService.executeAction(createAction, doc);
// Check if the document is a record now // Check if the document is a record now
assertTrue(recordService.isRecord(doc)); assertTrue(recordService.isRecord(doc));
@@ -96,8 +84,8 @@ public class HideRecordActionTest extends BaseRMTestCase
assertTrue(nodeService.getParentAssocs(doc).size() == 2); assertTrue(nodeService.getParentAssocs(doc).size() == 2);
// Hide the document. The user has the write permissions so he should be able to hide it // Hide the document. The user has the write permissions so he should be able to hide it
Action hideAction = dmActionService.createAction(HideRecordAction.NAME); Action hideAction = actionService.createAction(HideRecordAction.NAME);
dmActionService.executeAction(hideAction, doc); actionService.executeAction(hideAction, doc);
// The document should be removed from the collaboration site // The document should be removed from the collaboration site
assertTrue(nodeService.getParentAssocs(doc).size() == 1); assertTrue(nodeService.getParentAssocs(doc).size() == 1);

View File

@@ -20,10 +20,8 @@ package org.alfresco.module.org_alfresco_module_rm.test.action;
import org.alfresco.module.org_alfresco_module_rm.action.dm.CreateRecordAction; import org.alfresco.module.org_alfresco_module_rm.action.dm.CreateRecordAction;
import org.alfresco.module.org_alfresco_module_rm.action.impl.RejectAction; import org.alfresco.module.org_alfresco_module_rm.action.impl.RejectAction;
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedSecurityService;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ActionService;
/** /**
* Reject Action Unit Test * Reject Action Unit Test
@@ -33,22 +31,9 @@ import org.alfresco.service.cmr.action.ActionService;
*/ */
public class RejectActionTest extends BaseRMTestCase public class RejectActionTest extends BaseRMTestCase
{ {
/** Services */
protected ActionService rmActionService;
protected ExtendedSecurityService extendedSecurityService;
/** Reject reason */ /** Reject reason */
private final String REJECT_REASON = "rejectReason:Not valid!£$%^&*()_+"; private final String REJECT_REASON = "rejectReason:Not valid!£$%^&*()_+";
@Override
protected void initServices()
{
super.initServices();
rmActionService = (ActionService) applicationContext.getBean("ActionService");
extendedSecurityService = (ExtendedSecurityService) applicationContext.getBean("ExtendedSecurityService");
}
@Override @Override
protected boolean isUserTest() protected boolean isUserTest()
{ {
@@ -68,9 +53,9 @@ public class RejectActionTest extends BaseRMTestCase
public Void run() public Void run()
{ {
// Create a record from the document // Create a record from the document
Action createAction = rmActionService.createAction(CreateRecordAction.NAME); Action createAction = actionService.createAction(CreateRecordAction.NAME);
createAction.setParameterValue(CreateRecordAction.PARAM_FILE_PLAN, filePlan); createAction.setParameterValue(CreateRecordAction.PARAM_FILE_PLAN, filePlan);
rmActionService.executeAction(createAction, dmDocument); actionService.executeAction(createAction, dmDocument);
// Check if the document is a record now // Check if the document is a record now
assertTrue(recordService.isRecord(dmDocument)); assertTrue(recordService.isRecord(dmDocument));
@@ -91,8 +76,8 @@ public class RejectActionTest extends BaseRMTestCase
public void run() public void run()
{ {
// The test should fail if the reject reason is not supplied // The test should fail if the reject reason is not supplied
Action rejectAction = rmActionService.createAction(RejectAction.NAME); Action rejectAction = actionService.createAction(RejectAction.NAME);
rmActionService.executeAction(rejectAction, dmDocument); actionService.executeAction(rejectAction, dmDocument);
} }
}, },
dmCollaborator); dmCollaborator);
@@ -102,9 +87,9 @@ public class RejectActionTest extends BaseRMTestCase
public Void run() public Void run()
{ {
// Create the reject action and add the reject reason // Create the reject action and add the reject reason
Action rejectAction = rmActionService.createAction(RejectAction.NAME); Action rejectAction = actionService.createAction(RejectAction.NAME);
rejectAction.setParameterValue(RejectAction.PARAM_REASON, REJECT_REASON); rejectAction.setParameterValue(RejectAction.PARAM_REASON, REJECT_REASON);
rmActionService.executeAction(rejectAction, dmDocument); actionService.executeAction(rejectAction, dmDocument);
// The "record" aspect should be removed // The "record" aspect should be removed
assertFalse(nodeService.hasAspect(dmDocument, ASPECT_RECORD)); assertFalse(nodeService.hasAspect(dmDocument, ASPECT_RECORD));

View File

@@ -48,12 +48,6 @@ public class RM1008Test extends BaseRMTestCase
{ {
private String myUser; private String myUser;
@Override
protected void initServices()
{
super.initServices();
}
@Override @Override
protected boolean isRecordTest() protected boolean isRecordTest()
{ {
@@ -260,8 +254,8 @@ public class RM1008Test extends BaseRMTestCase
@Override @Override
public NodeRef run() public NodeRef run()
{ {
actionService.executeRecordsManagementAction(transferFolder, "cutoff"); rmActionService.executeRecordsManagementAction(transferFolder, "cutoff");
actionService.executeRecordsManagementAction(transferFolder, "transfer"); rmActionService.executeRecordsManagementAction(transferFolder, "transfer");
NodeRef transferContainer = filePlanService.getTransferContainer(filePlan); NodeRef transferContainer = filePlanService.getTransferContainer(filePlan);
List<ChildAssociationRef> childAssocs = nodeService.getChildAssocs(transferContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); List<ChildAssociationRef> childAssocs = nodeService.getChildAssocs(transferContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);

View File

@@ -156,10 +156,10 @@ public class RM1039Test extends BaseRMTestCase
// complete event // complete event
Map<String, Serializable> params = new HashMap<String, Serializable>(1); Map<String, Serializable> params = new HashMap<String, Serializable>(1);
params.put(CompleteEventAction.PARAM_EVENT_NAME, CommonRMTestUtils.DEFAULT_EVENT_NAME); params.put(CompleteEventAction.PARAM_EVENT_NAME, CommonRMTestUtils.DEFAULT_EVENT_NAME);
actionService.executeRecordsManagementAction(testFolder, CompleteEventAction.NAME, params); rmActionService.executeRecordsManagementAction(testFolder, CompleteEventAction.NAME, params);
// cutoff folder // cutoff folder
actionService.executeRecordsManagementAction(testFolder, CutOffAction.NAME); rmActionService.executeRecordsManagementAction(testFolder, CutOffAction.NAME);
// take a look at the move capability // take a look at the move capability
Capability moveCapability = capabilityService.getCapability("Move"); Capability moveCapability = capabilityService.getCapability("Move");

View File

@@ -24,8 +24,6 @@ import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.module.org_alfresco_module_rm.test.util.TestActionPropertySubs; import org.alfresco.module.org_alfresco_module_rm.test.util.TestActionPropertySubs;
import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ActionDefinition; import org.alfresco.service.cmr.action.ActionDefinition;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.security.PermissionService;
/** /**
* Extended action service test. * Extended action service test.
@@ -35,10 +33,6 @@ import org.alfresco.service.cmr.security.PermissionService;
*/ */
public class ExtendedActionServiceTest extends BaseRMTestCase public class ExtendedActionServiceTest extends BaseRMTestCase
{ {
/** Services */
protected ActionService dmActionService;
protected PermissionService dmPermissionService;
/** Action names */ /** Action names */
public static final String TEST_ACTION = "testAction"; public static final String TEST_ACTION = "testAction";
public static final String TEST_ACTION_2 = "testAction2"; public static final String TEST_ACTION_2 = "testAction2";
@@ -47,14 +41,6 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
public static final String RECORD_AND_FOLDER_ONLY_ACTION = "recordandFolderOnlyAction"; public static final String RECORD_AND_FOLDER_ONLY_ACTION = "recordandFolderOnlyAction";
public static final String DELEGATE_ACTION = "rmDelegateAction"; public static final String DELEGATE_ACTION = "rmDelegateAction";
@Override
protected void initServices()
{
super.initServices();
dmActionService = (ActionService) applicationContext.getBean("ActionService");
}
@Override @Override
protected boolean isUserTest() protected boolean isUserTest()
{ {
@@ -81,7 +67,7 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
{ {
public Void run() public Void run()
{ {
List<ActionDefinition> result = dmActionService.getActionDefinitions(recordOne); List<ActionDefinition> result = actionService.getActionDefinitions(recordOne);
assertNotNull(result); assertNotNull(result);
assertFalse(containsAction(result, TEST_ACTION)); assertFalse(containsAction(result, TEST_ACTION));
assertTrue(containsAction(result, TEST_ACTION_2)); assertTrue(containsAction(result, TEST_ACTION_2));
@@ -90,7 +76,7 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
assertTrue(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION)); assertTrue(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION));
assertTrue(containsAction(result, DELEGATE_ACTION)); assertTrue(containsAction(result, DELEGATE_ACTION));
result = dmActionService.getActionDefinitions(rmFolder); result = actionService.getActionDefinitions(rmFolder);
assertNotNull(result); assertNotNull(result);
assertFalse(containsAction(result, TEST_ACTION)); assertFalse(containsAction(result, TEST_ACTION));
assertTrue(containsAction(result, TEST_ACTION_2)); assertTrue(containsAction(result, TEST_ACTION_2));
@@ -99,7 +85,7 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
assertTrue(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION)); assertTrue(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION));
assertFalse(containsAction(result, DELEGATE_ACTION)); assertFalse(containsAction(result, DELEGATE_ACTION));
result = dmActionService.getActionDefinitions(rmContainer); result = actionService.getActionDefinitions(rmContainer);
assertNotNull(result); assertNotNull(result);
assertFalse(containsAction(result, TEST_ACTION)); assertFalse(containsAction(result, TEST_ACTION));
assertTrue(containsAction(result, TEST_ACTION_2)); assertTrue(containsAction(result, TEST_ACTION_2));
@@ -108,7 +94,7 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
assertFalse(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION)); assertFalse(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION));
assertFalse(containsAction(result, DELEGATE_ACTION)); assertFalse(containsAction(result, DELEGATE_ACTION));
result = dmActionService.getActionDefinitions(dmDocument); result = actionService.getActionDefinitions(dmDocument);
assertNotNull(result); assertNotNull(result);
assertFalse(containsAction(result, TEST_ACTION)); assertFalse(containsAction(result, TEST_ACTION));
assertFalse(containsAction(result, TEST_ACTION_2)); assertFalse(containsAction(result, TEST_ACTION_2));
@@ -117,7 +103,7 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
assertFalse(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION)); assertFalse(containsAction(result, RECORD_AND_FOLDER_ONLY_ACTION));
assertFalse(containsAction(result, DELEGATE_ACTION)); assertFalse(containsAction(result, DELEGATE_ACTION));
result = dmActionService.getActionDefinitions(dmFolder); result = actionService.getActionDefinitions(dmFolder);
assertNotNull(result); assertNotNull(result);
assertFalse(containsAction(result, TEST_ACTION)); assertFalse(containsAction(result, TEST_ACTION));
assertFalse(containsAction(result, TEST_ACTION_2)); assertFalse(containsAction(result, TEST_ACTION_2));
@@ -153,7 +139,7 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
{ {
public Void run() public Void run()
{ {
Action action = dmActionService.createAction(TestActionPropertySubs.NAME); Action action = actionService.createAction(TestActionPropertySubs.NAME);
action.setParameterValue("dayShort", "${date.day.short}"); action.setParameterValue("dayShort", "${date.day.short}");
action.setParameterValue("dayShort2", "${date.day}"); action.setParameterValue("dayShort2", "${date.day}");
@@ -177,7 +163,7 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
action.setParameterValue("combo", "${date.year.long}/${date.month.short}/${node.cm:name}-${message.test.company}.txt"); action.setParameterValue("combo", "${date.year.long}/${date.month.short}/${node.cm:name}-${message.test.company}.txt");
dmActionService.executeAction(action, rmFolder); actionService.executeAction(action, rmFolder);
return null; return null;
} }

View File

@@ -23,7 +23,6 @@ import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedSecurityService;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
@@ -36,8 +35,6 @@ import org.alfresco.util.GUID;
*/ */
public class ExtendedSecurityServiceImplTest extends BaseRMTestCase public class ExtendedSecurityServiceImplTest extends BaseRMTestCase
{ {
private ExtendedSecurityService extendedSecurityService;
private NodeRef record; private NodeRef record;
private NodeRef recordToo; private NodeRef recordToo;
private NodeRef moveRecordCategory; private NodeRef moveRecordCategory;
@@ -49,14 +46,6 @@ public class ExtendedSecurityServiceImplTest extends BaseRMTestCase
return true; return true;
} }
@Override
protected void initServices()
{
super.initServices();
extendedSecurityService = (ExtendedSecurityService)applicationContext.getBean("ExtendedSecurityService");
}
@Override @Override
protected void setupTestDataImpl() protected void setupTestDataImpl()
{ {

View File

@@ -31,53 +31,30 @@ import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.module.org_alfresco_module_rm.role.Role; import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedReaderDynamicAuthority; import org.alfresco.module.org_alfresco_module_rm.security.ExtendedReaderDynamicAuthority;
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedSecurityService;
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedWriterDynamicAuthority; import org.alfresco.module.org_alfresco_module_rm.security.ExtendedWriterDynamicAuthority;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.repo.content.MimetypeMap; import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.permissions.AccessDeniedException; import org.alfresco.repo.security.permissions.AccessDeniedException;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.repository.ContentWriter; import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.AccessPermission; import org.alfresco.service.cmr.security.AccessPermission;
import org.alfresco.service.cmr.security.AccessStatus; import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.GUID; import org.alfresco.util.GUID;
/** /**
* Records Service Implementation Test * Records Service Implementation Test
* *
* @author Roy Wetherall * @author Roy Wetherall
* @author Tuna Aksoy * @author Tuna Aksoy
* @since 2.1 * @since 2.1
*/ */
public class RecordServiceImplTest extends BaseRMTestCase public class RecordServiceImplTest extends BaseRMTestCase
{ {
/** Services */
protected ActionService dmActionService;
protected PermissionService dmPermissionService;
protected ExtendedSecurityService extendedSecurityService;
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#initServices()
*/
@Override
protected void initServices()
{
super.initServices();
dmActionService = (ActionService) applicationContext.getBean("ActionService");
dmPermissionService = (PermissionService) applicationContext.getBean("PermissionService");
extendedSecurityService = (ExtendedSecurityService) applicationContext.getBean("ExtendedSecurityService");
}
/** /**
* This is a user test * This is a user test
* *
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isUserTest() * @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isUserTest()
*/ */
@Override @Override
@@ -88,7 +65,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
/** /**
* This is a record test * This is a record test
* *
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isRecordTest() * @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isRecordTest()
*/ */
@Override @Override
@@ -126,7 +103,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
/** /**
* Helper method for getting a list of record meta data aspects * Helper method for getting a list of record meta data aspects
* *
* @return Record meta data aspects as list * @return Record meta data aspects as list
*/ */
private List<QName> getAspectList() private List<QName> getAspectList()
@@ -193,85 +170,85 @@ public class RecordServiceImplTest extends BaseRMTestCase
} }
}); });
} }
public void testExtendedWriters() throws Exception public void testExtendedWriters() throws Exception
{ {
final ExtendedReaderDynamicAuthority readerDy = (ExtendedReaderDynamicAuthority)applicationContext.getBean("extendedReaderDynamicAuthority"); final ExtendedReaderDynamicAuthority readerDy = (ExtendedReaderDynamicAuthority)applicationContext.getBean("extendedReaderDynamicAuthority");
final ExtendedWriterDynamicAuthority writerDy = (ExtendedWriterDynamicAuthority)applicationContext.getBean("extendedWriterDynamicAuthority"); final ExtendedWriterDynamicAuthority writerDy = (ExtendedWriterDynamicAuthority)applicationContext.getBean("extendedWriterDynamicAuthority");
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() public Void run()
{ {
assertNull(extendedSecurityService.getExtendedReaders(recordOne)); assertNull(extendedSecurityService.getExtendedReaders(recordOne));
assertNull(extendedSecurityService.getExtendedWriters(recordOne)); assertNull(extendedSecurityService.getExtendedWriters(recordOne));
assertFalse(readerDy.hasAuthority(recordOne, dmCollaborator)); assertFalse(readerDy.hasAuthority(recordOne, dmCollaborator));
assertFalse(writerDy.hasAuthority(recordOne, dmCollaborator)); assertFalse(writerDy.hasAuthority(recordOne, dmCollaborator));
assertFalse(readerDy.hasAuthority(filePlan, dmCollaborator)); assertFalse(readerDy.hasAuthority(filePlan, dmCollaborator));
assertFalse(writerDy.hasAuthority(filePlan, dmCollaborator)); assertFalse(writerDy.hasAuthority(filePlan, dmCollaborator));
return null; return null;
} }
}, dmCollaborator); }, dmCollaborator);
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() public Void run()
{ {
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(recordOne, RMPermissionModel.READ_RECORDS)); assertEquals(AccessStatus.DENIED, permissionService.hasPermission(recordOne, RMPermissionModel.READ_RECORDS));
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(recordOne, RMPermissionModel.FILING)); assertEquals(AccessStatus.DENIED, permissionService.hasPermission(recordOne, RMPermissionModel.FILING));
assertFalse(readerDy.hasAuthority(recordOne, dmCollaborator)); assertFalse(readerDy.hasAuthority(recordOne, dmCollaborator));
assertFalse(writerDy.hasAuthority(recordOne, dmCollaborator)); assertFalse(writerDy.hasAuthority(recordOne, dmCollaborator));
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS)); assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS));
assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan, RMPermissionModel.EDIT_NON_RECORD_METADATA)); assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan, RMPermissionModel.EDIT_NON_RECORD_METADATA));
assertFalse(readerDy.hasAuthority(filePlan, dmCollaborator)); assertFalse(readerDy.hasAuthority(filePlan, dmCollaborator));
assertFalse(writerDy.hasAuthority(filePlan, dmCollaborator)); assertFalse(writerDy.hasAuthority(filePlan, dmCollaborator));
return null; return null;
} }
}, dmCollaborator); }, dmCollaborator);
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() public Void run()
{ {
Set<String> writers = new HashSet<String>(1); Set<String> writers = new HashSet<String>(1);
writers.add(dmCollaborator); writers.add(dmCollaborator);
extendedSecurityService.addExtendedSecurity(recordOne, null, writers); extendedSecurityService.addExtendedSecurity(recordOne, null, writers);
assertNull(extendedSecurityService.getExtendedReaders(recordOne)); assertNull(extendedSecurityService.getExtendedReaders(recordOne));
assertFalse(extendedSecurityService.getExtendedWriters(recordOne).isEmpty()); assertFalse(extendedSecurityService.getExtendedWriters(recordOne).isEmpty());
return null; return null;
} }
}); });
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() public Void run()
{ {
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(recordOne, RMPermissionModel.READ_RECORDS)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(recordOne, RMPermissionModel.READ_RECORDS));
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(recordOne, RMPermissionModel.FILING)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(recordOne, RMPermissionModel.FILING));
assertFalse(readerDy.hasAuthority(recordOne, dmCollaborator)); assertFalse(readerDy.hasAuthority(recordOne, dmCollaborator));
assertTrue(writerDy.hasAuthority(recordOne, dmCollaborator)); assertTrue(writerDy.hasAuthority(recordOne, dmCollaborator));
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan, RMPermissionModel.VIEW_RECORDS));
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan, RMPermissionModel.EDIT_NON_RECORD_METADATA)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan, RMPermissionModel.EDIT_NON_RECORD_METADATA));
return null; return null;
} }
}, dmCollaborator); }, dmCollaborator);
} }
/** /**
@@ -308,7 +285,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
AccessStatus.DENIED, // record folder AccessStatus.DENIED, // record folder
AccessStatus.DENIED); // doc/record AccessStatus.DENIED); // doc/record
assertEquals(AccessStatus.DENIED, dmPermissionService.hasPermission(filePlan, assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan,
RMPermissionModel.VIEW_RECORDS)); RMPermissionModel.VIEW_RECORDS));
checkPermissions(FILING, AccessStatus.DENIED, // file plan checkPermissions(FILING, AccessStatus.DENIED, // file plan
@@ -325,10 +302,10 @@ public class RecordServiceImplTest extends BaseRMTestCase
AccessStatus.DENIED, // record category AccessStatus.DENIED, // record category
AccessStatus.DENIED, // record folder AccessStatus.DENIED, // record folder
AccessStatus.ALLOWED); // doc/record AccessStatus.ALLOWED); // doc/record
permissionReport(); permissionReport();
assertEquals(AccessStatus.ALLOWED, dmPermissionService.hasPermission(filePlan, assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan,
RMPermissionModel.VIEW_RECORDS)); RMPermissionModel.VIEW_RECORDS));
checkPermissions(FILING, AccessStatus.DENIED, // file plan checkPermissions(FILING, AccessStatus.DENIED, // file plan
@@ -353,9 +330,9 @@ public class RecordServiceImplTest extends BaseRMTestCase
// **** // ****
// Capability Tests // Capability Tests
// **** // ****
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan, assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan,
RMPermissionModel.VIEW_RECORDS)); RMPermissionModel.VIEW_RECORDS));
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan, assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(filePlan,
RMPermissionModel.EDIT_NON_RECORD_METADATA)); RMPermissionModel.EDIT_NON_RECORD_METADATA));
@@ -410,7 +387,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
} }
}, dmConsumer); }, dmConsumer);
} }
private void permissionReport() private void permissionReport()
{ {
Set<String> writers = extendedSecurityService.getExtendedWriters(dmDocument); Set<String> writers = extendedSecurityService.getExtendedWriters(dmDocument);
@@ -418,30 +395,28 @@ public class RecordServiceImplTest extends BaseRMTestCase
{ {
System.out.println("writer: " + writer); System.out.println("writer: " + writer);
} }
System.out.println("Users assigned to extended writers role:"); System.out.println("Users assigned to extended writers role:");
Set<String> assignedUsers = filePlanRoleService.getUsersAssignedToRole(filePlan, FilePlanRoleService.ROLE_EXTENDED_WRITERS); Set<String> assignedUsers = filePlanRoleService.getUsersAssignedToRole(filePlan, FilePlanRoleService.ROLE_EXTENDED_WRITERS);
for (String assignedUser : assignedUsers) for (String assignedUser : assignedUsers)
{ {
System.out.println(" ... " + assignedUser); System.out.println(" ... " + assignedUser);
} }
PermissionService ps = (PermissionService)applicationContext.getBean("permissionService"); Set<AccessPermission> perms = permissionService.getAllSetPermissions(filePlan);
Set<AccessPermission> perms = ps.getAllSetPermissions(filePlan);
for (AccessPermission perm : perms) for (AccessPermission perm : perms)
{ {
if (perm.getPermission().contains(RMPermissionModel.EDIT_NON_RECORD_METADATA)) if (perm.getPermission().contains(RMPermissionModel.EDIT_NON_RECORD_METADATA))
{ {
System.out.println(" ... " + perm.getAuthority() + " - " + perm.getPermission() + " - " + perm.getAccessStatus().toString()); System.out.println(" ... " + perm.getAuthority() + " - " + perm.getPermission() + " - " + perm.getAccessStatus().toString());
} }
} }
for (AccessPermission perm : perms) for (AccessPermission perm : perms)
{ {
if (perm.getPermission().contains(RMPermissionModel.VIEW_RECORDS)) if (perm.getPermission().contains(RMPermissionModel.VIEW_RECORDS))
{ {
System.out.println(" ... " + perm.getAuthority() + " - " + perm.getPermission() + " - " + perm.getAccessStatus().toString()); System.out.println(" ... " + perm.getAuthority() + " - " + perm.getPermission() + " - " + perm.getAccessStatus().toString());
} }
} }
} }
@@ -475,7 +450,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
AccessStatus.DENIED, // record folder AccessStatus.DENIED, // record folder
AccessStatus.DENIED); // doc/record AccessStatus.DENIED); // doc/record
assertEquals(AccessStatus.DENIED, dmPermissionService.hasPermission(filePlan, assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan,
RMPermissionModel.VIEW_RECORDS)); RMPermissionModel.VIEW_RECORDS));
checkPermissions(FILING, AccessStatus.DENIED, // file plan checkPermissions(FILING, AccessStatus.DENIED, // file plan
@@ -492,7 +467,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
AccessStatus.DENIED, // record folder AccessStatus.DENIED, // record folder
AccessStatus.DENIED); // doc/record AccessStatus.DENIED); // doc/record
assertEquals(AccessStatus.DENIED, dmPermissionService.hasPermission(filePlan, assertEquals(AccessStatus.DENIED, permissionService.hasPermission(filePlan,
RMPermissionModel.VIEW_RECORDS)); RMPermissionModel.VIEW_RECORDS));
checkPermissions(FILING, AccessStatus.DENIED, // file plan checkPermissions(FILING, AccessStatus.DENIED, // file plan
@@ -614,11 +589,11 @@ public class RecordServiceImplTest extends BaseRMTestCase
private void checkPermissions(String permission, AccessStatus filePlanExpected, AccessStatus unfiledExpected, private void checkPermissions(String permission, AccessStatus filePlanExpected, AccessStatus unfiledExpected,
AccessStatus recordCatExpected, AccessStatus recordFolderExpected, AccessStatus recordExpected) AccessStatus recordCatExpected, AccessStatus recordFolderExpected, AccessStatus recordExpected)
{ {
assertEquals(filePlanExpected, dmPermissionService.hasPermission(filePlan, permission)); assertEquals(filePlanExpected, permissionService.hasPermission(filePlan, permission));
assertEquals(unfiledExpected, dmPermissionService.hasPermission(unfiledContainer, permission)); assertEquals(unfiledExpected, permissionService.hasPermission(unfiledContainer, permission));
assertEquals(recordCatExpected, dmPermissionService.hasPermission(rmContainer, permission)); assertEquals(recordCatExpected, permissionService.hasPermission(rmContainer, permission));
assertEquals(recordFolderExpected, dmPermissionService.hasPermission(rmFolder, permission)); assertEquals(recordFolderExpected, permissionService.hasPermission(rmFolder, permission));
assertEquals(recordExpected, dmPermissionService.hasPermission(dmDocument, permission)); assertEquals(recordExpected, permissionService.hasPermission(dmDocument, permission));
} }
private String createUserWithCapabilties(final String... capabiltyNames) private String createUserWithCapabilties(final String... capabiltyNames)
@@ -680,14 +655,14 @@ public class RecordServiceImplTest extends BaseRMTestCase
} }
}); });
// test normal user // test normal user
doTestInTransaction(new VoidTest() doTestInTransaction(new VoidTest()
{ {
@Override @Override
public void runImpl() throws Exception public void runImpl() throws Exception
{ {
assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(recordOne, RMPermissionModel.READ_RECORDS)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(recordOne, RMPermissionModel.READ_RECORDS));
assertFalse(recordService.isPropertyEditable(recordOne, PROP_ORIGINATING_ORGANIZATION)); assertFalse(recordService.isPropertyEditable(recordOne, PROP_ORIGINATING_ORGANIZATION));
assertFalse(recordService.isPropertyEditable(recordOne, PROP_DESCRIPTION)); assertFalse(recordService.isPropertyEditable(recordOne, PROP_DESCRIPTION));
assertFalse(recordService.isPropertyEditable(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION)); assertFalse(recordService.isPropertyEditable(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION));
@@ -705,7 +680,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
assertFalse(recordService.isPropertyEditable(recordOne, PROP_ORIGINATING_ORGANIZATION)); assertFalse(recordService.isPropertyEditable(recordOne, PROP_ORIGINATING_ORGANIZATION));
assertTrue(recordService.isPropertyEditable(recordOne, PROP_DESCRIPTION)); assertTrue(recordService.isPropertyEditable(recordOne, PROP_DESCRIPTION));
assertFalse(recordService.isPropertyEditable(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION)); assertFalse(recordService.isPropertyEditable(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION));
assertFalse(recordService.isPropertyEditable(recordDeclaredOne, PROP_DESCRIPTION)); assertFalse(recordService.isPropertyEditable(recordDeclaredOne, PROP_DESCRIPTION));
} }
}, nonRecordMetadata); }, nonRecordMetadata);
@@ -737,7 +712,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
} }
}, declaredRecordMetadata); }, declaredRecordMetadata);
} }
public void testRecordPropertiesUpdate() throws Exception public void testRecordPropertiesUpdate() throws Exception
{ {
final String nonRecordMetadata = createUserWithCapabilties( final String nonRecordMetadata = createUserWithCapabilties(
@@ -761,42 +736,42 @@ public class RecordServiceImplTest extends BaseRMTestCase
filePlanPermissionService.setPermission(rmFolder, declaredRecordMetadata, RMPermissionModel.FILING); filePlanPermissionService.setPermission(rmFolder, declaredRecordMetadata, RMPermissionModel.FILING);
} }
}); });
// test rmadmin // test rmadmin
canEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, rmAdminName); canEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, rmAdminName);
canEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, rmAdminName); canEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, rmAdminName);
cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, rmAdminName); cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, rmAdminName);
canEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, rmAdminName); canEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, rmAdminName);
// test normal user // test normal user
cantEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, rmUserName); cantEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, rmUserName);
cantEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, rmUserName); cantEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, rmUserName);
cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, rmUserName); cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, rmUserName);
cantEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, rmUserName); cantEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, rmUserName);
// test undeclared record with edit non-record metadata capability // test undeclared record with edit non-record metadata capability
canEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, nonRecordMetadata); canEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, nonRecordMetadata);
cantEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, nonRecordMetadata); cantEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, nonRecordMetadata);
// test declared record with edit non-record metadata capability // test declared record with edit non-record metadata capability
cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, nonRecordMetadata); cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, nonRecordMetadata);
cantEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, nonRecordMetadata); cantEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, nonRecordMetadata);
// test undeclared record with edit record metadata capability // test undeclared record with edit record metadata capability
cantEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, recordMetadata); cantEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, recordMetadata);
canEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, recordMetadata); canEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, recordMetadata);
// test declared record with edit record metadata capability // test declared record with edit record metadata capability
cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, recordMetadata); cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, recordMetadata);
cantEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, recordMetadata); cantEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, recordMetadata);
// test undeclared record with edit declared record metadata capability // test undeclared record with edit declared record metadata capability
cantEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, declaredRecordMetadata); cantEditProperty(recordOne, ContentModel.PROP_DESCRIPTION, declaredRecordMetadata);
cantEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, declaredRecordMetadata); cantEditProperty(recordOne, PROP_ORIGINATING_ORGANIZATION, declaredRecordMetadata);
// test declared record with edit declared record metadata capability // test declared record with edit declared record metadata capability
cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, declaredRecordMetadata); cantEditProperty(recordDeclaredOne, ContentModel.PROP_DESCRIPTION, declaredRecordMetadata);
canEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, declaredRecordMetadata); canEditProperty(recordDeclaredOne, PROP_ORIGINATING_ORGANIZATION, declaredRecordMetadata);
} }
private void cantEditProperty(final NodeRef nodeRef, final QName property, String user) throws Exception private void cantEditProperty(final NodeRef nodeRef, final QName property, String user) throws Exception
{ {
boolean failure = false; boolean failure = false;
@@ -809,7 +784,7 @@ public class RecordServiceImplTest extends BaseRMTestCase
{ {
nodeService.setProperty(nodeRef, property, GUID.generate()); nodeService.setProperty(nodeRef, property, GUID.generate());
} }
}, user); }, user);
} }
catch (Throwable exception) catch (Throwable exception)
@@ -817,14 +792,14 @@ public class RecordServiceImplTest extends BaseRMTestCase
// expected // expected
failure = true; failure = true;
} }
// assert fail not failure // assert fail not failure
if (failure == false) if (failure == false)
{ {
fail("Property should not have been editable."); fail("Property should not have been editable.");
} }
} }
private void canEditProperty(final NodeRef nodeRef, final QName property, String user) throws Exception private void canEditProperty(final NodeRef nodeRef, final QName property, String user) throws Exception
{ {
doTestInTransaction(new VoidTest() doTestInTransaction(new VoidTest()

View File

@@ -78,9 +78,9 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
@Override @Override
protected void setUp() throws Exception protected void setUp() throws Exception
{ {
createdCustomProperties = new ArrayList<QName>(); createdCustomProperties = new ArrayList<QName>();
madeCustomisable = new ArrayList<QName>(); madeCustomisable = new ArrayList<QName>();
super.setUp(); super.setUp();
} }
/** /**
@@ -89,7 +89,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
@Override @Override
protected void setupTestData() protected void setupTestData()
{ {
super.setupTestData(); super.setupTestData();
} }
/** /**
@@ -98,7 +98,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
@Override @Override
protected void tearDown() throws Exception protected void tearDown() throws Exception
{ {
retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback<Object>() retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback<Object>()
{ {
@Override @Override
public Object execute() throws Throwable public Object execute() throws Throwable
@@ -108,13 +108,13 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
for (QName createdCustomProperty : createdCustomProperties) for (QName createdCustomProperty : createdCustomProperties)
{ {
adminService.removeCustomPropertyDefinition(createdCustomProperty); rmAdminService.removeCustomPropertyDefinition(createdCustomProperty);
} }
for (QName customisable : madeCustomisable) for (QName customisable : madeCustomisable)
{ {
adminService.unmakeCustomisable(customisable); rmAdminService.unmakeCustomisable(customisable);
} }
return null; return null;
} }
@@ -128,24 +128,24 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
*/ */
public void testGetCustomisable() throws Exception public void testGetCustomisable() throws Exception
{ {
// Get the customisable types // Get the customisable types
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() throws Exception public Void run() throws Exception
{ {
Set<QName> list = adminService.getCustomisable(); Set<QName> list = rmAdminService.getCustomisable();
assertNotNull(list); assertNotNull(list);
assertTrue(list.containsAll( assertTrue(list.containsAll(
CollectionUtils.arrayToList(new QName[] CollectionUtils.arrayToList(new QName[]
{ {
ASPECT_RECORD, ASPECT_RECORD,
TYPE_RECORD_FOLDER, TYPE_RECORD_FOLDER,
TYPE_NON_ELECTRONIC_DOCUMENT, TYPE_NON_ELECTRONIC_DOCUMENT,
TYPE_RECORD_CATEGORY TYPE_RECORD_CATEGORY
}))); })));
return null; return null;
} }
}); });
} }
@@ -153,17 +153,17 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
/** /**
* @see RecordsManagementAdminService#isCustomisable(QName) * @see RecordsManagementAdminService#isCustomisable(QName)
*/ */
public void testIsCustomisable() throws Exception public void testIsCustomisable() throws Exception
{ {
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() throws Exception public Void run() throws Exception
{ {
assertFalse(adminService.isCustomisable(TYPE_CONTENT)); assertFalse(rmAdminService.isCustomisable(TYPE_CONTENT));
assertFalse(adminService.isCustomisable(ASPECT_DUBLINCORE)); assertFalse(rmAdminService.isCustomisable(ASPECT_DUBLINCORE));
assertTrue(adminService.isCustomisable(TYPE_RECORD_FOLDER)); assertTrue(rmAdminService.isCustomisable(TYPE_RECORD_FOLDER));
assertTrue(adminService.isCustomisable(ASPECT_RECORD)); assertTrue(rmAdminService.isCustomisable(ASPECT_RECORD));
return null; return null;
} }
@@ -177,192 +177,192 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
*/ */
public void testAddCustomPropertyDefinition() throws Exception public void testAddCustomPropertyDefinition() throws Exception
{ {
// Add property to Record (id specified, short version) // Add property to Record (id specified, short version)
doTestInTransaction(new Test<QName>() doTestInTransaction(new Test<QName>()
{ {
@Override @Override
public QName run() throws Exception public QName run() throws Exception
{ {
// Check the property does not exist // Check the property does not exist
assertFalse(adminService.existsCustomProperty(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1"))); assertFalse(rmAdminService.existsCustomProperty(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1")));
return adminService.addCustomPropertyDefinition( return rmAdminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1"), QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1"),
ASPECT_RECORD, ASPECT_RECORD,
"Label1", "Label1",
DataTypeDefinition.TEXT, DataTypeDefinition.TEXT,
"Title", "Title",
"Description"); "Description");
} }
@Override @Override
public void test(QName result) throws Exception public void test(QName result) throws Exception
{ {
try try
{ {
// Check the property QName is correct // Check the property QName is correct
assertNotNull(result); assertNotNull(result);
assertEquals(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1"), result); assertEquals(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1"), result);
assertTrue(adminService.existsCustomProperty(result)); assertTrue(rmAdminService.existsCustomProperty(result));
// Check that property is available as a custom property // Check that property is available as a custom property
Map<QName, PropertyDefinition> propDefs = adminService.getCustomPropertyDefinitions(ASPECT_RECORD); Map<QName, PropertyDefinition> propDefs = rmAdminService.getCustomPropertyDefinitions(ASPECT_RECORD);
assertNotNull(propDefs); assertNotNull(propDefs);
assertTrue(propDefs.containsKey(result)); assertTrue(propDefs.containsKey(result));
// Check the property definition // Check the property definition
PropertyDefinition propDef = propDefs.get(result); PropertyDefinition propDef = propDefs.get(result);
assertNotNull(propDef); assertNotNull(propDef);
assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName()); assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName());
assertEquals("Description", propDef.getDescription(dictionaryService)); assertEquals("Description", propDef.getDescription(dictionaryService));
assertEquals("Label1", propDef.getTitle(dictionaryService)); assertEquals("Label1", propDef.getTitle(dictionaryService));
} }
finally finally
{ {
// Store the created property for cleanup later // Store the created property for cleanup later
createdCustomProperties.add(result); createdCustomProperties.add(result);
} }
} }
}); });
// Add property to record (no id, short version) // Add property to record (no id, short version)
doTestInTransaction(new Test<QName>() doTestInTransaction(new Test<QName>()
{ {
@Override @Override
public QName run() throws Exception public QName run() throws Exception
{ {
return adminService.addCustomPropertyDefinition( return rmAdminService.addCustomPropertyDefinition(
null, null,
ASPECT_RECORD, ASPECT_RECORD,
"Label2", "Label2",
DataTypeDefinition.TEXT, DataTypeDefinition.TEXT,
"Title", "Title",
"Description"); "Description");
} }
@Override @Override
public void test(QName result) throws Exception public void test(QName result) throws Exception
{ {
try try
{ {
// Check the property QName is correct // Check the property QName is correct
assertNotNull(result); assertNotNull(result);
assertEquals(RecordsManagementCustomModel.RM_CUSTOM_URI, result.getNamespaceURI()); assertEquals(RecordsManagementCustomModel.RM_CUSTOM_URI, result.getNamespaceURI());
assertTrue(adminService.existsCustomProperty(result)); assertTrue(rmAdminService.existsCustomProperty(result));
// Check that property is available as a custom property // Check that property is available as a custom property
Map<QName, PropertyDefinition> propDefs = adminService.getCustomPropertyDefinitions(ASPECT_RECORD); Map<QName, PropertyDefinition> propDefs = rmAdminService.getCustomPropertyDefinitions(ASPECT_RECORD);
assertNotNull(propDefs); assertNotNull(propDefs);
assertTrue(propDefs.containsKey(result)); assertTrue(propDefs.containsKey(result));
// Check the property definition // Check the property definition
PropertyDefinition propDef = propDefs.get(result); PropertyDefinition propDef = propDefs.get(result);
assertNotNull(propDef); assertNotNull(propDef);
assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName()); assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName());
assertEquals("Description", propDef.getDescription(dictionaryService)); assertEquals("Description", propDef.getDescription(dictionaryService));
assertEquals("Label2", propDef.getTitle(dictionaryService)); assertEquals("Label2", propDef.getTitle(dictionaryService));
} }
finally finally
{ {
// Store the created property for cleanup later // Store the created property for cleanup later
createdCustomProperties.add(result); createdCustomProperties.add(result);
} }
} }
}); });
// Add property to record (long version) // Add property to record (long version)
doTestInTransaction(new Test<QName>() doTestInTransaction(new Test<QName>()
{ {
@Override @Override
public QName run() throws Exception public QName run() throws Exception
{ {
return adminService.addCustomPropertyDefinition( return rmAdminService.addCustomPropertyDefinition(
null, null,
ASPECT_RECORD, ASPECT_RECORD,
"Label3", "Label3",
DataTypeDefinition.TEXT, DataTypeDefinition.TEXT,
"Title", "Title",
"Description", "Description",
"default", "default",
false, false,
false, false,
false, false,
null); null);
} }
@Override @Override
public void test(QName result) throws Exception public void test(QName result) throws Exception
{ {
try try
{ {
// Check the property QName is correct // Check the property QName is correct
assertNotNull(result); assertNotNull(result);
assertEquals(RecordsManagementCustomModel.RM_CUSTOM_URI, result.getNamespaceURI()); assertEquals(RecordsManagementCustomModel.RM_CUSTOM_URI, result.getNamespaceURI());
assertTrue(adminService.existsCustomProperty(result)); assertTrue(rmAdminService.existsCustomProperty(result));
// Check that property is available as a custom property // Check that property is available as a custom property
Map<QName, PropertyDefinition> propDefs = adminService.getCustomPropertyDefinitions(ASPECT_RECORD); Map<QName, PropertyDefinition> propDefs = rmAdminService.getCustomPropertyDefinitions(ASPECT_RECORD);
assertNotNull(propDefs); assertNotNull(propDefs);
//assertEquals(3, propDefs.size()); //assertEquals(3, propDefs.size());
assertTrue(propDefs.containsKey(result)); assertTrue(propDefs.containsKey(result));
// Check the property definition // Check the property definition
PropertyDefinition propDef = propDefs.get(result); PropertyDefinition propDef = propDefs.get(result);
assertNotNull(propDef); assertNotNull(propDef);
assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName()); assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName());
assertEquals("Description", propDef.getDescription(dictionaryService)); assertEquals("Description", propDef.getDescription(dictionaryService));
assertEquals("Label3", propDef.getTitle(dictionaryService)); assertEquals("Label3", propDef.getTitle(dictionaryService));
assertEquals("default", propDef.getDefaultValue()); assertEquals("default", propDef.getDefaultValue());
assertFalse(propDef.isMandatory()); assertFalse(propDef.isMandatory());
assertFalse(propDef.isMultiValued()); assertFalse(propDef.isMultiValued());
assertFalse(propDef.isProtected()); assertFalse(propDef.isProtected());
} }
finally finally
{ {
// Store the created property for cleanup later // Store the created property for cleanup later
createdCustomProperties.add(result); createdCustomProperties.add(result);
} }
} }
}); });
// Failure: Add a property with the same name twice // Failure: Add a property with the same name twice
doTestInTransaction(new FailureTest doTestInTransaction(new FailureTest
( (
"Can not create a property with the same id twice", "Can not create a property with the same id twice",
CustomMetadataException.class
)
{
@Override
public void run() throws Exception
{
adminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1"),
ASPECT_RECORD,
"Label1",
DataTypeDefinition.TEXT,
"Title",
"Description");
}
});
// Failure: Try and add a property to a type that isn't customisable
doTestInTransaction(new FailureTest
(
"Can not add a custom property to a type that isn't registered as customisable",
CustomMetadataException.class CustomMetadataException.class
) )
{ {
@Override @Override
public void run() throws Exception public void run() throws Exception
{ {
adminService.addCustomPropertyDefinition( rmAdminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myContentProp"), QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myRecordProp1"),
TYPE_CONTENT, ASPECT_RECORD,
"Label1", "Label1",
DataTypeDefinition.TEXT, DataTypeDefinition.TEXT,
"Title", "Title",
"Description"); "Description");
}
});
// Failure: Try and add a property to a type that isn't customisable
doTestInTransaction(new FailureTest
(
"Can not add a custom property to a type that isn't registered as customisable",
CustomMetadataException.class
)
{
@Override
public void run() throws Exception
{
rmAdminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myContentProp"),
TYPE_CONTENT,
"Label1",
DataTypeDefinition.TEXT,
"Title",
"Description");
} }
}); });
} }
@@ -372,47 +372,47 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
*/ */
public void testMakeCustomisable() throws Exception public void testMakeCustomisable() throws Exception
{ {
doTestInTransaction(new Test<QName>() doTestInTransaction(new Test<QName>()
{ {
@Override @Override
public QName run() throws Exception public QName run() throws Exception
{ {
// Make a type customisable // Make a type customisable
assertFalse(adminService.isCustomisable(TYPE_CUSTOM_TYPE)); assertFalse(rmAdminService.isCustomisable(TYPE_CUSTOM_TYPE));
adminService.makeCustomisable(TYPE_CUSTOM_TYPE); rmAdminService.makeCustomisable(TYPE_CUSTOM_TYPE);
madeCustomisable.add(TYPE_CUSTOM_TYPE); madeCustomisable.add(TYPE_CUSTOM_TYPE);
assertTrue(adminService.isCustomisable(TYPE_CUSTOM_TYPE)); assertTrue(rmAdminService.isCustomisable(TYPE_CUSTOM_TYPE));
// Add a custom property // Add a custom property
return adminService.addCustomPropertyDefinition( return rmAdminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewProperty"), QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewProperty"),
TYPE_CUSTOM_TYPE, TYPE_CUSTOM_TYPE,
"Label", "Label",
DataTypeDefinition.TEXT, DataTypeDefinition.TEXT,
"Title", "Title",
"Description"); "Description");
} }
@Override @Override
public void test(QName result) throws Exception public void test(QName result) throws Exception
{ {
// Check the property QName is correct // Check the property QName is correct
assertNotNull(result); assertNotNull(result);
assertEquals(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewProperty"), result); assertEquals(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewProperty"), result);
assertTrue(adminService.existsCustomProperty(result)); assertTrue(rmAdminService.existsCustomProperty(result));
// Check that property is available as a custom property // Check that property is available as a custom property
Map<QName, PropertyDefinition> propDefs = adminService.getCustomPropertyDefinitions(TYPE_CUSTOM_TYPE); Map<QName, PropertyDefinition> propDefs = rmAdminService.getCustomPropertyDefinitions(TYPE_CUSTOM_TYPE);
assertNotNull(propDefs); assertNotNull(propDefs);
assertEquals(1, propDefs.size()); assertEquals(1, propDefs.size());
assertTrue(propDefs.containsKey(result)); assertTrue(propDefs.containsKey(result));
// Check the property definition // Check the property definition
PropertyDefinition propDef = propDefs.get(result); PropertyDefinition propDef = propDefs.get(result);
assertNotNull(propDef); assertNotNull(propDef);
assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName()); assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName());
assertEquals("Description", propDef.getDescription(dictionaryService)); assertEquals("Description", propDef.getDescription(dictionaryService));
assertEquals("Label", propDef.getTitle(dictionaryService)); assertEquals("Label", propDef.getTitle(dictionaryService));
} }
}); });
@@ -422,42 +422,42 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
@Override @Override
public QName run() throws Exception public QName run() throws Exception
{ {
// Make an aspect customisable // Make an aspect customisable
assertFalse(adminService.isCustomisable(ASPECT_CUSTOM_ASPECT)); assertFalse(rmAdminService.isCustomisable(ASPECT_CUSTOM_ASPECT));
adminService.makeCustomisable(ASPECT_CUSTOM_ASPECT); rmAdminService.makeCustomisable(ASPECT_CUSTOM_ASPECT);
madeCustomisable.add(ASPECT_CUSTOM_ASPECT); madeCustomisable.add(ASPECT_CUSTOM_ASPECT);
assertTrue(adminService.isCustomisable(ASPECT_CUSTOM_ASPECT)); assertTrue(rmAdminService.isCustomisable(ASPECT_CUSTOM_ASPECT));
// Add a custom property // Add a custom property
return adminService.addCustomPropertyDefinition( return rmAdminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewAspectProperty"), QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewAspectProperty"),
ASPECT_CUSTOM_ASPECT, ASPECT_CUSTOM_ASPECT,
"Label", "Label",
DataTypeDefinition.TEXT, DataTypeDefinition.TEXT,
"Title", "Title",
"Description"); "Description");
} }
@Override @Override
public void test(QName result) throws Exception public void test(QName result) throws Exception
{ {
// Check the property QName is correct // Check the property QName is correct
assertNotNull(result); assertNotNull(result);
assertEquals(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewAspectProperty"), result); assertEquals(QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewAspectProperty"), result);
assertTrue(adminService.existsCustomProperty(result)); assertTrue(rmAdminService.existsCustomProperty(result));
// Check that property is available as a custom property // Check that property is available as a custom property
Map<QName, PropertyDefinition> propDefs = adminService.getCustomPropertyDefinitions(ASPECT_CUSTOM_ASPECT); Map<QName, PropertyDefinition> propDefs = rmAdminService.getCustomPropertyDefinitions(ASPECT_CUSTOM_ASPECT);
assertNotNull(propDefs); assertNotNull(propDefs);
assertEquals(1, propDefs.size()); assertEquals(1, propDefs.size());
assertTrue(propDefs.containsKey(result)); assertTrue(propDefs.containsKey(result));
// Check the property definition // Check the property definition
PropertyDefinition propDef = propDefs.get(result); PropertyDefinition propDef = propDefs.get(result);
assertNotNull(propDef); assertNotNull(propDef);
assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName()); assertEquals(DataTypeDefinition.TEXT, propDef.getDataType().getName());
assertEquals("Description", propDef.getDescription(dictionaryService)); assertEquals("Description", propDef.getDescription(dictionaryService));
assertEquals("Label", propDef.getTitle(dictionaryService)); assertEquals("Label", propDef.getTitle(dictionaryService));
} }
}); });
} }
@@ -470,18 +470,18 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
@Override @Override
public QName run() throws Exception public QName run() throws Exception
{ {
adminService.makeCustomisable(TYPE_CUSTOM_TYPE); rmAdminService.makeCustomisable(TYPE_CUSTOM_TYPE);
madeCustomisable.add(TYPE_CUSTOM_TYPE); madeCustomisable.add(TYPE_CUSTOM_TYPE);
adminService.addCustomPropertyDefinition( rmAdminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewProperty"), QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewProperty"),
TYPE_CUSTOM_TYPE, TYPE_CUSTOM_TYPE,
"Label", "Label",
DataTypeDefinition.TEXT, DataTypeDefinition.TEXT,
"Title", "Title",
"Description"); "Description");
adminService.makeCustomisable(ASPECT_CUSTOM_ASPECT); rmAdminService.makeCustomisable(ASPECT_CUSTOM_ASPECT);
madeCustomisable.add(ASPECT_CUSTOM_ASPECT); madeCustomisable.add(ASPECT_CUSTOM_ASPECT);
adminService.addCustomPropertyDefinition( rmAdminService.addCustomPropertyDefinition(
QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewAspectProperty"), QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, "myNewAspectProperty"),
ASPECT_CUSTOM_ASPECT, ASPECT_CUSTOM_ASPECT,
"Label", "Label",
@@ -530,18 +530,18 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
public void testCreateAndUseCustomChildReference() throws Exception public void testCreateAndUseCustomChildReference() throws Exception
{ {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
createAndUseCustomReference(CustomReferenceType.PARENT_CHILD, null, "superseded" + now, "superseding" + now); createAndUseCustomReference(CustomReferenceType.PARENT_CHILD, null, "superseded" + now, "superseding" + now);
} }
public void testCreateAndUseCustomNonChildReference() throws Exception public void testCreateAndUseCustomNonChildReference() throws Exception
{ {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
createAndUseCustomReference(CustomReferenceType.BIDIRECTIONAL, "supporting" + now, null, null); createAndUseCustomReference(CustomReferenceType.BIDIRECTIONAL, "supporting" + now, null, null);
} }
private void createAndUseCustomReference(final CustomReferenceType refType, final String label, final String source, final String target) throws Exception private void createAndUseCustomReference(final CustomReferenceType refType, final String label, final String source, final String target) throws Exception
{ {
final NodeRef testRecord1 = retryingTransactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<NodeRef>() final NodeRef testRecord1 = retryingTransactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<NodeRef>()
{ {
public NodeRef execute() throws Throwable public NodeRef execute() throws Throwable
@@ -577,12 +577,12 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
if (label != null) if (label != null)
{ {
// A bidirectional reference // A bidirectional reference
qNameResult = adminService.addCustomAssocDefinition(label); qNameResult = rmAdminService.addCustomAssocDefinition(label);
} }
else else
{ {
// A parent/child reference // A parent/child reference
qNameResult = adminService.addCustomChildAssocDefinition(source, target); qNameResult = rmAdminService.addCustomChildAssocDefinition(source, target);
} }
System.out.println("Creating new " + refType + " reference definition: " + qNameResult); System.out.println("Creating new " + refType + " reference definition: " + qNameResult);
System.out.println(" params- label: '" + label + "' source: '" + source + "' target: '" + target + "'"); System.out.println(" params- label: '" + label + "' source: '" + source + "' target: '" + target + "'");
@@ -596,7 +596,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
public Void execute() throws Throwable public Void execute() throws Throwable
{ {
// Confirm the custom reference is included in the list from adminService. // Confirm the custom reference is included in the list from adminService.
Map<QName, AssociationDefinition> customRefDefinitions = adminService.getCustomReferenceDefinitions(); Map<QName, AssociationDefinition> customRefDefinitions = rmAdminService.getCustomReferenceDefinitions();
AssociationDefinition retrievedRefDefn = customRefDefinitions.get(generatedQName); AssociationDefinition retrievedRefDefn = customRefDefinitions.get(generatedQName);
assertNotNull("Custom reference definition from adminService was null.", retrievedRefDefn); assertNotNull("Custom reference definition from adminService was null.", retrievedRefDefn);
assertEquals(generatedQName, retrievedRefDefn.getName()); assertEquals(generatedQName, retrievedRefDefn.getName());
@@ -674,7 +674,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
// Just dump them out for visual inspection // Just dump them out for visual inspection
System.out.println("Available custom properties:"); System.out.println("Available custom properties:");
Map<QName, PropertyDefinition> props = adminService.getCustomPropertyDefinitions(); Map<QName, PropertyDefinition> props = rmAdminService.getCustomPropertyDefinitions();
for (QName prop : props.keySet()) for (QName prop : props.keySet())
{ {
System.out.println(" - " + prop.toString()); System.out.println(" - " + prop.toString());
@@ -697,7 +697,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
// Just dump them out for visual inspection // Just dump them out for visual inspection
System.out.println("Available custom references:"); System.out.println("Available custom references:");
Map<QName, AssociationDefinition> references = adminService.getCustomReferenceDefinitions(); Map<QName, AssociationDefinition> references = rmAdminService.getCustomReferenceDefinitions();
for (QName reference : references.keySet()) for (QName reference : references.keySet())
{ {
System.out.println(" - " + reference.toString()); System.out.println(" - " + reference.toString());
@@ -716,7 +716,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
// Just dump them out for visual inspection // Just dump them out for visual inspection
System.out.println("Available custom constraints:"); System.out.println("Available custom constraints:");
List<ConstraintDefinition> constraints = adminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL); List<ConstraintDefinition> constraints = rmAdminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL);
for (ConstraintDefinition constraint : constraints) for (ConstraintDefinition constraint : constraints)
{ {
System.out.println(" - " + constraint.getName()); System.out.println(" - " + constraint.getName());
@@ -755,8 +755,8 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
public Void execute() throws Throwable public Void execute() throws Throwable
{ {
utils.declareRecord(testRecord1); utils.declareRecord(testRecord1);
utils.declareRecord(testRecord2); utils.declareRecord(testRecord2);
policyComponent.bindClassBehaviour( policyComponent.bindClassBehaviour(
RecordsManagementPolicies.BEFORE_CREATE_REFERENCE, RecordsManagementPolicies.BEFORE_CREATE_REFERENCE,
@@ -770,7 +770,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
assertFalse(beforeMarker); assertFalse(beforeMarker);
assertFalse(onMarker); assertFalse(onMarker);
adminService.addCustomReference(testRecord1, testRecord2, CUSTOM_REF_VERSIONS); rmAdminService.addCustomReference(testRecord1, testRecord2, CUSTOM_REF_VERSIONS);
assertTrue(beforeMarker); assertTrue(beforeMarker);
assertTrue(onMarker); assertTrue(onMarker);
@@ -782,7 +782,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
inTest = false; inTest = false;
} }
} }
public void beforeCreateReference(NodeRef fromNodeRef, NodeRef toNodeRef, QName reference) public void beforeCreateReference(NodeRef fromNodeRef, NodeRef toNodeRef, QName reference)
{ {
@@ -801,7 +801,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
public Integer execute() throws Throwable public Integer execute() throws Throwable
{ {
List<ConstraintDefinition> result = adminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL); List<ConstraintDefinition> result = rmAdminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL);
assertNotNull(result); assertNotNull(result);
return result.size(); return result.size();
} }
@@ -821,7 +821,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
final QName result = QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, conLocalName); final QName result = QName.createQName(RecordsManagementCustomModel.RM_CUSTOM_URI, conLocalName);
adminService.addCustomConstraintDefinition(result, conTitle, true, allowedValues, MatchLogic.AND); rmAdminService.addCustomConstraintDefinition(result, conTitle, true, allowedValues, MatchLogic.AND);
return result; return result;
} }
}); });
@@ -834,7 +834,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
public Void execute() throws Throwable public Void execute() throws Throwable
{ {
List<ConstraintDefinition> customConstraintDefs = adminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL); List<ConstraintDefinition> customConstraintDefs = rmAdminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL);
assertEquals(beforeCnt+1, customConstraintDefs.size()); assertEquals(beforeCnt+1, customConstraintDefs.size());
boolean found = false; boolean found = false;
@@ -871,7 +871,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
allowedValues.add("RED"); allowedValues.add("RED");
allowedValues.add("YELLOW"); allowedValues.add("YELLOW");
adminService.changeCustomConstraintValues(testCon, allowedValues); rmAdminService.changeCustomConstraintValues(testCon, allowedValues);
return null; return null;
} }
}); });
@@ -883,7 +883,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
{ {
public Void execute() throws Throwable public Void execute() throws Throwable
{ {
List<ConstraintDefinition> customConstraintDefs = adminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL); List<ConstraintDefinition> customConstraintDefs = rmAdminService.getCustomConstraintDefinitions(RecordsManagementCustomModel.RM_CUSTOM_MODEL);
assertEquals(beforeCnt+1, customConstraintDefs.size()); assertEquals(beforeCnt+1, customConstraintDefs.size());
boolean found = false; boolean found = false;
@@ -927,7 +927,7 @@ public class RecordsManagementAdminServiceImplTest extends BaseRMTestCase
boolean mandatory = false; boolean mandatory = false;
boolean isProtected = false; boolean isProtected = false;
QName propName = adminService.addCustomPropertyDefinition(null, ASPECT_RECORD, propLocalName, dataType, propTitle, description, defaultValue, multiValued, mandatory, isProtected, testCon); QName propName = rmAdminService.addCustomPropertyDefinition(null, ASPECT_RECORD, propLocalName, dataType, propTitle, description, defaultValue, multiValued, mandatory, isProtected, testCon);
createdCustomProperties.add(propName); createdCustomProperties.add(propName);
return null; return null;
} }

View File

@@ -50,9 +50,6 @@ import org.alfresco.util.Pair;
public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
implements RMPermissionModel implements RMPermissionModel
{ {
/** Records management audit service */
private RecordsManagementAuditService auditService;
/** Test record */ /** Test record */
private NodeRef record; private NodeRef record;
@@ -76,30 +73,18 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
testStartTime = new Date(); testStartTime = new Date();
// Stop and clear the log // Stop and clear the log
auditService.stopAuditLog(filePlan); rmAuditService.stopAuditLog(filePlan);
auditService.clearAuditLog(filePlan); rmAuditService.clearAuditLog(filePlan);
auditService.startAuditLog(filePlan); rmAuditService.startAuditLog(filePlan);
// check that audit service is started // check that audit service is started
assertTrue(auditService.isAuditLogEnabled(filePlan)); assertTrue(rmAuditService.isAuditLogEnabled(filePlan));
return null; return null;
} }
}); });
} }
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#initServices()
*/
@Override
protected void initServices()
{
super.initServices();
// get the audit service
auditService = (RecordsManagementAuditService)applicationContext.getBean("RecordsManagementAuditService");
}
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isUserTest() * @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isUserTest()
*/ */
@@ -143,7 +128,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
@Override @Override
public Void run() throws Exception public Void run() throws Exception
{ {
List<AuditEvent> events = auditService.getAuditEvents(); List<AuditEvent> events = rmAuditService.getAuditEvents();
System.out.println("Found audit events:"); System.out.println("Found audit events:");
for (AuditEvent event : events) for (AuditEvent event : events)
@@ -271,7 +256,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
public void testAdminMethods() throws InterruptedException public void testAdminMethods() throws InterruptedException
{ {
// Stop the audit // Stop the audit
auditService.stopAuditLog(filePlan); rmAuditService.stopAuditLog(filePlan);
Thread.sleep(5000); Thread.sleep(5000);
@@ -291,7 +276,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
result1.size(), result2.size()); result1.size(), result2.size());
// repeat with a start // repeat with a start
auditService.startAuditLog(filePlan); rmAuditService.startAuditLog(filePlan);
updateTitle(filePlan, rmAdminName); updateTitle(filePlan, rmAdminName);
Thread.sleep(5000); Thread.sleep(5000);
@@ -305,8 +290,8 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
Thread.sleep(5000); Thread.sleep(5000);
// Stop and delete all entries // Stop and delete all entries
auditService.stopAuditLog(filePlan); rmAuditService.stopAuditLog(filePlan);
auditService.clearAuditLog(filePlan); rmAuditService.clearAuditLog(filePlan);
// There should be no entries // There should be no entries
List<RecordsManagementAuditEntry> result4 = getAuditTrail(rmAdminName); List<RecordsManagementAuditEntry> result4 = getAuditTrail(rmAdminName);
@@ -324,9 +309,9 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
public void xtestAuditAuthentication() public void xtestAuditAuthentication()
{ {
auditService.stopAuditLog(filePlan); rmAuditService.stopAuditLog(filePlan);
auditService.clearAuditLog(filePlan); rmAuditService.clearAuditLog(filePlan);
auditService.startAuditLog(filePlan); rmAuditService.startAuditLog(filePlan);
//MutableAuthenticationService authenticationService = serviceRegistry.getAuthenticationService(); //MutableAuthenticationService authenticationService = serviceRegistry.getAuthenticationService();
//PersonService personService = serviceRegistry.getPersonService(); //PersonService personService = serviceRegistry.getPersonService();
@@ -356,7 +341,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
{ {
AuthenticationUtil.popAuthentication(); AuthenticationUtil.popAuthentication();
} }
auditService.stopAuditLog(filePlan); rmAuditService.stopAuditLog(filePlan);
List<RecordsManagementAuditEntry> result1 = getAuditTrail(rmAdminName); List<RecordsManagementAuditEntry> result1 = getAuditTrail(rmAdminName);
// Check that the username is reflected correctly in the results // Check that the username is reflected correctly in the results
assertFalse("No audit results were generated for the failed login.", result1.isEmpty()); assertFalse("No audit results were generated for the failed login.", result1.isEmpty());
@@ -389,8 +374,8 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
personProperties.put(ContentModel.PROP_LASTNAME, "Dickons"); personProperties.put(ContentModel.PROP_LASTNAME, "Dickons");
personService.createPerson(personProperties); personService.createPerson(personProperties);
auditService.clearAuditLog(filePlan); rmAuditService.clearAuditLog(filePlan);
auditService.startAuditLog(filePlan); rmAuditService.startAuditLog(filePlan);
try try
{ {
AuthenticationUtil.pushAuthentication(); AuthenticationUtil.pushAuthentication();
@@ -400,7 +385,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
{ {
AuthenticationUtil.popAuthentication(); AuthenticationUtil.popAuthentication();
} }
auditService.stopAuditLog(filePlan); rmAuditService.stopAuditLog(filePlan);
List<RecordsManagementAuditEntry> result2 = getAuditTrail(rmAdminName); List<RecordsManagementAuditEntry> result2 = getAuditTrail(rmAdminName);
found = false; found = false;
for (RecordsManagementAuditEntry entry : result2) for (RecordsManagementAuditEntry entry : result2)
@@ -435,7 +420,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
@Override @Override
public List<RecordsManagementAuditEntry> run() throws Exception public List<RecordsManagementAuditEntry> run() throws Exception
{ {
return auditService.getAuditTrail(params); return rmAuditService.getAuditTrail(params);
} }
@Override @Override

View File

@@ -21,7 +21,6 @@ package org.alfresco.module.org_alfresco_module_rm.test.service;
import java.util.List; import java.util.List;
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEvent; import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEvent;
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService;
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventType; import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventType;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
@@ -38,7 +37,6 @@ public class RecordsManagementEventServiceImplTest extends BaseRMTestCase implem
{ {
protected static StoreRef SPACES_STORE = new StoreRef(StoreRef.PROTOCOL_WORKSPACE, "SpacesStore"); protected static StoreRef SPACES_STORE = new StoreRef(StoreRef.PROTOCOL_WORKSPACE, "SpacesStore");
private RecordsManagementEventService rmEventService;
private RetryingTransactionHelper transactionHelper; private RetryingTransactionHelper transactionHelper;
@Override @Override
@@ -47,7 +45,6 @@ public class RecordsManagementEventServiceImplTest extends BaseRMTestCase implem
super.setUp(); super.setUp();
// Get the service required in the tests // Get the service required in the tests
this.rmEventService = (RecordsManagementEventService)this.applicationContext.getBean("RecordsManagementEventService");
this.transactionHelper = (RetryingTransactionHelper)this.applicationContext.getBean("retryingTransactionHelper"); this.transactionHelper = (RetryingTransactionHelper)this.applicationContext.getBean("retryingTransactionHelper");
// Set the current security context as admin // Set the current security context as admin

View File

@@ -30,7 +30,7 @@ import org.alfresco.util.TestWithUserUtils;
/** /**
* Search service implementation unit test. * Search service implementation unit test.
* *
* @author Roy Wetherall * @author Roy Wetherall
*/ */
@SuppressWarnings("unused") @SuppressWarnings("unused")
@@ -41,29 +41,27 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
{ {
return true; return true;
} }
private static final String SEARCH1 = "search1"; private static final String SEARCH1 = "search1";
private static final String SEARCH2 = "search2"; private static final String SEARCH2 = "search2";
private static final String SEARCH3 = "search3"; private static final String SEARCH3 = "search3";
private static final String SEARCH4 = "search4"; private static final String SEARCH4 = "search4";
private static final String USER1 = "user1"; private static final String USER1 = "user1";
private static final String USER2 = "user2"; private static final String USER2 = "user2";
private NodeRef folderLevelRecordFolder; private NodeRef folderLevelRecordFolder;
private NodeRef recordLevelRecordFolder; private NodeRef recordLevelRecordFolder;
private NodeRef recordOne; private NodeRef recordOne;
private NodeRef recordTwo; private NodeRef recordTwo;
private NodeRef recordThree; private NodeRef recordThree;
private NodeRef recordFour; private NodeRef recordFour;
private NodeRef recordFive; private NodeRef recordFive;
private NodeRef recordSix; private NodeRef recordSix;
private MutableAuthenticationService authenticationService;
private int numberOfReports; private int numberOfReports;
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#setupTestData() * @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#setupTestData()
*/ */
@@ -71,28 +69,26 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
protected void setupTestData() protected void setupTestData()
{ {
super.setupTestData(); super.setupTestData();
authenticationService = (MutableAuthenticationService)applicationContext.getBean("AuthenticationService");
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() public Void run()
{ {
// Create test users // Create test users
TestWithUserUtils.createUser(USER1, USER1, rootNodeRef, nodeService, authenticationService); TestWithUserUtils.createUser(USER1, USER1, rootNodeRef, nodeService, authenticationService);
TestWithUserUtils.createUser(USER2, USER2, rootNodeRef, nodeService, authenticationService); TestWithUserUtils.createUser(USER2, USER2, rootNodeRef, nodeService, authenticationService);
// Count the number of pre-defined reports // Count the number of pre-defined reports
List<SavedSearchDetails> searches = rmSearchService.getSavedSearches(siteId); List<SavedSearchDetails> searches = rmSearchService.getSavedSearches(siteId);
assertNotNull(searches); assertNotNull(searches);
numberOfReports = searches.size(); numberOfReports = searches.size();
return null; return null;
} }
}, AuthenticationUtil.getSystemUserName()); }, AuthenticationUtil.getSystemUserName());
} }
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#setupMultiHierarchyTestData() * @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#setupMultiHierarchyTestData()
*/ */
@@ -100,27 +96,27 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
protected void setupMultiHierarchyTestData() protected void setupMultiHierarchyTestData()
{ {
super.setupMultiHierarchyTestData(); super.setupMultiHierarchyTestData();
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() public Void run()
{ {
folderLevelRecordFolder = mhRecordFolder42; folderLevelRecordFolder = mhRecordFolder42;
recordLevelRecordFolder = mhRecordFolder43; recordLevelRecordFolder = mhRecordFolder43;
recordOne = utils.createRecord(folderLevelRecordFolder, "recordOne.txt", null, "record one - folder level - elephant"); recordOne = utils.createRecord(folderLevelRecordFolder, "recordOne.txt", null, "record one - folder level - elephant");
recordTwo = utils.createRecord(folderLevelRecordFolder, "recordTwo.txt", null, "record two - folder level - snake"); recordTwo = utils.createRecord(folderLevelRecordFolder, "recordTwo.txt", null, "record two - folder level - snake");
recordThree = utils.createRecord(folderLevelRecordFolder, "recordThree.txt", null, "record three - folder level - monkey"); recordThree = utils.createRecord(folderLevelRecordFolder, "recordThree.txt", null, "record three - folder level - monkey");
recordFour = utils.createRecord(recordLevelRecordFolder, "recordFour.txt", null, "record four - record level - elephant"); recordFour = utils.createRecord(recordLevelRecordFolder, "recordFour.txt", null, "record four - record level - elephant");
recordFive = utils.createRecord(recordLevelRecordFolder, "recordFive.txt", null, "record five - record level - snake"); recordFive = utils.createRecord(recordLevelRecordFolder, "recordFive.txt", null, "record five - record level - snake");
recordSix = utils.createRecord(recordLevelRecordFolder, "recordSix.txt", null, "record six - record level - monkey"); recordSix = utils.createRecord(recordLevelRecordFolder, "recordSix.txt", null, "record six - record level - monkey");
return null; return null;
} }
}, AuthenticationUtil.getSystemUserName()); }, AuthenticationUtil.getSystemUserName());
} }
@Override @Override
protected void tearDown() throws Exception protected void tearDown() throws Exception
{ {
@@ -132,38 +128,38 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
// Delete test users // Delete test users
TestWithUserUtils.deleteUser(USER1, USER1, rootNodeRef, nodeService, authenticationService); TestWithUserUtils.deleteUser(USER1, USER1, rootNodeRef, nodeService, authenticationService);
TestWithUserUtils.deleteUser(USER2, USER2, rootNodeRef, nodeService, authenticationService); TestWithUserUtils.deleteUser(USER2, USER2, rootNodeRef, nodeService, authenticationService);
return null; return null;
} }
}, AuthenticationUtil.getSystemUserName()); }, AuthenticationUtil.getSystemUserName());
super.tearDown(); super.tearDown();
} }
public void testSearch() public void testSearch()
{ {
// Full text search // Full text search
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() public Void run()
{ {
String query = "keywords:\"elephant\""; String query = "keywords:\"elephant\"";
RecordsManagementSearchParameters params = new RecordsManagementSearchParameters(); RecordsManagementSearchParameters params = new RecordsManagementSearchParameters();
params.setIncludeUndeclaredRecords(true); params.setIncludeUndeclaredRecords(true);
List<NodeRef> results = rmSearchService.search(siteId, query, params); List<NodeRef> results = rmSearchService.search(siteId, query, params);
assertNotNull(results); assertNotNull(results);
assertEquals(2, results.size()); assertEquals(2, results.size());
return null; return null;
} }
}, AuthenticationUtil.getSystemUserName()); }, AuthenticationUtil.getSystemUserName());
// Property search // Property search
// //
} }
public void testSaveSearch() public void testSaveSearch()
{ {
// Add some saved searches (as admin user) // Add some saved searches (as admin user)
@@ -176,12 +172,12 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
checkSearchDetails(details1, siteId, "search1", "description1", "query1", new RecordsManagementSearchParameters(), true); checkSearchDetails(details1, siteId, "search1", "description1", "query1", new RecordsManagementSearchParameters(), true);
SavedSearchDetails details2 = rmSearchService.saveSearch(siteId, SEARCH2, "description2", "query2", new RecordsManagementSearchParameters(), false); SavedSearchDetails details2 = rmSearchService.saveSearch(siteId, SEARCH2, "description2", "query2", new RecordsManagementSearchParameters(), false);
checkSearchDetails(details2, siteId, "search2", "description2", "query2", new RecordsManagementSearchParameters(), false); checkSearchDetails(details2, siteId, "search2", "description2", "query2", new RecordsManagementSearchParameters(), false);
return null; return null;
} }
}); });
// Add some saved searches (as user1) // Add some saved searches (as user1)
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@@ -192,12 +188,12 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
checkSearchDetails(details1, siteId, SEARCH3, "description3", "query3", new RecordsManagementSearchParameters(), false); checkSearchDetails(details1, siteId, SEARCH3, "description3", "query3", new RecordsManagementSearchParameters(), false);
SavedSearchDetails details2 = rmSearchService.saveSearch(siteId, SEARCH4, "description4", "query4", new RecordsManagementSearchParameters(), false); SavedSearchDetails details2 = rmSearchService.saveSearch(siteId, SEARCH4, "description4", "query4", new RecordsManagementSearchParameters(), false);
checkSearchDetails(details2, siteId, SEARCH4, "description4", "query4", new RecordsManagementSearchParameters(), false); checkSearchDetails(details2, siteId, SEARCH4, "description4", "query4", new RecordsManagementSearchParameters(), false);
return null; return null;
} }
}, USER1); }, USER1);
// Get searches (as admin user) // Get searches (as admin user)
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@@ -207,26 +203,26 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
List<SavedSearchDetails> searches = rmSearchService.getSavedSearches(siteId); List<SavedSearchDetails> searches = rmSearchService.getSavedSearches(siteId);
assertNotNull(searches); assertNotNull(searches);
assertEquals(numberOfReports + 2, searches.size()); assertEquals(numberOfReports + 2, searches.size());
SavedSearchDetails search1 = rmSearchService.getSavedSearch(siteId, SEARCH1); SavedSearchDetails search1 = rmSearchService.getSavedSearch(siteId, SEARCH1);
assertNotNull(search1); assertNotNull(search1);
checkSearchDetails(search1, siteId, "search1", "description1", "query1", new RecordsManagementSearchParameters(), true); checkSearchDetails(search1, siteId, "search1", "description1", "query1", new RecordsManagementSearchParameters(), true);
SavedSearchDetails search2 = rmSearchService.getSavedSearch(siteId, SEARCH2); SavedSearchDetails search2 = rmSearchService.getSavedSearch(siteId, SEARCH2);
assertNotNull(search2); assertNotNull(search2);
checkSearchDetails(search2, siteId, "search2", "description2", "query2", new RecordsManagementSearchParameters(), false); checkSearchDetails(search2, siteId, "search2", "description2", "query2", new RecordsManagementSearchParameters(), false);
SavedSearchDetails search3 = rmSearchService.getSavedSearch(siteId, SEARCH3); SavedSearchDetails search3 = rmSearchService.getSavedSearch(siteId, SEARCH3);
assertNull(search3); assertNull(search3);
SavedSearchDetails search4 = rmSearchService.getSavedSearch(siteId, SEARCH4); SavedSearchDetails search4 = rmSearchService.getSavedSearch(siteId, SEARCH4);
assertNull(search4); assertNull(search4);
return null; return null;
} }
}); });
// Get searches (as user1) // Get searches (as user1)
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@@ -236,27 +232,27 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
List<SavedSearchDetails> searches = rmSearchService.getSavedSearches(siteId); List<SavedSearchDetails> searches = rmSearchService.getSavedSearches(siteId);
assertNotNull(searches); assertNotNull(searches);
assertEquals(numberOfReports + 3, searches.size()); assertEquals(numberOfReports + 3, searches.size());
SavedSearchDetails search1 = rmSearchService.getSavedSearch(siteId, SEARCH1); SavedSearchDetails search1 = rmSearchService.getSavedSearch(siteId, SEARCH1);
assertNotNull(search1); assertNotNull(search1);
checkSearchDetails(search1, siteId, "search1", "description1", "query1", new RecordsManagementSearchParameters(), true); checkSearchDetails(search1, siteId, "search1", "description1", "query1", new RecordsManagementSearchParameters(), true);
SavedSearchDetails search2 = rmSearchService.getSavedSearch(siteId, SEARCH2); SavedSearchDetails search2 = rmSearchService.getSavedSearch(siteId, SEARCH2);
assertNull(search2); assertNull(search2);
SavedSearchDetails search3 = rmSearchService.getSavedSearch(siteId, SEARCH3); SavedSearchDetails search3 = rmSearchService.getSavedSearch(siteId, SEARCH3);
assertNotNull(search3); assertNotNull(search3);
checkSearchDetails(search3, siteId, SEARCH3, "description3", "query3", new RecordsManagementSearchParameters(), false); checkSearchDetails(search3, siteId, SEARCH3, "description3", "query3", new RecordsManagementSearchParameters(), false);
SavedSearchDetails search4 = rmSearchService.getSavedSearch(siteId, SEARCH4); SavedSearchDetails search4 = rmSearchService.getSavedSearch(siteId, SEARCH4);
assertNotNull(search4); assertNotNull(search4);
checkSearchDetails(search4, siteId, "search4", "description4", "query4", new RecordsManagementSearchParameters(), false); checkSearchDetails(search4, siteId, "search4", "description4", "query4", new RecordsManagementSearchParameters(), false);
return null; return null;
} }
}, USER1); }, USER1);
// Update search (as admin user) // Update search (as admin user)
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
{ {
@@ -266,31 +262,31 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
SavedSearchDetails search1 = rmSearchService.getSavedSearch(siteId, SEARCH1); SavedSearchDetails search1 = rmSearchService.getSavedSearch(siteId, SEARCH1);
assertNotNull(search1); assertNotNull(search1);
checkSearchDetails(search1, siteId, SEARCH1, "description1", "query1", new RecordsManagementSearchParameters(), true); checkSearchDetails(search1, siteId, SEARCH1, "description1", "query1", new RecordsManagementSearchParameters(), true);
rmSearchService.saveSearch(siteId, SEARCH1, "change", "change", new RecordsManagementSearchParameters(), true); rmSearchService.saveSearch(siteId, SEARCH1, "change", "change", new RecordsManagementSearchParameters(), true);
search1 = rmSearchService.getSavedSearch(siteId, SEARCH1); search1 = rmSearchService.getSavedSearch(siteId, SEARCH1);
assertNotNull(search1); assertNotNull(search1);
checkSearchDetails(search1, siteId, SEARCH1, "change", "change", new RecordsManagementSearchParameters(), true); checkSearchDetails(search1, siteId, SEARCH1, "change", "change", new RecordsManagementSearchParameters(), true);
return null; return null;
} }
}); });
// Delete searches (as admin user) // Delete searches (as admin user)
// TODO // TODO
} }
/** /**
* Check the details of the saved search. * Check the details of the saved search.
*/ */
private void checkSearchDetails( private void checkSearchDetails(
SavedSearchDetails details, SavedSearchDetails details,
String siteid, String siteid,
String name, String name,
String description, String description,
String query, String query,
RecordsManagementSearchParameters searchParameters, RecordsManagementSearchParameters searchParameters,
boolean isPublic) boolean isPublic)
{ {
assertNotNull(details); assertNotNull(details);
@@ -299,7 +295,7 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
assertEquals(description, details.getDescription()); assertEquals(description, details.getDescription());
assertEquals(query, details.getSearch()); assertEquals(query, details.getSearch());
assertEquals(isPublic, details.isPublic()); assertEquals(isPublic, details.isPublic());
assertEquals(searchParameters.getMaxItems(), details.getSearchParameters().getMaxItems()); assertEquals(searchParameters.getMaxItems(), details.getSearchParameters().getMaxItems());
assertEquals(searchParameters.isIncludeRecords(), details.getSearchParameters().isIncludeRecords()); assertEquals(searchParameters.isIncludeRecords(), details.getSearchParameters().isIncludeRecords());
assertEquals(searchParameters.isIncludeUndeclaredRecords(), details.getSearchParameters().isIncludeUndeclaredRecords()); assertEquals(searchParameters.isIncludeUndeclaredRecords(), details.getSearchParameters().isIncludeUndeclaredRecords());
@@ -307,7 +303,7 @@ public class RecordsManagementSearchServiceImplTest extends BaseRMTestCase
assertEquals(searchParameters.isIncludeRecordFolders(), details.getSearchParameters().isIncludeRecordFolders()); assertEquals(searchParameters.isIncludeRecordFolders(), details.getSearchParameters().isIncludeRecordFolders());
assertEquals(searchParameters.isIncludeFrozen(), details.getSearchParameters().isIncludeFrozen()); assertEquals(searchParameters.isIncludeFrozen(), details.getSearchParameters().isIncludeFrozen());
assertEquals(searchParameters.isIncludeCutoff(), details.getSearchParameters().isIncludeCutoff()); assertEquals(searchParameters.isIncludeCutoff(), details.getSearchParameters().isIncludeCutoff());
// Check the other stuff .... // Check the other stuff ....
} }
} }

View File

@@ -23,13 +23,11 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionService;
import org.alfresco.module.org_alfresco_module_rm.action.impl.CompleteEventAction; import org.alfresco.module.org_alfresco_module_rm.action.impl.CompleteEventAction;
import org.alfresco.module.org_alfresco_module_rm.action.impl.CutOffAction; import org.alfresco.module.org_alfresco_module_rm.action.impl.CutOffAction;
import org.alfresco.module.org_alfresco_module_rm.action.impl.DestroyAction; import org.alfresco.module.org_alfresco_module_rm.action.impl.DestroyAction;
import org.alfresco.module.org_alfresco_module_rm.report.Report; import org.alfresco.module.org_alfresco_module_rm.report.Report;
import org.alfresco.module.org_alfresco_module_rm.report.ReportModel; import org.alfresco.module.org_alfresco_module_rm.report.ReportModel;
import org.alfresco.module.org_alfresco_module_rm.report.ReportService;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.module.org_alfresco_module_rm.test.util.CommonRMTestUtils; import org.alfresco.module.org_alfresco_module_rm.test.util.CommonRMTestUtils;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
@@ -37,28 +35,16 @@ import org.alfresco.service.namespace.QName;
/** /**
* Report service implementation unit test. * Report service implementation unit test.
* *
* @author Roy Wetherall * @author Roy Wetherall
*/ */
public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel
{ {
private ReportService reportService;
private RecordsManagementActionService recordsManagementActionService;
@Override @Override
protected boolean isRecordTest() protected boolean isRecordTest()
{ {
return false; return false;
} }
@Override
protected void initServices()
{
super.initServices();
reportService = (ReportService)applicationContext.getBean("ReportService");
recordsManagementActionService = (RecordsManagementActionService)applicationContext.getBean("RecordsManagementActionService");
}
public void testGetReportTypes() throws Exception public void testGetReportTypes() throws Exception
{ {
@@ -68,20 +54,20 @@ public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel
public Void run() throws Exception public Void run() throws Exception
{ {
Set<QName> reportTypes = reportService.getReportTypes(); Set<QName> reportTypes = reportService.getReportTypes();
assertNotNull(reportTypes); assertNotNull(reportTypes);
assertFalse(reportTypes.isEmpty()); assertFalse(reportTypes.isEmpty());
for (QName reportType : reportTypes) for (QName reportType : reportTypes)
{ {
System.out.println(reportType.toString()); System.out.println(reportType.toString());
} }
return null; return null;
} }
}); });
} }
public void testGenerateReport() throws Exception public void testGenerateReport() throws Exception
{ {
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
@@ -90,15 +76,15 @@ public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel
public Void run() throws Exception public Void run() throws Exception
{ {
Report report = reportService.generateReport(TYPE_DESTRUCTION_REPORT, rmFolder); Report report = reportService.generateReport(TYPE_DESTRUCTION_REPORT, rmFolder);
System.out.println(report.getReportName()); System.out.println(report.getReportName());
System.out.println(report.getReportContent().getContentString()); System.out.println(report.getReportContent().getContentString());
return null; return null;
} }
}); });
} }
public void testFileReport() throws Exception public void testFileReport() throws Exception
{ {
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
@@ -108,17 +94,17 @@ public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel
{ {
Report report = reportService.generateReport(TYPE_DESTRUCTION_REPORT, rmFolder); Report report = reportService.generateReport(TYPE_DESTRUCTION_REPORT, rmFolder);
NodeRef reportNodeRef = reportService.fileReport(filePlan, report); NodeRef reportNodeRef = reportService.fileReport(filePlan, report);
assertNotNull(reportNodeRef); assertNotNull(reportNodeRef);
assertTrue(recordService.isRecord(reportNodeRef)); assertTrue(recordService.isRecord(reportNodeRef));
assertFalse(recordService.isFiled(reportNodeRef)); assertFalse(recordService.isFiled(reportNodeRef));
assertEquals(TYPE_DESTRUCTION_REPORT, nodeService.getType(reportNodeRef)); assertEquals(TYPE_DESTRUCTION_REPORT, nodeService.getType(reportNodeRef));
return null; return null;
} }
}); });
} }
public void testFileDestructionReportAction() throws Exception public void testFileDestructionReportAction() throws Exception
{ {
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
@@ -128,12 +114,12 @@ public class ReportServiceImplTest extends BaseRMTestCase implements ReportModel
{ {
Map<String, Serializable> params = new HashMap<String, Serializable>(1); Map<String, Serializable> params = new HashMap<String, Serializable>(1);
params.put(CompleteEventAction.PARAM_EVENT_NAME, CommonRMTestUtils.DEFAULT_EVENT_NAME); params.put(CompleteEventAction.PARAM_EVENT_NAME, CommonRMTestUtils.DEFAULT_EVENT_NAME);
recordsManagementActionService.executeRecordsManagementAction(rmFolder, CompleteEventAction.NAME, params); rmActionService.executeRecordsManagementAction(rmFolder, CompleteEventAction.NAME, params);
recordsManagementActionService.executeRecordsManagementAction(rmFolder, CutOffAction.NAME); rmActionService.executeRecordsManagementAction(rmFolder, CutOffAction.NAME);
recordsManagementActionService.executeRecordsManagementAction(rmFolder, DestroyAction.NAME); rmActionService.executeRecordsManagementAction(rmFolder, DestroyAction.NAME);
recordsManagementActionService.executeRecordsManagementAction(rmFolder, "fileDestructionReport"); rmActionService.executeRecordsManagementAction(rmFolder, "fileDestructionReport");
return null; return null;
} }
}); });
} }
} }

View File

@@ -28,59 +28,50 @@ import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.MutableAuthenticationService;
import org.alfresco.service.cmr.security.PersonService;
import org.alfresco.util.GUID; import org.alfresco.util.GUID;
import org.alfresco.util.PropertyMap; import org.alfresco.util.PropertyMap;
/** /**
* Notification helper (system) test * Notification helper (system) test
* *
* @author Roy Wetherall * @author Roy Wetherall
*/ */
public class NotificationServiceHelperSystemTest extends BaseRMTestCase public class NotificationServiceHelperSystemTest extends BaseRMTestCase
{ {
private static final String NOTIFICATION_ROLE = "RecordsManager"; private static final String NOTIFICATION_ROLE = "RecordsManager";
private static final String EMAIL_ADDRESS = "roy.wetherall@alfreso.com"; private static final String EMAIL_ADDRESS = "roy.wetherall@alfreso.com";
/** Services */ /** Services */
private RecordsManagementNotificationHelper notificationHelper; private RecordsManagementNotificationHelper notificationHelper;
private MutableAuthenticationService authenticationService;
private PersonService personService;
private AuthorityService authorityService;
/** Test data */ /** Test data */
private NodeRef record; private NodeRef record;
private List<NodeRef> records; private List<NodeRef> records;
private String userName; private String userName;
private NodeRef person; private NodeRef person;
@Override @Override
protected void initServices() protected void initServices()
{ {
super.initServices(); super.initServices();
// Get the notification helper // Get the notification helper
notificationHelper = (RecordsManagementNotificationHelper)applicationContext.getBean("recordsManagementNotificationHelper"); notificationHelper = (RecordsManagementNotificationHelper)applicationContext.getBean("recordsManagementNotificationHelper");
authenticationService = (MutableAuthenticationService)applicationContext.getBean("AuthenticationService");
authorityService = (AuthorityService)applicationContext.getBean("AuthorityService");
personService = (PersonService)applicationContext.getBean("PersonService");
} }
@Override @Override
protected void setupTestData() protected void setupTestData()
{ {
super.setupTestData(); super.setupTestData();
retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback<Object>() retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback<Object>()
{ {
@Override @Override
public Object execute() throws Throwable public Object execute() throws Throwable
{ {
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName()); AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName());
// Create a user // Create a user
userName = GUID.generate(); userName = GUID.generate();
authenticationService.createAuthentication(userName, "".toCharArray()); authenticationService.createAuthentication(userName, "".toCharArray());
@@ -90,46 +81,46 @@ public class NotificationServiceHelperSystemTest extends BaseRMTestCase
props.put(PROP_LASTNAME, "User"); props.put(PROP_LASTNAME, "User");
props.put(PROP_EMAIL, EMAIL_ADDRESS); props.put(PROP_EMAIL, EMAIL_ADDRESS);
person = personService.createPerson(props); person = personService.createPerson(props);
// Find the authority for the given role // Find the authority for the given role
Role role = filePlanRoleService.getRole(filePlan, NOTIFICATION_ROLE); Role role = filePlanRoleService.getRole(filePlan, NOTIFICATION_ROLE);
assertNotNull("Notification role could not be retrieved", role); assertNotNull("Notification role could not be retrieved", role);
String roleGroup = role.getRoleGroupName(); String roleGroup = role.getRoleGroupName();
assertNotNull("Notification role group can not be null.", roleGroup); assertNotNull("Notification role group can not be null.", roleGroup);
// Add user to notification role group // Add user to notification role group
authorityService.addAuthority(roleGroup, userName); authorityService.addAuthority(roleGroup, userName);
return null; return null;
} }
}); });
} }
@Override @Override
protected void setupTestDataImpl() protected void setupTestDataImpl()
{ {
super.setupTestDataImpl(); super.setupTestDataImpl();
// Create a few test records // Create a few test records
record = utils.createRecord(rmFolder, "recordOne"); record = utils.createRecord(rmFolder, "recordOne");
NodeRef record2 = utils.createRecord(rmFolder, "recordTwo"); NodeRef record2 = utils.createRecord(rmFolder, "recordTwo");
NodeRef record3 = utils.createRecord(rmFolder, "recordThree"); NodeRef record3 = utils.createRecord(rmFolder, "recordThree");
records = new ArrayList<NodeRef>(3); records = new ArrayList<NodeRef>(3);
records.add(record); records.add(record);
records.add(record2); records.add(record2);
records.add(record3); records.add(record3);
} }
@Override @Override
protected void tearDownImpl() protected void tearDownImpl()
{ {
super.tearDownImpl(); super.tearDownImpl();
// Delete the person and user // Delete the person and user
personService.deletePerson(person); personService.deletePerson(person);
} }
public void testSendDueForReviewNotification() public void testSendDueForReviewNotification()
{ {
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
@@ -141,8 +132,8 @@ public class NotificationServiceHelperSystemTest extends BaseRMTestCase
return null; return null;
} }
}); });
} }
public void testSendSupersededNotification() public void testSendSupersededNotification()
{ {
doTestInTransaction(new Test<Void>() doTestInTransaction(new Test<Void>()
@@ -154,5 +145,5 @@ public class NotificationServiceHelperSystemTest extends BaseRMTestCase
return null; return null;
} }
}); });
} }
} }

View File

@@ -26,6 +26,7 @@ import java.util.Set;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionService; import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionService;
import org.alfresco.module.org_alfresco_module_rm.admin.RecordsManagementAdminService; import org.alfresco.module.org_alfresco_module_rm.admin.RecordsManagementAdminService;
import org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService;
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService; import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel; import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
import org.alfresco.module.org_alfresco_module_rm.dataset.DataSetService; import org.alfresco.module.org_alfresco_module_rm.dataset.DataSetService;
@@ -38,8 +39,10 @@ import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.model.behaviour.RmSiteType; import org.alfresco.module.org_alfresco_module_rm.model.behaviour.RmSiteType;
import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService; import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
import org.alfresco.module.org_alfresco_module_rm.report.ReportService;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.module.org_alfresco_module_rm.search.RecordsManagementSearchService; import org.alfresco.module.org_alfresco_module_rm.search.RecordsManagementSearchService;
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedSecurityService;
import org.alfresco.module.org_alfresco_module_rm.security.FilePlanAuthenticationService; import org.alfresco.module.org_alfresco_module_rm.security.FilePlanAuthenticationService;
import org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService; import org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService;
import org.alfresco.module.org_alfresco_module_rm.vital.VitalRecordService; import org.alfresco.module.org_alfresco_module_rm.vital.VitalRecordService;
@@ -51,6 +54,7 @@ import org.alfresco.repo.site.SiteModel;
import org.alfresco.repo.site.SiteServiceImpl; import org.alfresco.repo.site.SiteServiceImpl;
import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.repository.ContentService; import org.alfresco.service.cmr.repository.ContentService;
@@ -122,12 +126,13 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
protected FileFolderService fileFolderService; protected FileFolderService fileFolderService;
protected PermissionService permissionService; protected PermissionService permissionService;
protected TaggingService taggingService; protected TaggingService taggingService;
protected ActionService actionService;
/** RM Services */ /** RM Services */
protected DispositionService dispositionService; protected DispositionService dispositionService;
protected RecordsManagementEventService eventService; protected RecordsManagementEventService rmEventService;
protected RecordsManagementAdminService adminService; protected RecordsManagementAdminService rmAdminService;
protected RecordsManagementActionService actionService; protected RecordsManagementActionService rmActionService;
protected RecordsManagementSearchService rmSearchService; protected RecordsManagementSearchService rmSearchService;
protected FilePlanRoleService filePlanRoleService; protected FilePlanRoleService filePlanRoleService;
protected FilePlanPermissionService filePlanPermissionService; protected FilePlanPermissionService filePlanPermissionService;
@@ -139,6 +144,9 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
protected FilePlanService filePlanService; protected FilePlanService filePlanService;
protected FilePlanAuthenticationService filePlanAuthenticationService; protected FilePlanAuthenticationService filePlanAuthenticationService;
protected RecordFolderService recordFolderService; protected RecordFolderService recordFolderService;
protected ExtendedSecurityService extendedSecurityService;
protected ReportService reportService;
protected RecordsManagementAuditService rmAuditService;
/** test data */ /** test data */
protected String siteId; protected String siteId;
@@ -356,12 +364,13 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
fileFolderService = (FileFolderService)applicationContext.getBean("FileFolderService"); fileFolderService = (FileFolderService)applicationContext.getBean("FileFolderService");
permissionService = (PermissionService)applicationContext.getBean("PermissionService"); permissionService = (PermissionService)applicationContext.getBean("PermissionService");
taggingService = (TaggingService)applicationContext.getBean("TaggingService"); taggingService = (TaggingService)applicationContext.getBean("TaggingService");
actionService = (ActionService)applicationContext.getBean("ActionService");
// Get RM services // Get RM services
dispositionService = (DispositionService)applicationContext.getBean("DispositionService"); dispositionService = (DispositionService)applicationContext.getBean("DispositionService");
eventService = (RecordsManagementEventService)applicationContext.getBean("RecordsManagementEventService"); rmEventService = (RecordsManagementEventService)applicationContext.getBean("RecordsManagementEventService");
adminService = (RecordsManagementAdminService)applicationContext.getBean("RecordsManagementAdminService"); rmAdminService = (RecordsManagementAdminService)applicationContext.getBean("RecordsManagementAdminService");
actionService = (RecordsManagementActionService)this.applicationContext.getBean("RecordsManagementActionService"); rmActionService = (RecordsManagementActionService)this.applicationContext.getBean("RecordsManagementActionService");
rmSearchService = (RecordsManagementSearchService)this.applicationContext.getBean("RecordsManagementSearchService"); rmSearchService = (RecordsManagementSearchService)this.applicationContext.getBean("RecordsManagementSearchService");
filePlanRoleService = (FilePlanRoleService)this.applicationContext.getBean("FilePlanRoleService"); filePlanRoleService = (FilePlanRoleService)this.applicationContext.getBean("FilePlanRoleService");
filePlanPermissionService = (FilePlanPermissionService)this.applicationContext.getBean("FilePlanPermissionService"); filePlanPermissionService = (FilePlanPermissionService)this.applicationContext.getBean("FilePlanPermissionService");
@@ -373,6 +382,9 @@ public abstract class BaseRMTestCase extends RetryingTransactionHelperTestCase
filePlanService = (FilePlanService) applicationContext.getBean("FilePlanService"); filePlanService = (FilePlanService) applicationContext.getBean("FilePlanService");
filePlanAuthenticationService = (FilePlanAuthenticationService) applicationContext.getBean("FilePlanAuthenticationService"); filePlanAuthenticationService = (FilePlanAuthenticationService) applicationContext.getBean("FilePlanAuthenticationService");
recordFolderService = (RecordFolderService) applicationContext.getBean("RecordFolderService"); recordFolderService = (RecordFolderService) applicationContext.getBean("RecordFolderService");
extendedSecurityService = (ExtendedSecurityService) applicationContext.getBean("ExtendedSecurityService");
reportService = (ReportService) applicationContext.getBean("ReportService");
rmAuditService = (RecordsManagementAuditService) applicationContext.getBean("RecordsManagementAuditService");
} }
/** /**

View File

@@ -27,6 +27,7 @@ import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction
import org.alfresco.module.org_alfresco_module_rm.admin.RecordsManagementAdminService; import org.alfresco.module.org_alfresco_module_rm.admin.RecordsManagementAdminService;
import org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService; import org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService;
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService; import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
import org.alfresco.module.org_alfresco_module_rm.caveat.RMCaveatConfigService;
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionSchedule; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionSchedule;
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService; import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService;
@@ -108,6 +109,7 @@ public class BaseRMWebScriptTestCase extends BaseWebScriptTest
protected VitalRecordService vitalRecordService; protected VitalRecordService vitalRecordService;
protected FilePlanService filePlanService; protected FilePlanService filePlanService;
protected RecordFolderService recordFolderService; protected RecordFolderService recordFolderService;
protected RMCaveatConfigService caveatConfigService;
/** test data */ /** test data */
protected String siteId; protected String siteId;
@@ -181,6 +183,7 @@ public class BaseRMWebScriptTestCase extends BaseWebScriptTest
vitalRecordService = (VitalRecordService)applicationContext.getBean("VitalRecordService"); vitalRecordService = (VitalRecordService)applicationContext.getBean("VitalRecordService");
filePlanService = (FilePlanService)applicationContext.getBean("FilePlanService"); filePlanService = (FilePlanService)applicationContext.getBean("FilePlanService");
recordFolderService = (RecordFolderService)applicationContext.getBean("RecordFolderService"); recordFolderService = (RecordFolderService)applicationContext.getBean("RecordFolderService");
caveatConfigService = (RMCaveatConfigService)applicationContext.getBean("CaveatConfigService");
} }
/** /**

View File

@@ -45,21 +45,11 @@ import org.springframework.extensions.webscripts.TestWebScriptServer.Response;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class RMCaveatConfigScriptTest extends BaseRMWebScriptTestCase public class RMCaveatConfigScriptTest extends BaseRMWebScriptTestCase
{ {
private RMCaveatConfigService caveatConfigService;
protected final static String RM_LIST = "rmc:smListTest"; protected final static String RM_LIST = "rmc:smListTest";
protected final static String RM_LIST_URI_ELEM = "rmc_smListTest"; protected final static String RM_LIST_URI_ELEM = "rmc_smListTest";
private static final String URL_RM_CONSTRAINTS = "/api/rma/admin/rmconstraints"; private static final String URL_RM_CONSTRAINTS = "/api/rma/admin/rmconstraints";
@Override
protected void initServices()
{
super.initServices();
this.caveatConfigService = (RMCaveatConfigService)getServer().getApplicationContext().getBean("CaveatConfigService");
}
public void testGetRMConstraints() throws Exception public void testGetRMConstraints() throws Exception
{ {
{ {

View File

@@ -21,7 +21,6 @@ package org.alfresco.module.org_alfresco_module_rm.test.webscript;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.alfresco.module.org_alfresco_module_rm.caveat.RMCaveatConfigService;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMWebScriptTestCase; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMWebScriptTestCase;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.json.JSONObject; import org.json.JSONObject;
@@ -36,21 +35,11 @@ import org.springframework.extensions.webscripts.TestWebScriptServer.Response;
*/ */
public class RMConstraintScriptTest extends BaseRMWebScriptTestCase public class RMConstraintScriptTest extends BaseRMWebScriptTestCase
{ {
private RMCaveatConfigService caveatConfigService;
protected final static String RM_LIST = "rmc:smListTest"; protected final static String RM_LIST = "rmc:smListTest";
protected final static String RM_LIST_URI_ELEM = "rmc_smListTest"; protected final static String RM_LIST_URI_ELEM = "rmc_smListTest";
private static final String URL_RM_CONSTRAINTS = "/api/rma/rmconstraints"; private static final String URL_RM_CONSTRAINTS = "/api/rma/rmconstraints";
@Override
protected void initServices()
{
super.initServices();
this.caveatConfigService = (RMCaveatConfigService)getServer().getApplicationContext().getBean("CaveatConfigService");
}
/** /**
* *
* @throws Exception * @throws Exception