mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.2 to HEAD
15596: Merged V3.1 to V3.2 14017: Fix ETHREEOH-1880 - remove (double-)reverse of WCM staging snapshot order 14112: Fix ETHREEOH-1758 - apply contributed patch 14447: Merged V2.2 to V3.1 14276: ETWOTWO-1224 / WCM-948 - browsing staging area during (commit of) large submit can cause AVMNotFoundException: Path /www/avm_webapps not found. 14452: Add WCM services-based unit test for ETWOTWO-1224 / WCM-948 14589: ETHREEOH-1646 - User Sandboxes aren't visible for Content Publisher 15604: Merged V3.1 to V3.2 14734: Merged V2.2 to V3.1 14718: ETWOTWO-1244 - unable to revert some snapshots ("Does not exist: xxx") 14852: Merged V2.2 to V3.1 14720: ETWOTWO-1183 - "Show All Sandboxes" checkbox should only be visible for "Content Publisher" or "Content Manager" 15032: Fix ETHREEOH-2240 - delete WCM web project (does not clean-up workflow sandboxes and also appears in archive store) 15037: Fix ETHREEOH-2240 - follow-on for Alfresco Explorer's Manage (Review) Task Dialog 15056: Fix ETHREEOH-2297 - WCM layered folder - problem deleting file 15072: Minor - fix remote AVM test 15605: Merged V3.1 to V3.2 15082: Merged V2.2 to V3.1 15081: AVM - add tests only 15083: Fix ETHREEOH-2296 - user conflict when updating an AVM layered file 15118: Merged V2.2 to V3.1 15115: Fix ETWOTWO-1265 - WCM locking not working as expected (+ add WCM services test) 15137: Fix ETHREEOH-2309 and ETHREEOH-227 - including refactor (& clean-up) of WCM-related actions 15156: Fix ETHREEOH-2078 & ETHREEOH-2040 - WCM - deploy to localhost causes "Must have at least one store" errors 15175: Fix ETHREEOH-2309 and ETHREEOH-227 - further clean-up of WCM submit/undo actions (for consistency) 15190: Minor: message updates for WCM submit/undo actions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16858 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -28,7 +28,9 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
@@ -41,7 +43,6 @@ import org.alfresco.service.cmr.repository.ContentWriter;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.wcm.AbstractWCMServiceImplTest;
|
||||
import org.alfresco.wcm.sandbox.SandboxInfo;
|
||||
import org.alfresco.wcm.sandbox.SandboxService;
|
||||
import org.alfresco.wcm.util.WCMUtil;
|
||||
import org.alfresco.wcm.webproject.WebProjectInfo;
|
||||
|
||||
@@ -52,12 +53,6 @@ import org.alfresco.wcm.webproject.WebProjectInfo;
|
||||
*/
|
||||
public class AssetServiceImplTest extends AbstractWCMServiceImplTest
|
||||
{
|
||||
//
|
||||
// services
|
||||
//
|
||||
|
||||
private SandboxService sbService;
|
||||
private AssetService assetService;
|
||||
|
||||
// test data
|
||||
private static final String PREFIX = "created-by-admin-";
|
||||
@@ -68,10 +63,6 @@ public class AssetServiceImplTest extends AbstractWCMServiceImplTest
|
||||
protected void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
// Get the required services
|
||||
sbService = (SandboxService)ctx.getBean("SandboxService");
|
||||
assetService = (AssetService)ctx.getBean("AssetService");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1136,6 +1127,67 @@ public class AssetServiceImplTest extends AbstractWCMServiceImplTest
|
||||
assertTrue(assetService.hasLockAccess(myFile1Asset));
|
||||
}
|
||||
|
||||
public void testSimpleLockFile2() throws InterruptedException
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
|
||||
|
||||
// create web project (also creates staging sandbox and admin's author sandbox)
|
||||
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-partialSubmitWithNewFolder", TEST_WEBPROJ_NAME+"-partialSubmitWithNewFolder", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_DONT_USE_AS_TEMPLATE, null);
|
||||
String defaultWebApp = wpInfo.getDefaultWebApp();
|
||||
|
||||
// get admin's sandbox
|
||||
SandboxInfo sbInfo = sbService.getAuthorSandbox(wpInfo.getStoreId());
|
||||
String sbStoreId = sbInfo.getSandboxId();
|
||||
|
||||
String path = sbInfo.getSandboxRootPath() + "/" + defaultWebApp;
|
||||
|
||||
// create folder
|
||||
assetService.createFolderWebApp(sbStoreId, defaultWebApp, "/", "myDir1");
|
||||
AssetInfo myDir1Asset = assetService.getAssetWebApp(sbStoreId, defaultWebApp, "myDir1");
|
||||
checkAssetInfo(myDir1Asset, "myDir1", path+"/myDir1", USER_ADMIN, false, true, false, false, null);
|
||||
|
||||
// note: folders do not get locked
|
||||
assertNull(assetService.getLockOwner(myDir1Asset));
|
||||
assertTrue(assetService.hasLockAccess(myDir1Asset));
|
||||
|
||||
// create two files
|
||||
assetService.createFileWebApp(sbStoreId, defaultWebApp, "/myDir1", "myFile1");
|
||||
assetService.createFileWebApp(sbStoreId, defaultWebApp, "/myDir1", "myFile2");
|
||||
|
||||
AssetInfo myFile1Asset = assetService.getAssetWebApp(sbStoreId, defaultWebApp, "myDir1/myFile1");
|
||||
checkAssetInfo(myFile1Asset, "myFile1", path+"/myDir1/myFile1", USER_ADMIN, true, false, false, true, USER_ADMIN);
|
||||
|
||||
assertEquals(USER_ADMIN, assetService.getLockOwner(myFile1Asset));
|
||||
assertTrue(assetService.hasLockAccess(myFile1Asset));
|
||||
|
||||
AssetInfo myFile2Asset = assetService.getAssetWebApp(sbStoreId, defaultWebApp, "myDir1/myFile2");
|
||||
checkAssetInfo(myFile2Asset, "myFile2", path+"/myDir1/myFile2", USER_ADMIN, true, false, false, true, USER_ADMIN);
|
||||
|
||||
assertEquals(USER_ADMIN, assetService.getLockOwner(myFile2Asset));
|
||||
assertTrue(assetService.hasLockAccess(myFile2Asset));
|
||||
|
||||
List<AssetInfo> changedAssets = sbService.listChangedWebApp(sbStoreId, defaultWebApp, false);
|
||||
assertEquals(1, changedAssets.size());
|
||||
myDir1Asset = changedAssets.get(0);
|
||||
checkAssetInfo(myDir1Asset, "myDir1", path+"/myDir1", USER_ADMIN, false, true, false, false, null);
|
||||
|
||||
List<AssetInfo> selectedAssetsToSubmit = new ArrayList<AssetInfo>(1);
|
||||
selectedAssetsToSubmit.add(myFile1Asset);
|
||||
|
||||
// partial submit with new folder
|
||||
sbService.submitListAssets(sbStoreId, selectedAssetsToSubmit, "submit1 label", "submit1 comment");
|
||||
Thread.sleep(SUBMIT_DELAY);
|
||||
|
||||
changedAssets = sbService.listChangedWebApp(sbStoreId, defaultWebApp, false);
|
||||
assertEquals(1, changedAssets.size());
|
||||
myFile2Asset = changedAssets.get(0);
|
||||
|
||||
// ETWOTWO-1265
|
||||
checkAssetInfo(myFile2Asset, "myFile2", path+"/myDir1/myFile2", USER_ADMIN, true, false, false, true, USER_ADMIN);
|
||||
assertEquals(USER_ADMIN, assetService.getLockOwner(myFile2Asset));
|
||||
assertTrue(assetService.hasLockAccess(myFile2Asset));
|
||||
}
|
||||
|
||||
public void testSimpleImport()
|
||||
{
|
||||
// create web project (also creates staging sandbox and admin's author sandbox)
|
||||
|
Reference in New Issue
Block a user