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
This commit is contained in:
N Smith
2011-09-16 09:34:02 +00:00
parent 76dd365a4b
commit a4e0ee1603
3 changed files with 29 additions and 6 deletions

View File

@@ -36,6 +36,7 @@ import org.alfresco.repo.security.person.TestPersonManager;
import org.alfresco.repo.web.scripts.BaseWebScriptTest; import org.alfresco.repo.web.scripts.BaseWebScriptTest;
import org.alfresco.repo.workflow.WorkflowAdminServiceImpl; import org.alfresco.repo.workflow.WorkflowAdminServiceImpl;
import org.alfresco.repo.workflow.WorkflowModel; import org.alfresco.repo.workflow.WorkflowModel;
import org.alfresco.repo.workflow.WorkflowTestHelper;
import org.alfresco.service.cmr.dictionary.TypeDefinition; import org.alfresco.service.cmr.dictionary.TypeDefinition;
import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
@@ -103,7 +104,6 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest
private TestGroupManager groupManager; private TestGroupManager groupManager;
protected WorkflowService workflowService; protected WorkflowService workflowService;
protected WorkflowAdminServiceImpl workflowAdminService;
private NodeService nodeService; private NodeService nodeService;
private NamespaceService namespaceService; private NamespaceService namespaceService;
private NodeRef packageRef; private NodeRef packageRef;
@@ -112,6 +112,8 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest
private List<String> workflows = new LinkedList<String>(); private List<String> workflows = new LinkedList<String>();
private WorkflowTestHelper wfTestHelper;
public void testTaskInstancesGet() throws Exception public void testTaskInstancesGet() throws Exception
{ {
// Check USER2 starts with no tasks. // Check USER2 starts with no tasks.
@@ -1379,9 +1381,9 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest
FileFolderService fileFolderService = (FileFolderService) appContext.getBean("FileFolderService"); FileFolderService fileFolderService = (FileFolderService) appContext.getBean("FileFolderService");
nodeService = (NodeService) appContext.getBean("NodeService"); nodeService = (NodeService) appContext.getBean("NodeService");
// for the purposes of the tests make sure JBPM workflow definitions are visible // for the purposes of the tests make sure workflow engine is enabled/visible.
workflowAdminService = (WorkflowAdminServiceImpl) appContext.getBean("workflowAdminService"); WorkflowAdminServiceImpl workflowAdminService = (WorkflowAdminServiceImpl) appContext.getBean("workflowAdminService");
workflowAdminService.setJBPMWorkflowDefinitionsVisible(true); this.wfTestHelper = new WorkflowTestHelper(workflowAdminService, getEngine(), true);
AuthorityService authorityService = (AuthorityService) appContext.getBean("AuthorityService"); AuthorityService authorityService = (AuthorityService) appContext.getBean("AuthorityService");
personManager = new TestPersonManager(authenticationService, personService, nodeService); personManager = new TestPersonManager(authenticationService, personService, nodeService);
@@ -1425,6 +1427,7 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest
// Do nothing // Do nothing
} }
} }
wfTestHelper.tearDown();
groupManager.clearGroups(); groupManager.clearGroups();
personManager.clearPeople(); personManager.clearPeople();
authenticationComponent.clearCurrentSecurityContext(); authenticationComponent.clearCurrentSecurityContext();
@@ -1630,4 +1633,7 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest
assertEquals(maxItems, paging.getInt("maxItems")); assertEquals(maxItems, paging.getInt("maxItems"));
assertEquals(skipCount, paging.getInt("skipCount")); assertEquals(skipCount, paging.getInt("skipCount"));
} }
}
protected abstract String getEngine();
}

View File

@@ -21,6 +21,7 @@ package org.alfresco.repo.web.scripts.workflow;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
import org.alfresco.repo.workflow.activiti.ActivitiConstants;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -84,4 +85,13 @@ public class ActivitiWorkflowRestApiTest extends AbstractWorkflowRestApiTest
workflowService.updateTask(taskId, params, null, null); workflowService.updateTask(taskId, params, null, null);
workflowService.endTask(taskId, null); workflowService.endTask(taskId, null);
} }
}
/**
* {@inheritDoc}
*/
@Override
protected String getEngine()
{
return ActivitiConstants.ENGINE_ID;
}
}

View File

@@ -18,6 +18,7 @@
*/ */
package org.alfresco.repo.web.scripts.workflow; package org.alfresco.repo.web.scripts.workflow;
import org.alfresco.repo.workflow.jbpm.JBPMEngine;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.Status;
@@ -116,4 +117,10 @@ public class JBPMWorkflowRestApiTest extends AbstractWorkflowRestApiTest
} }
assertTrue("Transition 'Approve' not found", found); assertTrue("Transition 'Approve' not found", found);
} }
@Override
protected String getEngine()
{
return JBPMEngine.ENGINE_ID;
}
} }