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:
Jan Vonka
2009-10-13 11:34:23 +00:00
parent 69f987c456
commit 2eeefe0a72
33 changed files with 2983 additions and 323 deletions

View File

@@ -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)