Merged V3.1 to HEAD

13170: WCM services - improve reliability of unit test teardown (possible conflict w/ OrphanReaper)
   ___________________________________________________________________
   Modified: svn:mergeinfo
      Merged /alfresco/BRANCHES/V3.1:r13170


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13605 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2009-03-12 15:40:23 +00:00
parent 8ff478a98b
commit 9450cbb94e
4 changed files with 157 additions and 203 deletions

View File

@@ -24,13 +24,21 @@
*/
package org.alfresco.wcm;
import java.util.List;
import junit.framework.TestCase;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.service.cmr.security.PersonService;
import org.alfresco.service.transaction.TransactionService;
import org.alfresco.util.ApplicationContextHelper;
import org.alfresco.util.PropertyMap;
import org.alfresco.wcm.util.WCMUtil;
import org.alfresco.wcm.webproject.WebProjectInfo;
import org.alfresco.wcm.webproject.WebProjectService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -57,25 +65,90 @@ public class AbstractWCMServiceImplTest extends TestCase
protected static final String TEST_RUN = ""+System.currentTimeMillis();
protected static final boolean CLEAN = true; // cleanup during teardown
// base web project
protected static final String TEST_WEBPROJ_DNS = "testWebProj-"+TEST_RUN;
protected static final String TEST_WEBPROJ_NAME = "testSandbox Web Project Display Name - "+TEST_RUN;
protected static final String TEST_WEBPROJ_TITLE = "This is my title";
protected static final String TEST_WEBPROJ_DESCRIPTION = "This is my description";
protected static final String TEST_WEBPROJ_DEFAULT_WEBAPP = WCMUtil.DIR_ROOT;
protected static final boolean TEST_WEBPROJ_USE_AS_TEMPLATE = true;
protected static final boolean TEST_WEBPROJ_DONT_USE_AS_TEMPLATE = false;
// base web users
protected static final String USER_ADMIN = "admin";
protected static final String TEST_USER = "testWebUser-"+TEST_RUN;
protected static final String USER_ONE = TEST_USER+"-One";
protected static final String USER_TWO = TEST_USER+"-Two";
protected static final String USER_THREE = TEST_USER+"-Three";
protected static final String USER_FOUR = TEST_USER+"-Four";
//
// services
//
protected WebProjectService wpService;
protected AuthenticationService authenticationService;
protected PersonService personService;
private TransactionService transactionService;
@Override
protected void setUp() throws Exception
{
// Get the required services
wpService = (WebProjectService)ctx.getBean("WebProjectService");
authenticationService = (AuthenticationService)ctx.getBean("AuthenticationService");
personService = (PersonService)ctx.getBean("PersonService");
transactionService = (TransactionService)ctx.getBean("TransactionService");
// By default run as Admin
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
createUser(USER_ONE);
createUser(USER_TWO);
createUser(USER_THREE);
createUser(USER_FOUR);
}
@Override
protected void tearDown() throws Exception
{
if (CLEAN)
{
// Switch back to Admin
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
List<WebProjectInfo> webProjects = wpService.listWebProjects();
for (final WebProjectInfo wpInfo : webProjects)
{
if (wpInfo.getStoreId().startsWith(TEST_WEBPROJ_DNS))
{
// note: added retry for now, due to intermittent concurrent update (during tearDown) possibly due to OrphanReaper ?
// org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.alfresco.repo.avm.PlainFileNodeImpl#3752]
RetryingTransactionCallback<Object> deleteWebProjectWork = new RetryingTransactionCallback<Object>()
{
public Object execute() throws Exception
{
wpService.deleteWebProject(wpInfo.getNodeRef());
return null;
}
};
transactionService.getRetryingTransactionHelper().doInTransaction(deleteWebProjectWork);
}
}
deleteUser(USER_ONE);
deleteUser(USER_TWO);
deleteUser(USER_THREE);
deleteUser(USER_FOUR);
}
AuthenticationUtil.clearCurrentSecurityContext();
}
protected void createUser(String userName)

View File

