mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.2 to HEAD
15897: Merged V3.1 to V3.2 14485: (RECORD ONLY) ETHREEOH-1937 14915: (RECORD ONLY) Fix for ETHREEOH-2011: chaining-authentication-context.xml.sample 14954: (RECORD ONLY) Fix merge error 14966: (RECORD ONLY) Merged V2.2 to V3.1 14131: *RECORD ONLY* 14605: Merged HEAD to V2.2 (workaround for ETWOTWO-1137) 14368: Fix for ETHREEOH-1936 14607: Fixed NPE in TextMiningContentTransformer: Lead-up to fix for ETWOTWO-1174 14992: (RECORD ONLY) Updated svn:mergeinfo for V2.1-A 15080: Applied suggested fix for ETHREEOH-2252: Emailed content created in wrong space 15131: Merged V2.1-A to V3.1 (ETHREEOH-2270) 13465: Fix for ADB-161 ACT 7870 - added 'xsd' to mimetype map. 15134: Merged V2.2 to V3.1 14332: (RECORD-ONLY) 14717: (RECORD-ONLY) 14745: (RECORD-ONLY) 14746: Fixed error relating to detection and clean-up of duplicate child associations 14759: Missed check-in: Set transactionService for post-transaction duplicate child assoc cleanup 14761: (RECORD-ONLY) 14885: (RECORD-ONLY) 14893: (RECORD-ONLY) 14903: (RECORD-ONLY) 15204: Fixed ETHREEOH-2303: FixNameCrcValuesPatch throws ConstraintViolationException during upgrade ... 15214: Fixed ETHREEOH-1861: Offline synchronization updates file content without any changes 15271: Applied patch fix: Imported users don't conform to case-sensitivity switch 15352: ETHREEOH-2322 15361: ETHREEOH-1112 15369: ETHREEOH-2448 15419: ETHREEOH-2479 15431: ETHREEOH-2520 and ETHREEOH-2521 15587: (RECORD ONLY) Moved Enterprise-only scripts to correct location 15616: Fix ETHREEOH-2581 - WCM layered folder - can't submit deleted file 15675: WCM fixes (ETHREEOH-2110 & ETHREEOH-2645) 15836: Check for null username in ContentUsage service getUserUsage() method 15840: (RECORD ONLY) Merged V3.2 to V3.1 14760: Fix for ALFCOM-586 - trims and ignores leading/trailing whitespace before validation in JSF client forms. 15841: Fixes for ETHREEOH-2702 and ETHREEOH-2687 15860: (RECORD ONLY) Added Oracle and MS SQL Server config 15891: Removed unused compiler directive ___________________________________________________________________ Modified: svn:mergeinfo Merged /alfresco/BRANCHES/DEV/BELARUS/ETHREEOH-2221:r14753 Merged /alfresco/BRANCHES/V2.1-A: lots Merged /alfresco/BRANCHES/V2.2:r14131,14332,14605,14607,14717,14745-14746,14759,14761,14885,14893,14903 Merged /alfresco/BRANCHES/V3.1:r14485,14915,14954,14966,14992,15080,15131,15134,15204,15214,15271,15352,15361,15369,15419,15431,15587,15616,15675,15818,15836,15840-15841,15860,15891 Merged /alfresco/BRANCHES/V3.2:r15897 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16886 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1307,6 +1307,123 @@ public class SandboxServiceImplTest extends AbstractWCMServiceImplTest
|
||||
assertNotNull(assetService.getAssetWebApp(stagingSandboxId, webApp, "/myDir1/myFile2"));
|
||||
}
|
||||
|
||||
public void testSubmitDeletedItems_mimic_ETHREEOH_2581() throws IOException, InterruptedException
|
||||
{
|
||||
// Create Web Project A
|
||||
|
||||
WebProjectInfo wpInfoA = wpService.createWebProject(TEST_SANDBOX+"-A", TEST_WEBPROJ_NAME+" A", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
|
||||
|
||||
final String wpStoreIdA = wpInfoA.getStoreId();
|
||||
final String webAppA = wpInfoA.getDefaultWebApp();
|
||||
final String stagingSandboxIdA = wpInfoA.getStagingStoreName();
|
||||
|
||||
SandboxInfo sbInfoA = sbService.getAuthorSandbox(wpStoreIdA);
|
||||
String authorSandboxIdA = sbInfoA.getSandboxId();
|
||||
|
||||
// no assets
|
||||
String stagingSandboxPathA = sbInfoA.getSandboxRootPath() + "/" + webAppA;
|
||||
assertEquals(0, assetService.listAssets(stagingSandboxIdA, -1, stagingSandboxPathA, false).size());
|
||||
|
||||
// no changes yet
|
||||
List<AssetInfo> assets = sbService.listChangedAll(authorSandboxIdA, true);
|
||||
assertEquals(0, assets.size());
|
||||
|
||||
String authorSandboxPathA = sbInfoA.getSandboxRootPath() + "/" + webAppA;
|
||||
|
||||
assetService.createFolder(authorSandboxIdA, authorSandboxPathA, "test", null);
|
||||
|
||||
final String MYFILE = "This is testfile.txt in AAA";
|
||||
ContentWriter writer = assetService.createFile(authorSandboxIdA, authorSandboxPathA+"/test", "testfile.txt", null);
|
||||
writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
|
||||
writer.setEncoding("UTF-8");
|
||||
writer.putContent(MYFILE);
|
||||
|
||||
assertEquals(1, assetService.listAssets(authorSandboxIdA, -1, authorSandboxPathA, false).size());
|
||||
assertEquals(1, assetService.listAssets(authorSandboxIdA, -1, authorSandboxPathA+"/test", false).size());
|
||||
|
||||
assets = sbService.listChangedWebApp(authorSandboxIdA, webAppA, false);
|
||||
assertEquals(1, assets.size());
|
||||
|
||||
// check staging before
|
||||
assertEquals(0, assetService.listAssets(stagingSandboxIdA, -1, stagingSandboxPathA, false).size());
|
||||
|
||||
// submit (new assets) !
|
||||
sbService.submitWebApp(authorSandboxIdA, webAppA, "A1", "A1");
|
||||
|
||||
Thread.sleep(SUBMIT_DELAY);
|
||||
|
||||
assets = sbService.listChangedWebApp(authorSandboxIdA, webAppA, false);
|
||||
assertEquals(0, assets.size());
|
||||
|
||||
// check staging after
|
||||
List<AssetInfo> listing = assetService.listAssets(stagingSandboxIdA, -1, stagingSandboxPathA, false);
|
||||
assertEquals(1, listing.size());
|
||||
|
||||
listing = assetService.listAssets(stagingSandboxIdA, -1, stagingSandboxPathA+"/test", false);
|
||||
assertEquals(1, listing.size());
|
||||
|
||||
// Create Web Project B
|
||||
|
||||
WebProjectInfo wpInfoB = wpService.createWebProject(TEST_SANDBOX+"-B", TEST_WEBPROJ_NAME+" B", TEST_WEBPROJ_TITLE, TEST_WEBPROJ_DESCRIPTION);
|
||||
|
||||
final String wpStoreIdB = wpInfoB.getStoreId();
|
||||
final String webAppB = wpInfoB.getDefaultWebApp();
|
||||
final String stagingSandboxIdB = wpInfoB.getStagingStoreName();
|
||||
|
||||
SandboxInfo sbInfoB = sbService.getAuthorSandbox(wpStoreIdB);
|
||||
String authorSandboxIdB = sbInfoB.getSandboxId();
|
||||
|
||||
// no assets
|
||||
String stagingSandboxPathB = sbInfoB.getSandboxRootPath() + "/" + webAppB;
|
||||
assertEquals(0, assetService.listAssets(stagingSandboxIdB, -1, stagingSandboxPathB, false).size());
|
||||
|
||||
// no changes yet
|
||||
assets = sbService.listChangedAll(authorSandboxIdB, true);
|
||||
assertEquals(0, assets.size());
|
||||
|
||||
// drop to AVM to create WCM layered folder
|
||||
avmService.createLayeredDirectory(wpStoreIdA+":"+stagingSandboxPathA+"/test", wpStoreIdB+":"+stagingSandboxPathB, "test");
|
||||
|
||||
String authorSandboxPathB = sbInfoB.getSandboxRootPath() + "/" + webAppB;
|
||||
|
||||
assertEquals(1, assetService.listAssets(authorSandboxIdB, -1, authorSandboxPathB, false).size());
|
||||
assertEquals(1, assetService.listAssets(authorSandboxIdB, -1, authorSandboxPathB+"/test", false).size());
|
||||
|
||||
// modify file
|
||||
final String MYFILE_MODIFIED = "This is testfile.txt modified in BBB";
|
||||
|
||||
writer = assetService.getContentWriter(assetService.getAssetWebApp(authorSandboxIdB, webAppB+"/test", "/testfile.txt"));
|
||||
writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
|
||||
writer.setEncoding("UTF-8");
|
||||
writer.putContent(MYFILE_MODIFIED);
|
||||
|
||||
// submit (modified asset)
|
||||
sbService.submitWebApp(authorSandboxIdB, webAppB, "B1", "B1");
|
||||
|
||||
Thread.sleep(SUBMIT_DELAY);
|
||||
|
||||
// Switch back to Web Project A
|
||||
|
||||
// delete folder
|
||||
assetService.deleteAsset(assetService.getAssetWebApp(authorSandboxIdA, webAppA, "test"));
|
||||
|
||||
// submit (deleted asset)
|
||||
sbService.submitWebApp(authorSandboxIdA, webAppA, "A2", "A2");
|
||||
|
||||
Thread.sleep(SUBMIT_DELAY);
|
||||
|
||||
// Switch back to Web Project B
|
||||
|
||||
// delete file
|
||||
assetService.deleteAsset(assetService.getAssetWebApp(authorSandboxIdB, webAppB+"/test", "testfile.txt"));
|
||||
|
||||
// submit (deleted asset)
|
||||
// ETHREEOH_2581
|
||||
sbService.submitWebApp(authorSandboxIdB, webAppB, "B2", "B2");
|
||||
|
||||
Thread.sleep(SUBMIT_DELAY);
|
||||
}
|
||||
|
||||
// revert/undo (changed) assets in user sandbox
|
||||
public void testUndo() throws IOException, InterruptedException
|
||||
{
|
||||
|
Reference in New Issue
Block a user