mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.4 to HEAD
24070: Merged DEV/BELARUS/V3.4-2010_11_11 to V3.4 24011: ALF-5618: Webdav with MAC OS X problems - Locking / unlocking creates new versions 24101: Disabled test and reopened ALF-5618 24117: Fixed test inter-dependencies on 'excludedOnUpdateProps' for ALF-5618 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@24118 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -30,6 +30,7 @@ import java.util.Set;
|
||||
|
||||
import org.alfresco.model.ApplicationModel;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.model.WebDAVModel;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
@@ -75,6 +76,24 @@ public class VersionServiceImplTest extends BaseVersionStoreTest
|
||||
private static final String PWD_A = "passA";
|
||||
private static final String USER_NAME_A = "userA";
|
||||
|
||||
private VersionableAspect versionableAspect;
|
||||
private List<String> excludedOnUpdateProps;
|
||||
|
||||
@Override
|
||||
protected void onSetUpInTransaction() throws Exception
|
||||
{
|
||||
super.onSetUpInTransaction();
|
||||
versionableAspect = (VersionableAspect) applicationContext.getBean("versionableAspect");
|
||||
excludedOnUpdateProps = versionableAspect.getExcludedOnUpdateProps();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onTearDownAfterTransaction() throws Exception
|
||||
{
|
||||
super.onTearDownAfterTransaction();
|
||||
versionableAspect.setExcludedOnUpdateProps(excludedOnUpdateProps);
|
||||
}
|
||||
|
||||
public void testSetup()
|
||||
{
|
||||
// NOOP
|
||||
@@ -1032,8 +1051,6 @@ public class VersionServiceImplTest extends BaseVersionStoreTest
|
||||
|
||||
});
|
||||
|
||||
VersionableAspect versionableAspect = (VersionableAspect)applicationContext.getBean("versionableAspect");
|
||||
|
||||
List<String> excludedOnUpdateProps = new ArrayList<String>(1);
|
||||
excludedOnUpdateProps.add(ContentModel.PROP_AUTHOR.toPrefixString());
|
||||
versionableAspect.setExcludedOnUpdateProps(excludedOnUpdateProps);
|
||||
@@ -1100,6 +1117,78 @@ public class VersionServiceImplTest extends BaseVersionStoreTest
|
||||
});
|
||||
}
|
||||
|
||||
public void testALF5618()
|
||||
{
|
||||
final NodeRef versionableNode = createNewVersionableNode();
|
||||
this.dbNodeService.setProperty(versionableNode, ContentModel.PROP_AUTO_VERSION_PROPS, true);
|
||||
|
||||
setComplete();
|
||||
endTransaction();
|
||||
|
||||
final String lockToken = "opaquelocktoken:" + versionableNode.getId() + ":admin";
|
||||
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Object>()
|
||||
{
|
||||
public Object execute() throws Exception
|
||||
{
|
||||
VersionHistory versionHistory = versionService.getVersionHistory(versionableNode);
|
||||
assertNotNull(versionHistory);
|
||||
assertEquals(1, versionHistory.getAllVersions().size());
|
||||
|
||||
nodeService.setProperty(versionableNode, WebDAVModel.PROP_OPAQUE_LOCK_TOKEN, lockToken);
|
||||
nodeService.setProperty(versionableNode, WebDAVModel.PROP_SHARED_LOCK_TOKENS, lockToken);
|
||||
nodeService.setProperty(versionableNode, WebDAVModel.PROP_LOCK_DEPTH, "0");
|
||||
nodeService.setProperty(versionableNode, WebDAVModel.PROP_LOCK_SCOPE, "exclusive");
|
||||
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
// Now lets have a look and make sure we have the correct number of entries in the version history
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Object>()
|
||||
{
|
||||
public Object execute() throws Exception
|
||||
{
|
||||
VersionHistory versionHistory = versionService.getVersionHistory(versionableNode);
|
||||
assertNotNull(versionHistory);
|
||||
assertEquals(1, versionHistory.getAllVersions().size());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
});
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Object>()
|
||||
{
|
||||
public Object execute() throws Exception
|
||||
{
|
||||
VersionHistory versionHistory = versionService.getVersionHistory(versionableNode);
|
||||
assertNotNull(versionHistory);
|
||||
assertEquals(1, versionHistory.getAllVersions().size());
|
||||
|
||||
nodeService.removeProperty(versionableNode, WebDAVModel.PROP_OPAQUE_LOCK_TOKEN);
|
||||
nodeService.removeProperty(versionableNode, WebDAVModel.PROP_SHARED_LOCK_TOKENS);
|
||||
nodeService.removeProperty(versionableNode, WebDAVModel.PROP_LOCK_DEPTH);
|
||||
nodeService.removeProperty(versionableNode, WebDAVModel.PROP_LOCK_SCOPE);
|
||||
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
// Now lets have a look and make sure we have the correct number of entries in the version history
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Object>()
|
||||
{
|
||||
public Object execute() throws Exception
|
||||
{
|
||||
VersionHistory versionHistory = versionService.getVersionHistory(versionableNode);
|
||||
assertNotNull(versionHistory);
|
||||
assertEquals(1, versionHistory.getAllVersions().size());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
public void testAR807()
|
||||
{
|
||||
QName prop = QName.createQName("http://www.alfresco.org/test/versionstorebasetest/1.0", "intProp");
|
||||
|
Reference in New Issue
Block a user