@@ -29,7 +29,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.alfresco.model.ContentModel;
@@ -44,7 +43,6 @@ import org.alfresco.wcm.sandbox.SandboxInfo;
import org.alfresco.wcm.sandbox.SandboxService;
import org.alfresco.wcm.util.WCMUtil;
import org.alfresco.wcm.webproject.WebProjectInfo;
import org.alfresco.wcm.webproject.WebProjectService;
/**
* Asset Service implementation unit test
@@ -53,27 +51,10 @@ import org.alfresco.wcm.webproject.WebProjectService;
*/
public class AssetServiceImplTest extends AbstractWCMServiceImplTest
{
// base web project
private static final String TEST_WEBPROJ_DNS = "testAsset-"+TEST_RUN;
private static final String TEST_WEBPROJ_NAME = "testAsset Web Project Display Name - "+TEST_RUN;
private static final String TEST_WEBPROJ_TITLE = "This is my title";
private static final String TEST_WEBPROJ_DESCRIPTION = "This is my description";
private static final String TEST_WEBPROJ_DEFAULT_WEBAPP = WCMUtil.DIR_ROOT;
private static final boolean TEST_WEBPROJ_DONT_USE_AS_TEMPLATE = false;
private static final String USER_ADMIN = "admin";
private static final String TEST_USER = "testAssetUser-"+TEST_RUN;
private static final String USER_ONE = TEST_USER+"-One";
private static final String USER_TWO = TEST_USER+"-Two";
private static final String USER_THREE = TEST_USER+"-Three";
//
// services
//
private WebProjectService wpService;
private SandboxService sbService;
private AssetService assetService;
@@ -83,41 +64,13 @@ public class AssetServiceImplTest extends AbstractWCMServiceImplTest
super.setUp();
// Get the required services
wpService = (WebProjectService)ctx.getBean("WebProjectService");
sbService = (SandboxService)ctx.getBean("SandboxService");
assetService = (AssetService)ctx.getBean("AssetService");
// By default run as Admin
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
createUser(USER_ONE);
createUser(USER_TWO);
createUser(USER_THREE);
}
@Override
protected void tearDown() throws Exception
{
if (CLEAN)
{
// Switch back to Admin
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
List<WebProjectInfo> webProjects = wpService.listWebProjects();
for (WebProjectInfo wpInfo : webProjects)
{
if (wpInfo.getStoreId().startsWith(TEST_WEBPROJ_DNS))
{
wpService.deleteWebProject(wpInfo.getNodeRef());
}
}
deleteUser(USER_ONE);
deleteUser(USER_TWO);
deleteUser(USER_THREE);
}
AuthenticationUtil.clearCurrentSecurityContext();
super.tearDown();
}
@@ -142,7 +95,7 @@ public class AssetServiceImplTest extends AbstractWCMServiceImplTest
public void testSimple()
{
// create web project (also creates staging sandbox and admin's author sandbox)
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-simple", TEST_WEBPROJ_NAME+"-simple", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_DONT_USE_AS_TEMPLATE, null);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-assetSimple", TEST_WEBPROJ_NAME+"-assetSimple", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_DONT_USE_AS_TEMPLATE, null);
// get admin's author sandbox
SandboxInfo sbInfo = sbService.getAuthorSandbox(wpInfo.getStoreId());

View File

