From a4e0ee16033bb556ba938382369c177af766d312 Mon Sep 17 00:00:00 2001 From: N Smith Date: Fri, 16 Sep 2011 09:34:02 +0000 Subject: [PATCH] Added tests to ensure multi-tenancy works and fixed several multi-tenancy issues in workflow. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30563 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../workflow/AbstractWorkflowRestApiTest.java | 16 +++++++++++----- .../workflow/ActivitiWorkflowRestApiTest.java | 12 +++++++++++- .../workflow/JBPMWorkflowRestApiTest.java | 7 +++++++ 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java b/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java index 277dab613b..d7f7546b6f 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java @@ -36,6 +36,7 @@ import org.alfresco.repo.security.person.TestPersonManager; import org.alfresco.repo.web.scripts.BaseWebScriptTest; import org.alfresco.repo.workflow.WorkflowAdminServiceImpl; import org.alfresco.repo.workflow.WorkflowModel; +import org.alfresco.repo.workflow.WorkflowTestHelper; import org.alfresco.service.cmr.dictionary.TypeDefinition; import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.repository.NodeRef; @@ -103,7 +104,6 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest private TestGroupManager groupManager; protected WorkflowService workflowService; - protected WorkflowAdminServiceImpl workflowAdminService; private NodeService nodeService; private NamespaceService namespaceService; private NodeRef packageRef; @@ -112,6 +112,8 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest private List workflows = new LinkedList(); + private WorkflowTestHelper wfTestHelper; + public void testTaskInstancesGet() throws Exception { // Check USER2 starts with no tasks. @@ -1379,9 +1381,9 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest FileFolderService fileFolderService = (FileFolderService) appContext.getBean("FileFolderService"); nodeService = (NodeService) appContext.getBean("NodeService"); - // for the purposes of the tests make sure JBPM workflow definitions are visible - workflowAdminService = (WorkflowAdminServiceImpl) appContext.getBean("workflowAdminService"); - workflowAdminService.setJBPMWorkflowDefinitionsVisible(true); + // for the purposes of the tests make sure workflow engine is enabled/visible. + WorkflowAdminServiceImpl workflowAdminService = (WorkflowAdminServiceImpl) appContext.getBean("workflowAdminService"); + this.wfTestHelper = new WorkflowTestHelper(workflowAdminService, getEngine(), true); AuthorityService authorityService = (AuthorityService) appContext.getBean("AuthorityService"); personManager = new TestPersonManager(authenticationService, personService, nodeService); @@ -1425,6 +1427,7 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest // Do nothing } } + wfTestHelper.tearDown(); groupManager.clearGroups(); personManager.clearPeople(); authenticationComponent.clearCurrentSecurityContext(); @@ -1630,4 +1633,7 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest assertEquals(maxItems, paging.getInt("maxItems")); assertEquals(skipCount, paging.getInt("skipCount")); } -} + + protected abstract String getEngine(); + +} \ No newline at end of file diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/ActivitiWorkflowRestApiTest.java b/source/java/org/alfresco/repo/web/scripts/workflow/ActivitiWorkflowRestApiTest.java index fd06472f71..060ffb63b9 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/ActivitiWorkflowRestApiTest.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/ActivitiWorkflowRestApiTest.java @@ -21,6 +21,7 @@ package org.alfresco.repo.web.scripts.workflow; import java.io.Serializable; import java.util.HashMap; +import org.alfresco.repo.workflow.activiti.ActivitiConstants; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; @@ -84,4 +85,13 @@ public class ActivitiWorkflowRestApiTest extends AbstractWorkflowRestApiTest workflowService.updateTask(taskId, params, null, null); workflowService.endTask(taskId, null); } -} + + /** + * {@inheritDoc} + */ + @Override + protected String getEngine() + { + return ActivitiConstants.ENGINE_ID; + } +} \ No newline at end of file diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/JBPMWorkflowRestApiTest.java b/source/java/org/alfresco/repo/web/scripts/workflow/JBPMWorkflowRestApiTest.java index 0e8f713990..ab4e1ce0c4 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/JBPMWorkflowRestApiTest.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/JBPMWorkflowRestApiTest.java @@ -18,6 +18,7 @@ */ package org.alfresco.repo.web.scripts.workflow; +import org.alfresco.repo.workflow.jbpm.JBPMEngine; import org.json.JSONArray; import org.json.JSONObject; import org.springframework.extensions.webscripts.Status; @@ -116,4 +117,10 @@ public class JBPMWorkflowRestApiTest extends AbstractWorkflowRestApiTest } assertTrue("Transition 'Approve' not found", found); } + + @Override + protected String getEngine() + { + return JBPMEngine.ENGINE_ID; + } }