mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged 5.1.N (5.1.1) to HEAD (5.2)
122555 aleahu: Merged 5.0.N (5.0.4) to 5.1.N (5.1.1) 122499 amorarasu: Merged V4.2-BUG-FIX (4.2.7) to 5.0.N (5.0.4) 122438 rneamtu: Merged V4.2.6 (4.2.6) to V4.2-BUG-FIX (4.2.7) 122396 amorarasu: MNT-13739: Site consumers are able to lock documents (they did not create) via WebDAV - Fixed failing tests + added a test for moving locked nodes. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@123677 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2015 Alfresco Software Limited.
|
||||
* Copyright (C) 2005-2016 Alfresco Software Limited.
|
||||
*
|
||||
* This file is part of Alfresco
|
||||
*
|
||||
@@ -77,6 +77,8 @@ public class MoveMethodTest
|
||||
private NodeRef rootNode;
|
||||
private @Mock FileFolderService mockFileFolderService;
|
||||
private @Mock WebDAVLockService davLockService;
|
||||
private @Mock ServiceRegistry mockServiceRegistry;
|
||||
private @Mock ContentService mockContentService;
|
||||
private String destPath;
|
||||
private String sourcePath;
|
||||
private FileInfo sourceFileInfo;
|
||||
@@ -200,7 +202,8 @@ public class MoveMethodTest
|
||||
moveMethod.moveOrCopy(sourceNodeRef, sourceParentNodeRef, destParentNodeRef, "dest.doc");
|
||||
|
||||
verify(mockFileFolderService).rename(sourceNodeRef, "dest.doc");
|
||||
verify(davLockService).unlock(sourceNodeRef);
|
||||
// sourceNodeRef is not locked, so unlock should not be called after rename
|
||||
verify(davLockService, never()).unlock(sourceNodeRef);
|
||||
verify(mockFileFolderService, never()).create(destParentNodeRef, "dest.doc", ContentModel.TYPE_CONTENT);
|
||||
}
|
||||
|
||||
@@ -214,12 +217,69 @@ public class MoveMethodTest
|
||||
// Test: Perform the rename
|
||||
moveMethod.moveOrCopy(sourceNodeRef, sourceParentNodeRef, destParentNodeRef, "dest.doc");
|
||||
|
||||
|
||||
verify(mockFileFolderService).rename(sourceNodeRef, "dest.doc");
|
||||
verify(davLockService).unlock(sourceNodeRef);
|
||||
// sourceNodeRef is not locked, so unlock should not be called after rename
|
||||
verify(davLockService, never()).unlock(sourceNodeRef);
|
||||
verify(mockFileFolderService, never()).create(destParentNodeRef, "dest.doc", ContentModel.TYPE_CONTENT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canMoveFileUnlock() throws Exception
|
||||
{
|
||||
moveMethod = new MoveMethod()
|
||||
{
|
||||
@Override
|
||||
protected LockInfo checkNode(FileInfo fileInfo, boolean ignoreShared, boolean lockMethod) throws WebDAVServerException
|
||||
{
|
||||
LockInfoImpl lockInfo = new LockInfoImpl();
|
||||
lockInfo.setExclusiveLockToken("opaque-lock-token");
|
||||
lockInfo.setDepth(WebDAV.INFINITY);
|
||||
lockInfo.setScope(WebDAV.XML_EXCLUSIVE);
|
||||
return lockInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected LockInfo checkNode(FileInfo fileInfo) throws WebDAVServerException
|
||||
{
|
||||
return checkNode(fileInfo, false, false);
|
||||
}
|
||||
};
|
||||
|
||||
moveMethod.setDetails(req, resp, davHelper, rootNode);
|
||||
|
||||
sourceFileInfo = Mockito.mock(FileInfo.class);
|
||||
when(sourceFileInfo.isFolder()).thenReturn(true);
|
||||
|
||||
destPath = "/path/to/test.doc";
|
||||
moveMethod.m_strDestinationPath = destPath;
|
||||
|
||||
sourcePath = "/path/from/test.doc";
|
||||
moveMethod.m_strPath = sourcePath;
|
||||
|
||||
when(davHelper.getServiceRegistry()).thenReturn(mockServiceRegistry);
|
||||
when(mockServiceRegistry.getContentService()).thenReturn(mockContentService);
|
||||
|
||||
List<String> sourcePathSplit = Arrays.asList("path", "from", "test.doc");
|
||||
when(davHelper.splitAllPaths(sourcePath)).thenReturn(sourcePathSplit);
|
||||
|
||||
List<String> destPathSplit = Arrays.asList("path", "to", "dest.doc");
|
||||
when(davHelper.splitAllPaths(destPath)).thenReturn(destPathSplit);
|
||||
|
||||
when(mockFileFolderService.resolveNamePath(rootNode, sourcePathSplit)).thenReturn(sourceFileInfo);
|
||||
|
||||
FileInfo destFileInfo = Mockito.mock(FileInfo.class);
|
||||
when(mockFileFolderService.resolveNamePath(rootNode, destPathSplit)).thenReturn(destFileInfo);
|
||||
|
||||
sourceParentNodeRef = new NodeRef("workspace://SpacesStore/parent1");
|
||||
destParentNodeRef = new NodeRef("workspace://SpacesStore/parent2");
|
||||
sourceNodeRef = new NodeRef("workspace://SpacesStore/sourcefile");
|
||||
|
||||
moveMethod.moveOrCopy(sourceNodeRef, sourceParentNodeRef, destParentNodeRef, "test.doc");
|
||||
|
||||
verify(mockFileFolderService).moveFrom(sourceNodeRef, sourceParentNodeRef, destParentNodeRef, "test.doc");
|
||||
verify(davLockService).unlock(sourceNodeRef);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMNT_13144() throws Exception
|
||||
{
|
||||
@@ -302,7 +362,6 @@ public class MoveMethodTest
|
||||
moveMethod.moveOrCopy(atmpFI.getNodeRef(), companyHomeNodeRef, companyHomeNodeRef, bakFileName);
|
||||
|
||||
verify(mockFileFolderService).rename(atmpFI.getNodeRef(), bakFileName);
|
||||
verify(davLockService).unlock(atmpFI.getNodeRef());
|
||||
verify(mockFileFolderService, never()).create(destParentNodeRef, bakFileName, ContentModel.TYPE_CONTENT);
|
||||
|
||||
// move webdav method tmp copy content to dwg
|
||||
|
Reference in New Issue
Block a user