@@ -41,14 +41,11 @@ import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.transaction.TransactionService;
import org.alfresco.util.ApplicationContextHelper;
import org.alfresco.util.PropertyMap;
import org.alfresco.wcm.AbstractWCMServiceImplTest;
import org.alfresco.wcm.asset.AssetInfo;
import org.alfresco.wcm.asset.AssetService;
import org.alfresco.wcm.util.WCMUtil;
import org.alfresco.wcm.webproject.WebProjectInfo;
import org.alfresco.wcm.webproject.WebProjectService;
/**
* Sandbox Service implementation unit test
@@ -57,27 +54,8 @@ import org.alfresco.wcm.webproject.WebProjectService;
*/
public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
{
// base web project
private static final String TEST_WEBPROJ_DNS = "testSandbox-"+TEST_RUN;
private static final String TEST_WEBPROJ_NAME = "testSandbox Web Project Display Name - "+TEST_RUN;
private static final String TEST_WEBPROJ_TITLE = "This is my title";
private static final String TEST_WEBPROJ_DESCRIPTION = "This is my description";
private static final String TEST_WEBPROJ_DEFAULT_WEBAPP = WCMUtil.DIR_ROOT;
//private static final boolean TEST_WEBPROJ_USE_AS_TEMPLATE = true;
private static final boolean TEST_WEBPROJ_DONT_USE_AS_TEMPLATE = false;
// base sandbox
private static final String TEST_SANDBOX = TEST_WEBPROJ_DNS;
private static final String USER_ADMIN = "admin";
private static final String TEST_USER = "testSandboxUser-"+TEST_RUN;
private static final String USER_ONE = TEST_USER+"-One";
private static final String USER_TWO = TEST_USER+"-Two";
private static final String USER_THREE = TEST_USER+"-Three";
private static final String USER_FOUR = TEST_USER+"-Four";
private static final String TEST_SANDBOX = TEST_WEBPROJ_DNS+"-sandbox";
private static final int SCALE_USERS = 5;
private static final int SCALE_WEBPROJECTS = 2;
@@ -86,7 +64,6 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// services
//
private WebProjectService wpService;
private SandboxService sbService;
private AssetService assetService;
@@ -105,7 +82,6 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
super.setUp();
// Get the required services
wpService = (WebProjectService)ctx.getBean("WebProjectService");
sbService = (SandboxService)ctx.getBean("SandboxService");
assetService = (AssetService)ctx.getBean("AssetService");
@@ -119,14 +95,6 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// without WCM locking
//avmNonLockingAwareService = (AVMService)ctx.getBean("AVMService");
// By default run as Admin
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
createUser(USER_ONE);
createUser(USER_TWO);
createUser(USER_THREE);
createUser(USER_FOUR);
}
@Override
@@ -174,7 +142,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
int storeCnt = avmService.getStores().size();
// create web project (also creates staging sandbox and admin's author sandbox)
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-simple", TEST_WEBPROJ_NAME+"-simple", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_DONT_USE_AS_TEMPLATE, null);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-sandboxSimple", TEST_WEBPROJ_NAME+"-sandboxSimple", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_DONT_USE_AS_TEMPLATE, null);
String wpStoreId = wpInfo.getStoreId();
// list 2 sandboxes
@@ -215,7 +183,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
public void testCreateAuthorSandbox()
{
// Create a web project
WebProjectInfo wpInfo1 = wpService.createWebProject(TEST_WEBPROJ_DNS+"-create-author", TEST_WEBPROJ_NAME+"-author", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_DONT_USE_AS_TEMPLATE, null);
WebProjectInfo wpInfo1 = wpService.createWebProject(TEST_SANDBOX+"-create-author", TEST_WEBPROJ_NAME+"-author", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_DONT_USE_AS_TEMPLATE, null);
String expectedUserSandboxId = TEST_SANDBOX+"-create-author" + "--" + USER_ADMIN;
@@ -310,7 +278,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
public void testListSandboxes() throws Exception
{
// Create web project - implicitly creates staging sandbox and also author sandbox for web project creator (in this case, admin)
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-list", TEST_WEBPROJ_NAME+" list", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-list", TEST_WEBPROJ_NAME+" list", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
String wpStoreId = wpInfo.getStoreId();
List<SandboxInfo> sbInfos = sbService.listSandboxes(wpInfo.getStoreId());
@@ -385,7 +353,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
assertNull(sbInfo);
// Create web project - implicitly creates staging sandbox and also admin sandbox (author sandbox for web project creator)
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-get", TEST_WEBPROJ_NAME+" get", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-get", TEST_WEBPROJ_NAME+" get", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
String wpStoreId = wpInfo.getStoreId();
// Get staging sandbox
@@ -477,7 +445,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
assertNull(sbInfo);
// Create web project - implicitly creates staging sandbox and also admin sandbox (author sandbox for web project creator)
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-is", TEST_WEBPROJ_NAME+" is", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-is", TEST_WEBPROJ_NAME+" is", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
// Get staging sandbox
sbInfo = sbService.getStagingSandbox(wpInfo.getStoreId());
@@ -495,7 +463,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
public void testDeleteSandbox()
{
// Create web project - implicitly creates staging sandbox and also admin sandbox (author sandbox for web project creator)
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-delete", TEST_WEBPROJ_NAME+" delete", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-delete", TEST_WEBPROJ_NAME+" delete", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
String wpStoreId = wpInfo.getStoreId();
assertEquals(2, sbService.listSandboxes(wpStoreId).size());
@@ -586,7 +554,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// list changed (in this test, new) assets in user sandbox compared to staging sandbox
public void testListNewItems1()
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-listNewItems1", TEST_WEBPROJ_NAME+" listNewItems1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-listNewItems1", TEST_WEBPROJ_NAME+" listNewItems1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
String wpStoreId = wpInfo.getStoreId();
assertEquals(2, sbService.listSandboxes(wpStoreId).size());
@@ -770,7 +738,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// list changed (in this test, new) assets in two different user sandboxes compared to each other
public void testListNewItems2()
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-listNewItems2", TEST_WEBPROJ_NAME+" listNewItems2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-listNewItems2", TEST_WEBPROJ_NAME+" listNewItems2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
String wpStoreId = wpInfo.getStoreId();
// Invite web users
@@ -857,7 +825,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// list changed (in this test, new) assets in two different user sandboxes compared to each other - without locking
public void testListNewItems3()
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-listNewItems2", TEST_WEBPROJ_NAME+" listNewItems2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-listNewItems2", TEST_WEBPROJ_NAME+" listNewItems2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
String wpStoreId = wpInfo.getStoreId();
// Invite web users
@@ -957,7 +925,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// submit new assets in user sandbox to staging sandbox
public void testSubmitNewItems1() throws InterruptedException
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-submitNewItems1", TEST_WEBPROJ_NAME+" submitNewItems1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-submitNewItems1", TEST_WEBPROJ_NAME+" submitNewItems1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
String wpStoreId = wpInfo.getStoreId();
String webApp = wpInfo.getDefaultWebApp();
@@ -1090,7 +1058,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// submit changed assets in user sandbox to staging sandbox
public void testSubmitChangedAssets1() throws IOException, InterruptedException
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-submitChangedAssets1", TEST_WEBPROJ_NAME+" submitChangedAssets1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-submitChangedAssets1", TEST_WEBPROJ_NAME+" submitChangedAssets1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
final String wpStoreId = wpInfo.getStoreId();
final String webApp = wpInfo.getDefaultWebApp();
@@ -1217,7 +1185,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// submit "all" changed assets in user sandbox to staging sandbox (not using default webapp)
public void testSubmitChangedAssets2() throws IOException, InterruptedException
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-submitChangedAssets1", TEST_WEBPROJ_NAME+" submitChangedAssets1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-submitChangedAssets1", TEST_WEBPROJ_NAME+" submitChangedAssets1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
final String wpStoreId = wpInfo.getStoreId();
final String stagingSandboxId = wpInfo.getStagingStoreName();
@@ -1303,7 +1271,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// submit deleted assets in user sandbox to staging sandbox
public void testSubmitDeletedItems1() throws IOException, InterruptedException
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-submitDeletedItems1", TEST_WEBPROJ_NAME+" submitDeletedItems1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-submitDeletedItems1", TEST_WEBPROJ_NAME+" submitDeletedItems1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
final String wpStoreId = wpInfo.getStoreId();
final String webApp = wpInfo.getDefaultWebApp();
@@ -1410,7 +1378,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
// revert (changed) assets in user sandbox
public void testRevert() throws IOException, InterruptedException
{
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-revertChangedAssets", TEST_WEBPROJ_NAME+" revertChangedAssets", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-revertChangedAssets", TEST_WEBPROJ_NAME+" revertChangedAssets", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
final String wpStoreId = wpInfo.getStoreId();
final String webApp = wpInfo.getDefaultWebApp();
@@ -1607,7 +1575,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
{
Date fromDate = new Date();
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-listSnapshots", TEST_WEBPROJ_NAME+" listSnapshots", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-listSnapshots", TEST_WEBPROJ_NAME+" listSnapshots", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
final String wpStoreId = wpInfo.getStoreId();
final String webApp = wpInfo.getDefaultWebApp();
@@ -1675,7 +1643,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
{
Date fromDate = new Date();
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-revertSnapshot", TEST_WEBPROJ_NAME+" revertSnapshot", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_SANDBOX+"-revertSnapshot", TEST_WEBPROJ_NAME+" revertSnapshot", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
final String wpStoreId = wpInfo.getStoreId();
final String webApp = wpInfo.getDefaultWebApp();
@@ -1849,7 +1817,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
wpService.createWebProject(TEST_WEBPROJ_DNS+"-"+i, TEST_WEBPROJ_NAME+"-"+i, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION); // ignore return
wpService.createWebProject(TEST_SANDBOX+"-"+i, TEST_WEBPROJ_NAME+"-"+i, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION); // ignore return
}
System.out.println("testPseudoScaleTest: created "+SCALE_WEBPROJECTS+" web projects in "+(System.currentTimeMillis()-split)+" msecs");
@@ -1858,7 +1826,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
WebProjectInfo wpInfo = wpService.getWebProject(TEST_WEBPROJ_DNS+"-"+i);
WebProjectInfo wpInfo = wpService.getWebProject(TEST_SANDBOX+"-"+i);
Map<String, String> userRoles = new HashMap<String, String>(SCALE_USERS);
for (int j = 1; j <= SCALE_USERS; j++)
{
@@ -1873,7 +1841,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
WebProjectInfo wpInfo = wpService.getWebProject(TEST_WEBPROJ_DNS+"-"+i);
WebProjectInfo wpInfo = wpService.getWebProject(TEST_SANDBOX+"-"+i);
assertEquals(SCALE_USERS+2, sbService.listSandboxes(wpInfo.getStoreId()).size()); // including staging sandbox and admin sandbox (web project creator)
}
@@ -1883,7 +1851,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
WebProjectInfo wpInfo = wpService.getWebProject(TEST_WEBPROJ_DNS+"-"+i);
WebProjectInfo wpInfo = wpService.getWebProject(TEST_SANDBOX+"-"+i);
assertEquals(SCALE_USERS+1, wpService.listWebUsers(wpInfo.getStoreId()).size()); // including admin user (web project creator)
}
@@ -1893,7 +1861,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
WebProjectInfo wpInfo = wpService.getWebProject(TEST_WEBPROJ_DNS+"-"+i);
WebProjectInfo wpInfo = wpService.getWebProject(TEST_SANDBOX+"-"+i);
for (int j = 1; j <= SCALE_USERS; j++)
{
@@ -1909,7 +1877,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
WebProjectInfo wpInfo = wpService.getWebProject(TEST_WEBPROJ_DNS+"-"+i);
WebProjectInfo wpInfo = wpService.getWebProject(TEST_SANDBOX+"-"+i);
for (int j = 1; j <= SCALE_USERS; j++)
{
@@ -1925,7 +1893,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
WebProjectInfo wpInfo = wpService.getWebProject(TEST_WEBPROJ_DNS+"-"+i);
WebProjectInfo wpInfo = wpService.getWebProject(TEST_SANDBOX+"-"+i);
for (int j = 1; j <= SCALE_USERS; j++)
{
@@ -1940,7 +1908,7 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
WebProjectInfo wpInfo = wpService.getWebProject(TEST_WEBPROJ_DNS+"-"+i);
WebProjectInfo wpInfo = wpService.getWebProject(TEST_SANDBOX+"-"+i);
wpService.deleteWebProject(wpInfo.getNodeRef());
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2008 Alfresco Software Limited.
* Copyright (C) 2005-2009 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -55,10 +55,6 @@ import org.alfresco.wcm.util.WCMUtil;
*/
public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
{
// base web project dns / name
private static final String TEST_WEBPROJ_DNS = "testWebProjDNS-"+TEST_RUN;
private static final String TEST_WEBPROJ_NAME = "test Web Project Display Name - "+TEST_RUN;
// web app names
private static final String TEST_WEBAPP = "myWebApp";
@@ -66,21 +62,9 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
private static final String TEST_WEBAPP2 = TEST_WEBAPP+"-AppTwo";
private static final String TEST_WEBAPP3 = TEST_WEBAPP+"-AppThree";
// general
private static final String TEST_TITLE = "This is my title";
private static final String TEST_DESCRIPTION = "This is my description";
private static final String TEST_DEFAULT_WEBAPP = "defWebApp";
private static final boolean TEST_USE_AS_TEMPLATE = true;
// groups and additional users
private static final String TEST_GROUP = "testWebGroup-"+TEST_RUN;
private static final String USER_ADMIN = "admin";
private static final String TEST_USER = "testWebProjUser-"+TEST_RUN;
private static final String TEST_GROUP = "testWebProjGroup-"+TEST_RUN;
private static final String USER_ONE = TEST_USER+"-One";
private static final String USER_TWO = TEST_USER+"-Two";
private static final String USER_THREE = TEST_USER+"-Three";
private static final String USER_FOUR = TEST_USER+"-Four";
private static final String USER_FIVE = TEST_USER+"-Five";
private static final String USER_SIX = TEST_USER+"-Six";
@@ -95,7 +79,6 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
// services
//
private WebProjectService wpService;
private FileFolderService fileFolderService;
private AuthorityService authorityService;
private PermissionService permissionService;
@@ -107,21 +90,12 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
super.setUp();
// Get the required services
wpService = (WebProjectService)ctx.getBean("WebProjectService");
authenticationService = (AuthenticationService)ctx.getBean("AuthenticationService");
personService = (PersonService)ctx.getBean("PersonService");
fileFolderService = (FileFolderService)ctx.getBean("FileFolderService");
authorityService = (AuthorityService)ctx.getBean("AuthorityService");
permissionService = (PermissionService)ctx.getBean("PermissionService");
// By default run as Admin
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
createUser(USER_ONE);
createUser(USER_TWO);
createUser(USER_THREE);
createUser(USER_FOUR);
createUser(USER_FIVE);
createUser(USER_SIX);
@@ -140,21 +114,8 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
// Switch back to Admin
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
List<WebProjectInfo> webProjects = wpService.listWebProjects();
for (WebProjectInfo wpInfo : webProjects)
{
if (wpInfo.getStoreId().startsWith(TEST_WEBPROJ_DNS))
{
wpService.deleteWebProject(wpInfo.getNodeRef());
}
}
deleteGroup(GROUP_ONE);
deleteUser(USER_ONE);
deleteUser(USER_TWO);
deleteUser(USER_THREE);
deleteUser(USER_FOUR);
deleteUser(USER_FIVE);
deleteUser(USER_SIX);
@@ -169,7 +130,6 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
}
}
AuthenticationUtil.clearCurrentSecurityContext();
super.tearDown();
}
@@ -199,21 +159,21 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
public void testCreateWebProjectSimple()
{
// Create a web project
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-simple", TEST_WEBPROJ_NAME+"-simple", TEST_TITLE, TEST_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-webProjSimple", TEST_WEBPROJ_NAME+"-webProjSimple", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
assertNotNull(wpInfo);
}
public void testCreateWebProject()
{
// Create a web project
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-create", TEST_WEBPROJ_NAME+"-create", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-create", TEST_WEBPROJ_NAME+"-create", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-create", TEST_WEBPROJ_NAME+"-create", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-create", TEST_WEBPROJ_NAME+"-create", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
// Duplicate web project dns/store name
try
{
// Try to create duplicate web project dns/store (-ve test)
wpService.createWebProject(TEST_WEBPROJ_DNS+"-create", TEST_WEBPROJ_NAME+"-x", TEST_TITLE+"x", TEST_DESCRIPTION+"x", TEST_DEFAULT_WEBAPP+"x", TEST_USE_AS_TEMPLATE, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-create", TEST_WEBPROJ_NAME+"-x", TEST_WEBPROJ_TITLE+"x", TEST_WEBPROJ_DESCRIPTION+"x", TEST_WEBPROJ_DEFAULT_WEBAPP+"x", TEST_WEBPROJ_USE_AS_TEMPLATE, null);
fail("Shouldn't allow duplicate web project dns/store name");
}
catch (AlfrescoRuntimeException exception)
@@ -225,7 +185,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
try
{
// Try to create duplicate web project folder/name (-ve test)
wpService.createWebProject(TEST_WEBPROJ_DNS+"x", TEST_WEBPROJ_NAME+"-create", TEST_TITLE+"x", TEST_DESCRIPTION+"x", TEST_DEFAULT_WEBAPP+"x", TEST_USE_AS_TEMPLATE, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"x", TEST_WEBPROJ_NAME+"-create", TEST_WEBPROJ_TITLE+"x", TEST_WEBPROJ_DESCRIPTION+"x", TEST_WEBPROJ_DEFAULT_WEBAPP+"x", TEST_WEBPROJ_USE_AS_TEMPLATE, null);
fail("Shouldn't allow duplicate web project folder/name");
}
catch (DuplicateChildNodeNameException exception)
@@ -238,10 +198,10 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
String name = dnsName + " name";
String mangledDnsName = TEST_WEBPROJ_DNS+"some-unexpected-chars";
wpInfo = wpService.createWebProject(dnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
wpInfo = wpService.createWebProject(dnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
wpInfo = wpService.getWebProject(mangledDnsName);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
// Another mangled case
dnsName = TEST_WEBPROJ_DNS+"some.moreé1í2ó3ú4Á5É6Í7Ó8Ú9";
@@ -249,10 +209,10 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
name = dnsName + " name";
wpInfo = wpService.createWebProject(dnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
wpInfo = wpService.createWebProject(dnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
wpInfo = wpService.getWebProject(mangledDnsName);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
checkWebProjectInfo(wpInfo, mangledDnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
// Invalid dns name (with '--')
dnsName = "my--dns";
@@ -260,7 +220,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
try
{
// Try to create invalid web project with invalid dns name (-ve test)
wpInfo = wpService.createWebProject(dnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
wpInfo = wpService.createWebProject(dnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
fail("Shouldn't be able to create web project with '--'");
}
catch (IllegalArgumentException exception)
@@ -274,7 +234,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
try
{
// Try to create invalid web project (-ve test)
wpInfo = wpService.createWebProject(dnsName, name, TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
wpInfo = wpService.createWebProject(dnsName, name, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
fail("Shouldn't be able to create web project with '--'");
}
catch (IllegalArgumentException exception)
@@ -293,7 +253,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
try
{
// Try to create web project (-ve test)
wpService.createWebProject(TEST_WEBPROJ_DNS+"-createAsNonAdmin", TEST_WEBPROJ_NAME+"-createAsNonAdmin", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-createAsNonAdmin", TEST_WEBPROJ_NAME+"-createAsNonAdmin", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
fail("Shouldn't allow anyone to create web project by default");
}
catch (AccessDeniedException exception)
@@ -312,8 +272,8 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
AuthenticationUtil.setFullyAuthenticatedUser(USER_ONE);
// Create a web project
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-createAsNonAdmin", TEST_WEBPROJ_NAME+"-createAsNonAdmin", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-createAsNonAdmin", TEST_WEBPROJ_NAME+"-createAsNonAdmin", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-createAsNonAdmin", TEST_WEBPROJ_NAME+"-createAsNonAdmin", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-createAsNonAdmin", TEST_WEBPROJ_NAME+"-createAsNonAdmin", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
// test list and invite users
assertEquals(1, wpService.listWebUsers(wpInfo.getStoreId()).size());
@@ -340,7 +300,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
try
{
// Try to create web project with "editor" rights to web project root (-ve test)
wpService.createWebProject(TEST_WEBPROJ_DNS+"-ano", TEST_WEBPROJ_NAME+"-ano", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-ano", TEST_WEBPROJ_NAME+"-ano", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
fail("Shouldn't allow anyone to create web project by default");
}
catch (AccessDeniedException exception)
@@ -354,7 +314,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
try
{
// Try to create web project with "comsumer" rights to web project root (-ve test)
wpService.createWebProject(TEST_WEBPROJ_DNS+"-ano", TEST_WEBPROJ_NAME+"-ano", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-ano", TEST_WEBPROJ_NAME+"-ano", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
fail("Shouldn't allow anyone to create web project by default");
}
catch (AccessDeniedException exception)
@@ -366,8 +326,8 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
AuthenticationUtil.setFullyAuthenticatedUser(USER_FOUR);
// Create a web project
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-createAsCoordinator", TEST_WEBPROJ_NAME+"-createAsCoordinator", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-createAsCoordinator", TEST_WEBPROJ_NAME+"-createAsCoordinator", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-createAsCoordinator", TEST_WEBPROJ_NAME+"-createAsCoordinator", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-createAsCoordinator", TEST_WEBPROJ_NAME+"-createAsCoordinator", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
}
@@ -392,10 +352,10 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
int cnt = webProjects.size();
// Create some web projects
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list1", TEST_WEBPROJ_NAME+" list1", TEST_TITLE, TEST_DESCRIPTION);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list2", TEST_WEBPROJ_NAME+" list2", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, true, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list3", TEST_WEBPROJ_NAME+" list3", TEST_TITLE, TEST_DESCRIPTION);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list4", TEST_WEBPROJ_NAME+" list4", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, true, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list1", TEST_WEBPROJ_NAME+" list1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list2", TEST_WEBPROJ_NAME+" list2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, true, null);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list3", TEST_WEBPROJ_NAME+" list3", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
wpService.createWebProject(TEST_WEBPROJ_DNS+"-list4", TEST_WEBPROJ_NAME+" list4", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, true, null);
// Get all the web projects for the current user
webProjects = wpService.listWebProjects();
@@ -408,19 +368,19 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
String wpStoreId = wpInfo.getStoreId();
if (wpStoreId.equals(TEST_WEBPROJ_DNS+"-list1") == true)
{
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list1", TEST_WEBPROJ_NAME+" list1", TEST_TITLE, TEST_DESCRIPTION, WCMUtil.DIR_ROOT, false);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list1", TEST_WEBPROJ_NAME+" list1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, WCMUtil.DIR_ROOT, false);
}
else if (wpStoreId.equals(TEST_WEBPROJ_DNS+"-list2") == true)
{
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list2", TEST_WEBPROJ_NAME+" list2", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, true);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list2", TEST_WEBPROJ_NAME+" list2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, true);
}
else if (wpStoreId.equals(TEST_WEBPROJ_DNS+"-list3") == true)
{
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list3", TEST_WEBPROJ_NAME+" list3", TEST_TITLE, TEST_DESCRIPTION, WCMUtil.DIR_ROOT, false);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list3", TEST_WEBPROJ_NAME+" list3", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, WCMUtil.DIR_ROOT, false);
}
else if (wpStoreId.equals(TEST_WEBPROJ_DNS+"-list4") == true)
{
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list4", TEST_WEBPROJ_NAME+" list4", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, true);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-list4", TEST_WEBPROJ_NAME+" list4", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, true);
}
else
{
@@ -482,22 +442,22 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
assertNull(wpInfo);
// Create a web project
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-get", TEST_WEBPROJ_NAME+"-get", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE, null);
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-get", TEST_WEBPROJ_NAME+"-get", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
// Get the web project - test using wpStoreId
wpInfo = wpService.getWebProject(wpInfo.getStoreId());
assertNotNull(wpInfo);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-get", TEST_WEBPROJ_NAME+"-get", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-get", TEST_WEBPROJ_NAME+"-get", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
// Get the web project - test using wpStoreNodeRef
wpInfo = wpService.getWebProject(wpInfo.getNodeRef());
assertNotNull(wpInfo);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-get", TEST_WEBPROJ_NAME+"-get", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, TEST_USE_AS_TEMPLATE);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-get", TEST_WEBPROJ_NAME+"-get", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, TEST_WEBPROJ_USE_AS_TEMPLATE);
}
public void testUpdateWebProject()
{
WebProjectInfo wpInfo = new WebProjectInfoImpl(TEST_WEBPROJ_DNS+"-update", TEST_WEBPROJ_NAME+"-update", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, false, null);
WebProjectInfo wpInfo = new WebProjectInfoImpl(TEST_WEBPROJ_DNS+"-update", TEST_WEBPROJ_NAME+"-update", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, false, null);
try
{
@@ -511,7 +471,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
}
// Create a test web project
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-update", TEST_WEBPROJ_NAME+"-update", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, true, null);
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-update", TEST_WEBPROJ_NAME+"-update", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, true, null);
wpInfo.setName("changedName"+TEST_RUN);
wpInfo.setTitle("changedTitle");
@@ -521,13 +481,13 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
// Update the details of the web project
wpService.updateWebProject(wpInfo);
wpInfo = wpService.getWebProject(wpInfo.getStoreId());
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-update", "changedName"+TEST_RUN, "changedTitle", "changedDescription", TEST_DEFAULT_WEBAPP, false);
checkWebProjectInfo(wpInfo, TEST_WEBPROJ_DNS+"-update", "changedName"+TEST_RUN, "changedTitle", "changedDescription", TEST_WEBPROJ_DEFAULT_WEBAPP, false);
}
public void testDeleteWebProject()
{
// Create a test web project
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-delete", TEST_WEBPROJ_NAME+"-delete", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, true, null);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-delete", TEST_WEBPROJ_NAME+"-delete", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, true, null);
String wpStoreId = wpInfo.getStoreId();
assertNotNull(wpService.getWebProject(wpStoreId));
@@ -578,7 +538,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
}
// Create another test web project
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-delete2", TEST_WEBPROJ_NAME+"-delete2", TEST_TITLE, TEST_DESCRIPTION, TEST_DEFAULT_WEBAPP, true, null);
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-delete2", TEST_WEBPROJ_NAME+"-delete2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBPROJ_DEFAULT_WEBAPP, true, null);
assertNotNull(wpService.getWebProject(wpInfo.getStoreId()));
wpService.inviteWebUser(wpInfo.getNodeRef(), USER_ONE, WCMUtil.ROLE_CONTENT_MANAGER, false);
@@ -607,7 +567,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
public void testCreateWebApp()
{
// Create a web project with a default webapp
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-createWebApp", TEST_WEBPROJ_NAME+"-createWebApp", TEST_TITLE, TEST_DESCRIPTION, TEST_WEBAPP1, TEST_USE_AS_TEMPLATE, null);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-createWebApp", TEST_WEBPROJ_NAME+"-createWebApp", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBAPP1, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
// Switch user to System
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName());
@@ -615,7 +575,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
try
{
// Try to create another webapp as a non-content-manager (such as System) (-ve test)
wpService.createWebApp(wpInfo.getStoreId(), TEST_WEBAPP2, TEST_DESCRIPTION);
wpService.createWebApp(wpInfo.getStoreId(), TEST_WEBAPP2, TEST_WEBPROJ_DESCRIPTION);
fail("Shouldn't be able to create a webapp since not a content manager");
}
catch (AccessDeniedException exception)
@@ -627,12 +587,12 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
// Create another webapp - test using wpStoreId
wpService.createWebApp(wpInfo.getStoreId(), TEST_WEBAPP2, TEST_DESCRIPTION);
wpService.createWebApp(wpInfo.getStoreId(), TEST_WEBAPP2, TEST_WEBPROJ_DESCRIPTION);
try
{
// Try to create duplicate webapp (-ve test)
wpService.createWebApp(wpInfo.getStoreId(), TEST_WEBAPP2, TEST_DESCRIPTION);
wpService.createWebApp(wpInfo.getStoreId(), TEST_WEBAPP2, TEST_WEBPROJ_DESCRIPTION);
fail("Shouldn't allow duplicate webapp name");
}
catch (AVMExistsException exception)
@@ -641,7 +601,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
}
// Create another webapp - test using wpNodeRef
wpService.createWebApp(wpInfo.getNodeRef(), TEST_WEBAPP3, TEST_DESCRIPTION);
wpService.createWebApp(wpInfo.getNodeRef(), TEST_WEBAPP3, TEST_WEBPROJ_DESCRIPTION);
}
public void testListWebApps()
@@ -658,7 +618,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
}
// Create a web project with default ROOT webapp
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-listWebApps", TEST_WEBPROJ_NAME+"-listWebApps", TEST_TITLE, TEST_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-listWebApps", TEST_WEBPROJ_NAME+"-listWebApps", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
NodeRef wpNodeRef = wpInfo.getNodeRef();
// List web apps - test using wpStoreId
@@ -674,9 +634,9 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
assertTrue(webAppNames.contains(WCMUtil.DIR_ROOT));
// Create some more webapps
wpService.createWebApp(wpNodeRef, TEST_WEBAPP1, TEST_DESCRIPTION);
wpService.createWebApp(wpNodeRef, TEST_WEBAPP2, TEST_DESCRIPTION);
wpService.createWebApp(wpNodeRef, TEST_WEBAPP3, TEST_DESCRIPTION);
wpService.createWebApp(wpNodeRef, TEST_WEBAPP1, TEST_WEBPROJ_DESCRIPTION);
wpService.createWebApp(wpNodeRef, TEST_WEBAPP2, TEST_WEBPROJ_DESCRIPTION);
wpService.createWebApp(wpNodeRef, TEST_WEBAPP3, TEST_WEBPROJ_DESCRIPTION);
webAppNames = wpService.listWebApps(wpNodeRef);
assertEquals(4, webAppNames.size());
@@ -697,16 +657,16 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
public void testDeleteWebApp()
{
// Create a webapp
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-deleteWebApp", TEST_WEBPROJ_NAME+"-deleteWebApp", TEST_TITLE, TEST_DESCRIPTION, TEST_WEBAPP1, TEST_USE_AS_TEMPLATE, null);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-deleteWebApp", TEST_WEBPROJ_NAME+"-deleteWebApp", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION, TEST_WEBAPP1, TEST_WEBPROJ_USE_AS_TEMPLATE, null);
String wpStoreId = wpInfo.getStoreId();
NodeRef wpNodeRef = wpInfo.getNodeRef();
// Create a webapp
wpService.createWebApp(wpNodeRef, TEST_WEBAPP2, TEST_DESCRIPTION);
wpService.createWebApp(wpNodeRef, TEST_WEBAPP2, TEST_WEBPROJ_DESCRIPTION);
// Create another webapp
wpService.createWebApp(wpNodeRef, TEST_WEBAPP3, TEST_DESCRIPTION);
wpService.createWebApp(wpNodeRef, TEST_WEBAPP3, TEST_WEBPROJ_DESCRIPTION);
// Switch user to System
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName());
@@ -788,7 +748,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
// Create a web project
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUsers", TEST_WEBPROJ_NAME+"-inviteWebUsers", TEST_TITLE, TEST_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUsers", TEST_WEBPROJ_NAME+"-inviteWebUsers", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
NodeRef wpNodeRef = wpInfo.getNodeRef();
assertEquals(1, wpService.listWebUsers(wpNodeRef).size());
@@ -833,7 +793,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
// Create a web project
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUsers2", TEST_WEBPROJ_NAME+"-inviteWebUsers2", TEST_TITLE, TEST_DESCRIPTION);
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUsers2", TEST_WEBPROJ_NAME+"-inviteWebUsers2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
wpNodeRef = wpInfo.getNodeRef();
assertEquals(1, wpService.listWebUsers(wpNodeRef).size());
@@ -868,7 +828,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
// Create a web project
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUser1", TEST_WEBPROJ_NAME+"-inviteWebUser1", TEST_TITLE, TEST_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUser1", TEST_WEBPROJ_NAME+"-inviteWebUser1", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
NodeRef wpNodeRef = wpInfo.getNodeRef();
assertTrue(wpService.isWebUser(wpNodeRef, USER_ADMIN));
@@ -891,7 +851,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
assertTrue(wpService.isWebUser(wpNodeRef, USER_TWO));
// Create another web project
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUser2", TEST_WEBPROJ_NAME+"-inviteWebUser2", TEST_TITLE, TEST_DESCRIPTION);
wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-inviteWebUser2", TEST_WEBPROJ_NAME+"-inviteWebUser2", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
NodeRef wpNodeRef2 = wpInfo.getNodeRef();
assertEquals(1, wpService.listWebUsers(wpNodeRef2).size());
@@ -981,7 +941,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
AuthenticationUtil.setFullyAuthenticatedUser(USER_ADMIN);
// Create a web project
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-uninviteWebUser", TEST_WEBPROJ_NAME+"-uninviteWebUser", TEST_TITLE, TEST_DESCRIPTION);
WebProjectInfo wpInfo = wpService.createWebProject(TEST_WEBPROJ_DNS+"-uninviteWebUser", TEST_WEBPROJ_NAME+"-uninviteWebUser", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
NodeRef wpNodeRef = wpInfo.getNodeRef();
assertEquals(1, wpService.listWebUsers(wpNodeRef).size());
@@ -1116,7 +1076,7 @@ public class WebProjectServiceImplTest extends AbstractWCMServiceImplTest
for (int i = 1; i <= SCALE_WEBPROJECTS; i++)
{
wpService.createWebProject(TEST_WEBPROJ_DNS+"-"+i, TEST_WEBPROJ_NAME+"-"+i, TEST_TITLE, TEST_DESCRIPTION); // ignore return
wpService.createWebProject(TEST_WEBPROJ_DNS+"-"+i, TEST_WEBPROJ_NAME+"-"+i, TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION); // ignore return
}
System.out.println("testPseudoScaleTest: created "+SCALE_WEBPROJECTS+" web projects in "+(System.currentTimeMillis()-split)+" msecs");