mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged DEV/SWIFT to HEAD
25960: RepoBM: improve configurability - add option to configure base folder path - enable params (base urls, threads, base folder path, ...) to be configured via ant build.properties 25961: Merged BRANCHES/DEV/BM to BRANCHES/DEV/SWIFT: 24568: WebDAV - use fileInfo props (instead of nodeRef + getProp(s)) - resolve conflict 24727: SPP/WebDAV - compile fix (follow-on to r24568) 24855: BM - WebDAV - fix litmus -> locks -> 7. discover FAIL (fallout from r24568) + ran litmus 0.12.1 25963: Merged BRANCHES/DEV/BM to BRANCHES/DEV/SWIFT: 24784: Log stack trace when reporting exception 25966: Merged BRANCHES/DEV/BM to BRANCHES/DEV/SWIFT: 24725: BM - tweak validate (to use read-only txn) 25968: Merged BRANCHES/DEV/BM to BRANCHES/DEV/SWIFT: 24736: BM - getChildByName optimisation (add reverse-lookup for parentAssocs) 25992: RepoBM: add TPS - extend default ant-jmeter report to show approx/rounded test Time & TPS (note: not done for detailed report) - comment out detailed report - also expose "duration" param in ant build.xml / build.properties 26035: RepoBM: ALF-6796 - fix perf of report generation (switch from xalan to saxon) - also do not fail on error 26042: RepoBM: update readme (for ALF-6796) + add zip target 26045: (RECORD ONLY) Merged DEV/BM to DEV/SWIFT (RECORD ONLY) - already resolved for V3.4 & SWIFT Merged BRANCHES/V3.4 to BRANCHES/DEV/BM: 23613: Merged BRANCHES/DEV/BELARUS/HEAD_2010_10_21 to BRANCHES/V3.4: 23601: ALF-5447: It's impossible to save the MS Office 2010 document via webdav. Merged BRANCHES/V3.4 to BRANCHES/DEV/BM: 23618: Merged BRANCHES/DEV/V3.3-BUG-FIX to BRANCHES/V3.4: 23617: Merged BRANCHES/DEV/BELARUS/V3.3-2010_11_10 to BRANCHES/DEV/V3.3-BUG-FIX: 23602: ALF-5517: Webdav "supportedlock" propfind request fails if locking enabled Merged BRANCHES/V3.4 to BRANCHES/DEV/BM: 23997: Fix ALF-5731: Saving a doc from Office 2003 via WebDAV fails 26049: RepoBM: add "folder create" unit test - ALF-7309 (WebDAV) - ALF-7310 (CMIS) 26147: RepoBM: update WebDAV test - add patched sardine (thanks Florian) - adds "getResources(String url, int depth, boolean allProps)" 26219: RepoBM: test additions & improvements - add "itemRename" (document or folder) - for CMIS (ALF-7362) and WebDAV (ALF-7630) - update mixed scenario (add "folderCreate" & "itemRename") - for CMIS (ALF-7546) and WebDAV (ALF-7545) - cleanup of common code 26269: RepoBM: fix mixed scenarios (# of threads & weighted distribution) - use single thread group and interleave controllers - for CMIS (ALF-7546) and WebDAV (ALF-7545) 26271: (RECORD ONLY) Merged BRANCHES/DEV/BM to BRANCHES/DEV/SWIFT (RECORD-ONLY) - NOTE: verified w/ florian - NOTE: OpenCMIS and cmis-client-api are already on SWIFT - NOTE: cmis-bm has been superceded by repository-bm 26273: (RECORD ONLY) Merged BRANCHES/DEV/BM to BRANCHES/DEV/SWIFT (RECORD-ONLY) 24326: OpenCMIS update 26395: ALF-7755: add "system-build-test" project (and related RepoBM updates) - add ability to run "remote" tests (ie. selected *SystemTest) against embedded Jetty - initially run sanity builds test for RepoBM (RepositoryBenchmarkWebDAVSystemTest + RepositoryBenchmarkCMISSystemTest) & also SiteActivitySystemTest - RepoBM enhanced to import test data if not present (also added additional testItemDelete unit test) - using local copy of Spring 3.0.5 (requires at least 3.0.2) - can be rationalised once rest of Alfresco (ie. 3rd-party libs) moves up to a higher Spring version 26420: ALF-7755: tweak "system-build-test" for build box - also includes minor fixes to RepoBM (+ readme) 26448: ALF-7755: tweak "system-build-test" - for ant scripts (eg. running on build box) 26457: ALF-7898 - Alfresco Web Services: fix-up broken/regressed tests (WebServiceSuiteSystemTest) - revert default url context ... from "contentspaces" -> "alfresco" (broken during merge from ADB LC branch) - fix AuthoringServiceSystemTest.testVersionMethods() - when deleting version history - fix RepositoryServiceSystemTest.testPropertySetGet() - when creating dynamic model 26462: ALF-7898 / ALF-7755: add additional 'system' tests - effectively runs Alf Web Service build sanity tests (~= WebServiceSuiteSystemTest) 26478: ALF-7898 / ALF-7755: additional classpath fiddling (to get around limitation on Windows) - see also r26093 26487: Build fix: cut-and-paste formatting issue 26502: RepoBM: add "itemUpdate" (update props for doc or folder) - for CMIS (ALF-7633) - use Alfresco OpenCMIS Extension to update aspect props - for WebDAV (ALF-7631) - patch Sardine to allow custom namespaces 26526: ALF-7755: use temp classpaths 26528: ALF-7755: comment out for now - seems to work locally and on build boxes when run separately, but fails during full build - pending further investigation and testing (eg. when bamboo agents become free) 26567: ALF-7755: remove test-repository-bm since not used - was breaking the test classpath (for following tests) 26571: ALF-7755: re-enable RepoBenchmarkSystemTestSuite 26600: ALF-7755: test-system-build-test - add user.home (for build box env) - re-enable MiscSystemTestSuite (includes Alf WS* tests) 26609: ALF-7755: fix build/test (RepositoryServiceSystemTest.testPropertySetGet) - due to earlier MT test git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28217 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -38,6 +38,7 @@ import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
|
||||
import org.alfresco.repo.security.permissions.impl.AccessPermissionImpl;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.service.cmr.admin.RepoAdminService;
|
||||
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
|
||||
import org.alfresco.service.cmr.dictionary.ClassDefinition;
|
||||
@@ -63,6 +64,7 @@ import org.alfresco.service.cmr.security.PersonService;
|
||||
import org.alfresco.service.cmr.usage.UsageService;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.service.transaction.TransactionService;
|
||||
import org.alfresco.util.ApplicationContextHelper;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
@@ -92,6 +94,7 @@ public class MultiTDemoTest extends TestCase
|
||||
private RepoAdminService repoAdminService;
|
||||
private DictionaryService dictionaryService;
|
||||
private UsageService usageService;
|
||||
private TransactionService transactionService;
|
||||
|
||||
public static int NUM_TENANTS = 2;
|
||||
|
||||
@@ -152,6 +155,7 @@ public class MultiTDemoTest extends TestCase
|
||||
repoAdminService = (RepoAdminService) ctx.getBean("RepoAdminService");
|
||||
dictionaryService = (DictionaryService) ctx.getBean("DictionaryService");
|
||||
usageService = (UsageService) ctx.getBean("usageService");
|
||||
transactionService = (TransactionService) ctx.getBean("TransactionService");
|
||||
|
||||
createTenants();
|
||||
}
|
||||
@@ -270,58 +274,66 @@ public class MultiTDemoTest extends TestCase
|
||||
final String tenantDomain1 = TEST_RUN+".groupdel1";
|
||||
final String tenantDomain2 = TEST_RUN+".groupdel2";
|
||||
|
||||
final String[] tenantUniqueGroupNames = new String[10];
|
||||
final String[] superadminUniqueGroupNames = new String[10];
|
||||
for (int i = 0; i < tenantUniqueGroupNames.length; i++)
|
||||
try
|
||||
{
|
||||
tenantUniqueGroupNames[i] = TEST_RUN + "test_group" + i;
|
||||
superadminUniqueGroupNames[i] = TEST_RUN + "test_group_sa" + i;
|
||||
final String[] tenantUniqueGroupNames = new String[10];
|
||||
final String[] superadminUniqueGroupNames = new String[10];
|
||||
for (int i = 0; i < tenantUniqueGroupNames.length; i++)
|
||||
{
|
||||
tenantUniqueGroupNames[i] = TEST_RUN + "test_group" + i;
|
||||
superadminUniqueGroupNames[i] = TEST_RUN + "test_group_sa" + i;
|
||||
}
|
||||
|
||||
clearUsage(AuthenticationUtil.getAdminUserName());
|
||||
|
||||
createTenant(tenantDomain1);
|
||||
createTenant(tenantDomain2);
|
||||
|
||||
final String tenantAdminName1 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain1);
|
||||
final String tenantAdminName2 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain2);
|
||||
final String superAdmin = "admin";
|
||||
|
||||
// Create test authorities that are visible only to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
createTestAuthoritiesForTenant(tenantUniqueGroupNames, tenantAdminName1);
|
||||
// Check that tenant1's authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that tenant1's authorities are not visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, tenantAdminName2, false);
|
||||
// Check that tenant1's authorities are not visible to super-admin
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, superAdmin, false);
|
||||
|
||||
|
||||
// Create test authorities that are visible only to super-admin
|
||||
createTestAuthoritiesForTenant(superadminUniqueGroupNames, superAdmin);
|
||||
// Check that super-admin's authorities are not visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, tenantAdminName1, false);
|
||||
// Check that super-admin's authorities are not visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, tenantAdminName2, false);
|
||||
// Check that super-admin's authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, superAdmin, true);
|
||||
|
||||
|
||||
// Delete tenant1's authorities
|
||||
clearUsage(tenantDomain1);
|
||||
deleteTestAuthoritiesForTenant(tenantUniqueGroupNames, tenantAdminName1);
|
||||
// Check that tenant1's authorities are not visible to tenant1
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, tenantAdminName1, false);
|
||||
|
||||
// Delete super-admin's authorities
|
||||
deleteTestAuthoritiesForTenant(superadminUniqueGroupNames, superAdmin);
|
||||
// Check that super-admin's authorities are not visible to super-admin
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, superAdmin, false);
|
||||
}
|
||||
finally
|
||||
{
|
||||
deleteTenant(tenantDomain1);
|
||||
deleteTenant(tenantDomain2);
|
||||
}
|
||||
|
||||
clearUsage(AuthenticationUtil.getAdminUserName());
|
||||
|
||||
createTenant(tenantDomain1);
|
||||
createTenant(tenantDomain2);
|
||||
|
||||
final String tenantAdminName1 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain1);
|
||||
final String tenantAdminName2 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain2);
|
||||
final String superAdmin = "admin";
|
||||
|
||||
// Create test authorities that are visible only to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
createTestAuthoritiesForTenant(tenantUniqueGroupNames, tenantAdminName1);
|
||||
// Check that tenant1's authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that tenant1's authorities are not visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, tenantAdminName2, false);
|
||||
// Check that tenant1's authorities are not visible to super-admin
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, superAdmin, false);
|
||||
|
||||
|
||||
// Create test authorities that are visible only to super-admin
|
||||
createTestAuthoritiesForTenant(superadminUniqueGroupNames, superAdmin);
|
||||
// Check that super-admin's authorities are not visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, tenantAdminName1, false);
|
||||
// Check that super-admin's authorities are not visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, tenantAdminName2, false);
|
||||
// Check that super-admin's authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, superAdmin, true);
|
||||
|
||||
|
||||
// Delete tenant1's authorities
|
||||
clearUsage(tenantDomain1);
|
||||
deleteTestAuthoritiesForTenant(tenantUniqueGroupNames, tenantAdminName1);
|
||||
// Check that tenant1's authorities are not visible to tenant1
|
||||
checkTestAuthoritiesPresence(tenantUniqueGroupNames, tenantAdminName1, false);
|
||||
|
||||
// Delete super-admin's authorities
|
||||
deleteTestAuthoritiesForTenant(superadminUniqueGroupNames, superAdmin);
|
||||
// Check that super-admin's authorities are not visible to super-admin
|
||||
checkTestAuthoritiesPresence(superadminUniqueGroupNames, superAdmin, false);
|
||||
}
|
||||
|
||||
public void testSharedGroupDeletion()
|
||||
@@ -329,79 +341,89 @@ public class MultiTDemoTest extends TestCase
|
||||
final String tenantDomain1 = TEST_RUN+".groupdel3";
|
||||
final String tenantDomain2 = TEST_RUN+".groupdel4";
|
||||
|
||||
final String[] commonTenantUniqueGroupNames = new String[10];
|
||||
for (int i = 0; i < commonTenantUniqueGroupNames.length; i++)
|
||||
try
|
||||
{
|
||||
commonTenantUniqueGroupNames[i] = TEST_RUN + "test_group" + i;
|
||||
final String[] commonTenantUniqueGroupNames = new String[10];
|
||||
for (int i = 0; i < commonTenantUniqueGroupNames.length; i++)
|
||||
{
|
||||
commonTenantUniqueGroupNames[i] = TEST_RUN + "test_group" + i;
|
||||
}
|
||||
|
||||
clearUsage(AuthenticationUtil.getAdminUserName());
|
||||
|
||||
createTenant(tenantDomain1);
|
||||
createTenant(tenantDomain2);
|
||||
|
||||
final String tenantAdminName1 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain1);
|
||||
final String tenantAdminName2 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain2);
|
||||
final String superAdmin = "admin";
|
||||
|
||||
// Create test common authorities for tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName1);
|
||||
// Create test common authorities for tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName2);
|
||||
// Create test common authorities for super-admin
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, superAdmin);
|
||||
|
||||
// Check that authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that authorities are visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, true);
|
||||
// Check that authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, true);
|
||||
|
||||
// Delete tenant1's authorities
|
||||
clearUsage(tenantDomain1);
|
||||
deleteTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName1);
|
||||
// Check that authorities are not visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, false);
|
||||
// Check that authorities are visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, true);
|
||||
// Check that authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, true);
|
||||
|
||||
// Create test common authorities for tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName1);
|
||||
// Delete tenant2's authorities
|
||||
clearUsage(tenantDomain2);
|
||||
deleteTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName2);
|
||||
// Check that authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that authorities are not visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, false);
|
||||
// Check that authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, true);
|
||||
|
||||
// Create test common authorities for tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName2);
|
||||
// Delete super-admin's authorities
|
||||
deleteTestAuthoritiesForTenant(commonTenantUniqueGroupNames, superAdmin);
|
||||
// Check that authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that authorities are visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, true);
|
||||
// Check that authorities are not visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, false);
|
||||
}
|
||||
finally
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName());
|
||||
|
||||
deleteTenant(tenantDomain1);
|
||||
deleteTenant(tenantDomain2);
|
||||
}
|
||||
|
||||
clearUsage(AuthenticationUtil.getAdminUserName());
|
||||
|
||||
createTenant(tenantDomain1);
|
||||
createTenant(tenantDomain2);
|
||||
|
||||
final String tenantAdminName1 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain1);
|
||||
final String tenantAdminName2 = tenantService.getDomainUser(AuthenticationUtil.getAdminUserName(), tenantDomain2);
|
||||
final String superAdmin = "admin";
|
||||
|
||||
// Create test common authorities for tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName1);
|
||||
// Create test common authorities for tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName2);
|
||||
// Create test common authorities for super-admin
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, superAdmin);
|
||||
|
||||
// Check that authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that authorities are visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, true);
|
||||
// Check that authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, true);
|
||||
|
||||
// Delete tenant1's authorities
|
||||
clearUsage(tenantDomain1);
|
||||
deleteTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName1);
|
||||
// Check that authorities are not visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, false);
|
||||
// Check that authorities are visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, true);
|
||||
// Check that authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, true);
|
||||
|
||||
// Create test common authorities for tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName1);
|
||||
// Delete tenant2's authorities
|
||||
clearUsage(tenantDomain2);
|
||||
deleteTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName2);
|
||||
// Check that authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that authorities are not visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, false);
|
||||
// Check that authorities are visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, true);
|
||||
|
||||
// Create test common authorities for tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
createTestAuthoritiesForTenant(commonTenantUniqueGroupNames, tenantAdminName2);
|
||||
// Delete super-admin's authorities
|
||||
deleteTestAuthoritiesForTenant(commonTenantUniqueGroupNames, superAdmin);
|
||||
// Check that authorities are visible to tenant1
|
||||
clearUsage(tenantDomain1);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName1, true);
|
||||
// Check that authorities are visible to tenant2
|
||||
clearUsage(tenantDomain2);
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, tenantAdminName2, true);
|
||||
// Check that authorities are not visible to super-admin
|
||||
checkTestAuthoritiesPresence(commonTenantUniqueGroupNames, superAdmin, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -425,6 +447,32 @@ public class MultiTDemoTest extends TestCase
|
||||
}, AuthenticationUtil.getSystemUserName());
|
||||
}
|
||||
|
||||
private void deleteTenant(final String tenantDomain)
|
||||
{
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Object>()
|
||||
{
|
||||
public Object execute() throws Throwable
|
||||
{
|
||||
// delete tenant (if it exists)
|
||||
AuthenticationUtil.runAs(new RunAsWork<Object>()
|
||||
{
|
||||
public Object doWork() throws Exception
|
||||
{
|
||||
if (tenantAdminService.existsTenant(tenantDomain))
|
||||
{
|
||||
tenantAdminService.deleteTenant(tenantDomain);
|
||||
|
||||
logger.info("Deleted tenant " + tenantDomain);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}, AuthenticationUtil.getSystemUserName());
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void test_ETHREEOH_2015()
|
||||
{
|
||||
final String tenantDomain1 = TEST_RUN+".one.ethreeoh2015";
|
||||
@@ -1130,6 +1178,19 @@ public class MultiTDemoTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
// pseudo cleanup - if this test runs last
|
||||
public void testDeleteTenants()
|
||||
{
|
||||
logger.info("test delete tenant");
|
||||
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName());
|
||||
|
||||
for (final String tenantDomain : tenants)
|
||||
{
|
||||
deleteTenant(tenantDomain);
|
||||
}
|
||||
}
|
||||
|
||||
private void createGroup(String shortName, String parentShortName)
|
||||
{
|
||||
// create new Group using authority Service
|
||||
|
Reference in New Issue
Block a user