mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Fix CMISChangeLogServiceTest.
- initialise audit subsystem in separate transaction git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18894 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -31,16 +31,24 @@ import java.util.LinkedList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.transaction.Status;
|
||||||
|
import javax.transaction.UserTransaction;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.alfresco.cmis.CMISCapabilityChanges;
|
import org.alfresco.cmis.CMISCapabilityChanges;
|
||||||
import org.alfresco.cmis.CMISChangeEvent;
|
import org.alfresco.cmis.CMISChangeEvent;
|
||||||
import org.alfresco.cmis.CMISChangeLog;
|
import org.alfresco.cmis.CMISChangeLog;
|
||||||
import org.alfresco.cmis.CMISChangeLogService;
|
import org.alfresco.cmis.CMISChangeLogService;
|
||||||
import org.alfresco.cmis.CMISChangeType;
|
import org.alfresco.cmis.CMISChangeType;
|
||||||
import org.alfresco.cmis.CMISInvalidArgumentException;
|
import org.alfresco.cmis.CMISInvalidArgumentException;
|
||||||
import org.alfresco.cmis.mapping.BaseCMISTest;
|
|
||||||
import org.alfresco.error.AlfrescoRuntimeException;
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.repo.audit.model.AuditModelRegistryImpl;
|
import org.alfresco.repo.audit.model.AuditModelRegistryImpl;
|
||||||
|
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||||
|
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
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;
|
||||||
@@ -49,6 +57,7 @@ import org.alfresco.service.cmr.repository.StoreRef;
|
|||||||
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.cmr.security.PermissionService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.alfresco.util.ApplicationContextHelper;
|
import org.alfresco.util.ApplicationContextHelper;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.extensions.surf.util.Pair;
|
import org.springframework.extensions.surf.util.Pair;
|
||||||
@@ -58,7 +67,7 @@ import org.springframework.extensions.surf.util.Pair;
|
|||||||
*
|
*
|
||||||
* @author Dmitry Velichkevich
|
* @author Dmitry Velichkevich
|
||||||
*/
|
*/
|
||||||
public class CMISChangeLogServiceTest extends BaseCMISTest
|
public class CMISChangeLogServiceTest extends TestCase
|
||||||
{
|
{
|
||||||
private static final String CMIS_AUTHORITY = "cmis";
|
private static final String CMIS_AUTHORITY = "cmis";
|
||||||
private static final String CHANGE_PREFIX = "Changed";
|
private static final String CHANGE_PREFIX = "Changed";
|
||||||
@@ -79,6 +88,13 @@ public class CMISChangeLogServiceTest extends BaseCMISTest
|
|||||||
|
|
||||||
private AuditModelRegistryImpl auditSubsystem;
|
private AuditModelRegistryImpl auditSubsystem;
|
||||||
private CMISChangeLogService changeLogService;
|
private CMISChangeLogService changeLogService;
|
||||||
|
private NodeService nodeService;
|
||||||
|
private FileFolderService fileFolderService;
|
||||||
|
private PermissionService permissionService;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
private AuthenticationComponent authenticationComponent;
|
||||||
|
private RetryingTransactionHelper retryingTransactionHelper;
|
||||||
|
private UserTransaction testTX;
|
||||||
|
|
||||||
private int actualCount = 0;
|
private int actualCount = 0;
|
||||||
private Map<CMISChangeType, Integer> actualAmounts = new HashMap<CMISChangeType, Integer>();
|
private Map<CMISChangeType, Integer> actualAmounts = new HashMap<CMISChangeType, Integer>();
|
||||||
@@ -402,20 +418,47 @@ public class CMISChangeLogServiceTest extends BaseCMISTest
|
|||||||
@Override
|
@Override
|
||||||
public void setUp() throws Exception
|
public void setUp() throws Exception
|
||||||
{
|
{
|
||||||
super.setUp();
|
|
||||||
ApplicationContext applicationContext = ApplicationContextHelper.getApplicationContext();
|
ApplicationContext applicationContext = ApplicationContextHelper.getApplicationContext();
|
||||||
changeLogService = (CMISChangeLogService) applicationContext.getBean("CMISChangeLogService");
|
changeLogService = (CMISChangeLogService) applicationContext.getBean("CMISChangeLogService");
|
||||||
nodeService = (NodeService) applicationContext.getBean("NodeService");
|
nodeService = (NodeService) applicationContext.getBean("NodeService");
|
||||||
permissionService = (PermissionService) applicationContext.getBean("PermissionService");
|
permissionService = (PermissionService) applicationContext.getBean("PermissionService");
|
||||||
fileFolderService = (FileFolderService) applicationContext.getBean("FileFolderService");
|
fileFolderService = (FileFolderService) applicationContext.getBean("FileFolderService");
|
||||||
|
transactionService = (TransactionService) applicationContext.getBean("transactionComponent");
|
||||||
|
authenticationComponent = (AuthenticationComponent) applicationContext.getBean("authenticationComponent");
|
||||||
|
retryingTransactionHelper = (RetryingTransactionHelper) applicationContext.getBean("retryingTransactionHelper");
|
||||||
auditSubsystem = (AuditModelRegistryImpl) applicationContext.getBean("Audit");
|
auditSubsystem = (AuditModelRegistryImpl) applicationContext.getBean("Audit");
|
||||||
|
|
||||||
|
// initialise audit subsystem
|
||||||
|
RetryingTransactionCallback<Void> initAudit = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute() throws Exception
|
||||||
|
{
|
||||||
|
auditSubsystem.stop();
|
||||||
|
auditSubsystem.setProperty("audit.enabled", "true");
|
||||||
|
auditSubsystem.setProperty("audit.cmischangelog.enabled", "true");
|
||||||
|
auditSubsystem.start();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
retryingTransactionHelper.doInTransaction(initAudit, false, true);
|
||||||
|
|
||||||
|
// start test transaction
|
||||||
|
testTX = transactionService.getUserTransaction();
|
||||||
|
testTX.begin();
|
||||||
|
this.authenticationComponent.setSystemUserAsCurrentUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception
|
protected void tearDown() throws Exception
|
||||||
{
|
{
|
||||||
deleteTestData();
|
deleteTestData();
|
||||||
super.tearDown();
|
|
||||||
|
if (testTX.getStatus() == Status.STATUS_ACTIVE)
|
||||||
|
{
|
||||||
|
testTX.rollback();
|
||||||
|
}
|
||||||
|
AuthenticationUtil.clearCurrentSecurityContext();
|
||||||
|
|
||||||
auditSubsystem.destroy();
|
auditSubsystem.destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user