From 3f5363351e881cd924344ea45e097b29d3ef6dbd Mon Sep 17 00:00:00 2001 From: Ross Gale Date: Wed, 6 Dec 2017 14:28:26 +0000 Subject: [PATCH 1/9] RM-5931 Adding transaction fix for integration test --- .../test/integration/hold/DeleteHoldTest.java | 151 ++++++++++-------- 1 file changed, 83 insertions(+), 68 deletions(-) diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java index 9265531132..7c55b2b958 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java @@ -82,101 +82,116 @@ public class DeleteHoldTest extends BaseRMTestCase public void testDeleteHoldBehaviourForRecordFolder() { + NodeRef hold1 = doTestInTransaction(new Test() + { + @Override + public NodeRef run() throws Exception + { + // create test holds + return createAndCheckHold(); + } + }); + //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception doTestInTransaction(new Test() { - @Override - public Void run() throws Exception - { - // create test holds - NodeRef hold1 = createAndCheckHold(); + @Override + public Void run() throws Exception + { + // add the record folder to hold1 + holdService.addToHold(hold1, rmFolder); - // add the record folder to hold1 - holdService.addToHold(hold1, rmFolder); + // assert that the folder and records are frozen + assertTrue(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertTrue(freezeService.isFrozen(recordDeclaredOne)); - // assert that the folder and records are frozen - assertTrue(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertTrue(freezeService.isFrozen(recordDeclaredOne)); + // check the contents of the hold + List frozenNodes = holdService.getHeld(hold1); + assertNotNull(frozenNodes); + assertEquals(1, frozenNodes.size()); + assertEquals(rmFolder, frozenNodes.get(0)); - // check the contents of the hold - List frozenNodes = holdService.getHeld(hold1); - assertNotNull(frozenNodes); - assertEquals(1, frozenNodes.size()); - assertEquals(rmFolder, frozenNodes.get(0)); + // delete the hold + holdService.deleteHold(hold1); - // delete the hold - holdService.deleteHold(hold1); + // assert that the folder and records no longer frozen + assertFalse(freezeService.isFrozen(rmFolder)); + assertFalse(freezeService.isFrozen(recordOne)); + assertFalse(freezeService.isFrozen(recordDeclaredOne)); - // assert that the folder and records no longer frozen - assertFalse(freezeService.isFrozen(rmFolder)); - assertFalse(freezeService.isFrozen(recordOne)); - assertFalse(freezeService.isFrozen(recordDeclaredOne)); + // confirm the hold has been deleted + assertNull(holdService.getHold(filePlan, "hold one")); - // confirm the hold has been deleted - assertNull(holdService.getHold(filePlan, "hold one")); - - return null; - } + return null; + } }); } public void testDeleteHoldBehaviourForMultipleHolds() { + List holds = doTestInTransaction(new Test>() + { + @Override + public List run() throws Exception + { + // create test holds + return createAndCheckHolds(); + } + }); + //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception doTestInTransaction(new Test() { - @Override - public Void run() throws Exception - { - // create test holds - List holds = createAndCheckHolds(); - NodeRef hold1 = holds.get(0); - NodeRef hold2 = holds.get(1); + @Override + public Void run() throws Exception + { + NodeRef hold1 = holds.get(0); + NodeRef hold2 = holds.get(1); - // add the record folder to hold1 - holdService.addToHold(hold1, rmFolder); + // add the record folder to hold1 + holdService.addToHold(hold1, rmFolder); - // assert that the folder and records are frozen - assertTrue(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertTrue(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records are frozen + assertTrue(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertTrue(freezeService.isFrozen(recordDeclaredOne)); - // check the contents of the hold - List frozenNodes = holdService.getHeld(hold1); - assertNotNull(frozenNodes); - assertEquals(1, frozenNodes.size()); - assertEquals(rmFolder, frozenNodes.get(0)); + // check the contents of the hold + List frozenNodes = holdService.getHeld(hold1); + assertNotNull(frozenNodes); + assertEquals(1, frozenNodes.size()); + assertEquals(rmFolder, frozenNodes.get(0)); - holdService.addToHold(hold2, recordOne); + holdService.addToHold(hold2, recordOne); - // assert that the folder and records are frozen - assertTrue(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertTrue(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records are frozen + assertTrue(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertTrue(freezeService.isFrozen(recordDeclaredOne)); - // delete the hold - holdService.deleteHold(hold1); + // delete the hold + holdService.deleteHold(hold1); - // assert that the folder and records no longer frozen - assertFalse(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertFalse(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records no longer frozen + assertFalse(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertFalse(freezeService.isFrozen(recordDeclaredOne)); - // confirm the hold has been deleted - assertNull(holdService.getHold(filePlan, "hold one")); + // confirm the hold has been deleted + assertNull(holdService.getHold(filePlan, "hold one")); - // delete the hold - holdService.deleteHold(hold2); + // delete the hold + holdService.deleteHold(hold2); - // assert that the folder and records no longer frozen - assertFalse(freezeService.isFrozen(rmFolder)); - assertFalse(freezeService.isFrozen(recordOne)); - assertFalse(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records no longer frozen + assertFalse(freezeService.isFrozen(rmFolder)); + assertFalse(freezeService.isFrozen(recordOne)); + assertFalse(freezeService.isFrozen(recordDeclaredOne)); - // confirm the hold has been deleted - assertNull(holdService.getHold(filePlan, "hold two")); + // confirm the hold has been deleted + assertNull(holdService.getHold(filePlan, "hold two")); - return null; - } + return null; + } }); } From 7c8c6098dd5694b73f515a8a44a745345c5f555a Mon Sep 17 00:00:00 2001 From: Tom Page Date: Wed, 6 Dec 2017 14:40:00 +0000 Subject: [PATCH 2/9] Revert "Revert "Update Alfresco dependency to 5.0.4."" This reverts commit 6d8a273e279fa36465bcbb28d2aa48e5747cecca. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 649a8bbc0b..8e53f4b5fa 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ org.alfresco alfresco-platform-distribution - 5.0.2 + 5.0.4 pom import @@ -89,7 +89,7 @@ - 5.0.2 + 5.0.4 org.postgresql.Driver From 96e53ff3631372eb567b1330fef1b66cf290e555 Mon Sep 17 00:00:00 2001 From: Ross Gale Date: Wed, 6 Dec 2017 15:57:39 +0000 Subject: [PATCH 3/9] RM-5931 Adding transaction fix for integration test --- .../test/integration/issue/RM1914Test.java | 69 +++++++++---------- .../legacy/service/FreezeServiceImplTest.java | 66 +++++++++++++----- 2 files changed, 82 insertions(+), 53 deletions(-) diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java index 3961fabe33..d7e4256f04 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java @@ -42,30 +42,29 @@ import org.apache.commons.lang.StringUtils; */ public class RM1914Test extends BaseRMTestCase { - + + //Fields required across transactions + NodeRef record1, transferFolder; + public void testRM1914() throws Exception { doBehaviourDrivenTest(new BehaviourDrivenTest() { - - NodeRef record1; - NodeRef record2; public void given() { - // 1. Any Category1, Category2 are created + + // create test holds NodeRef category1 = filePlanService.createRecordCategory(filePlan, GUID.generate()); NodeRef category2 = filePlanService.createRecordCategory(filePlan, GUID.generate()); - - - // 2. Disposition schedule is created for the Category1: - // - applied on Record + Map dsProps = new HashMap(3); dsProps.put(PROP_DISPOSITION_AUTHORITY, CommonRMTestUtils.DEFAULT_DISPOSITION_AUTHORITY); dsProps.put(PROP_DISPOSITION_INSTRUCTIONS, GUID.generate()); dsProps.put(PROP_RECORD_LEVEL_DISPOSITION, true); - - DispositionSchedule dispositionSchedule1 = dispositionService.createDispositionSchedule(category1, dsProps); + DispositionSchedule dispositionSchedule1 = dispositionService.createDispositionSchedule(category1, + dsProps); + NodeRef folder1 = recordFolderService.createRecordFolder(category1, GUID.generate()); // - add cutoff after "Related Record Transferred To Inactive Storage" completion event Map dispositionAction1 = new HashMap(3); @@ -73,67 +72,67 @@ public class RM1914Test extends BaseRMTestCase dispositionAction1.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate()); List events = new ArrayList(1); - events.add("related_record_trasfered_inactive_storage"); - dispositionAction1.put(PROP_DISPOSITION_EVENT, (Serializable)events); + events.add("related_record_trasfered_inactive_storage"); + dispositionAction1.put(PROP_DISPOSITION_EVENT, (Serializable) events); dispositionService.addDispositionActionDefinition(dispositionSchedule1, dispositionAction1); - - + // 3. Folder1 > Record1 is created inside Category1 - NodeRef folder1 = recordFolderService.createRecordFolder(category1, GUID.generate()); record1 = recordService.createRecordFromContent(folder1, GUID.generate(), TYPE_CONTENT, null, null); - - - // 4. Disposition schedule is created for the Category2: + + // 4. Disposition schedule is created for the Category2: // applied on Record - DispositionSchedule dispositionSchedule2 = dispositionService.createDispositionSchedule(category2, dsProps); - + DispositionSchedule dispositionSchedule2 = dispositionService.createDispositionSchedule(category2, + dsProps); + // - cutoff immediatelly Map dispositionAction2_1 = new HashMap(3); dispositionAction2_1.put(PROP_DISPOSITION_ACTION_NAME, CutOffAction.NAME); dispositionAction2_1.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate()); - dispositionAction2_1.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY); + dispositionAction2_1.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY); dispositionService.addDispositionActionDefinition(dispositionSchedule2, dispositionAction2_1); - + // - Transfer Immediatelly Map dispositionAction2_2 = new HashMap(4); dispositionAction2_2.put(PROP_DISPOSITION_ACTION_NAME, TransferAction.NAME); dispositionAction2_2.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate()); dispositionAction2_2.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY); dispositionAction2_2.put(PROP_DISPOSITION_LOCATION, StringUtils.EMPTY); - + dispositionService.addDispositionActionDefinition(dispositionSchedule2, dispositionAction2_2); - // 5. Folder2 > Record2 is created inside Category2 NodeRef folder2 = recordFolderService.createRecordFolder(category2, GUID.generate()); - record2 = recordService.createRecordFromContent(folder2, GUID.generate(), TYPE_CONTENT, null, null); - + NodeRef record2 = recordService.createRecordFromContent(folder2, GUID.generate(), TYPE_CONTENT, null, + null); + // 6. Record1 and Record2 are completed utils.completeRecord(record1); utils.completeRecord(record2); - // 7. Create Cross-Reference link from Record1 to Record2 relationshipService.addRelationship(CUSTOM_REF_CROSSREFERENCE.getLocalName(), record1, record2); + // 8. Cut off and transfer Record2 + rmActionService.executeRecordsManagementAction(record2, CutOffAction.NAME, null); + + transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(record2, TransferAction.NAME) + .getValue(); - } public void when() { - // 8. Cut off and transfer Record2 - rmActionService.executeRecordsManagementAction(record2, CutOffAction.NAME, null); - NodeRef transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(record2, TransferAction.NAME).getValue(); + rmActionService.executeRecordsManagementAction(transferFolder, TransferCompleteAction.NAME); - + } public void then() { - // 9. Verify Record1 + // 9. Verify Record1 assertTrue(dispositionService.isNextDispositionActionEligible(record1)); - + } }); + } } diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java index 6a149b8232..6e14666087 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java @@ -34,19 +34,22 @@ import org.alfresco.service.cmr.repository.NodeRef; */ public class FreezeServiceImplTest extends BaseRMTestCase { + private List holdAssocs; + @Override - protected boolean isRecordTest() - { - return true; - } + protected boolean isRecordTest() + { + return true; + } /** * Test freeze service methods. - * + * * @deprecated as of 2.2 */ public void testFreezeService() throws Exception { + doTestInTransaction(new Test() { @Override @@ -63,19 +66,25 @@ public class FreezeServiceImplTest extends BaseRMTestCase // Freeze a record NodeRef hold101 = holdService.createHold(filePlan, "freezename 101", "FreezeReason", null); + assertNotNull(hold101); holdService.addToHold(hold101, recordOne); + //assertTrue(freezeService.hasFrozenChildren(rmFolder)); // Check the hold exists - List holdAssocs = holdService.getHolds(filePlan); + holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); assertEquals(1, holdAssocs.size()); - NodeRef holdNodeRef = holdAssocs.iterator().next(); + + NodeRef holdNodeRef = holdAssocs.iterator() + .next(); + assertEquals(holdNodeRef, hold101); assertTrue(holdService.isHold(holdNodeRef)); assertEquals("FreezeReason", holdService.getHoldReason(holdNodeRef)); List frozenNodes = holdService.getHeld(holdNodeRef); + assertNotNull(frozenNodes); assertEquals(1, frozenNodes.size()); @@ -98,6 +107,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase records.add(recordTwo); records.add(recordThree); NodeRef newHold = holdService.createHold(filePlan, "Hold 102", "Freeze a set of nodes", null); + holdService.addToHold(newHold, records); assertNotNull(newHold); assertTrue(holdService.isHold(newHold)); @@ -106,6 +116,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); assertEquals(2, holdAssocs.size()); + for (NodeRef hold : holdAssocs) { String reason = holdService.getHoldReason(hold); @@ -129,7 +140,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase } // Check the nodes are frozen - final List testRecords = Arrays.asList(new NodeRef[]{recordOne, recordTwo, recordThree}); + final List testRecords = Arrays.asList(new NodeRef[] { recordOne, recordTwo, recordThree }); for (NodeRef nr : testRecords) { assertTrue(freezeService.isFrozen(nr)); @@ -139,7 +150,6 @@ public class FreezeServiceImplTest extends BaseRMTestCase // Unfreeze a node holdService.removeFromAllHolds(recordThree); - // Check the holds holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); @@ -174,9 +184,18 @@ public class FreezeServiceImplTest extends BaseRMTestCase assertNotNull(freezeService.getFreezeInitiator(recordTwo)); assertFalse(freezeService.isFrozen(recordThree)); assertFalse(freezeService.isFrozen(recordFour)); - + return null; + } + }); + //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception + doTestInTransaction(new Test() + { + @Override + public Void run() throws Exception + { // Relinquish the first hold - holdNodeRef = holdAssocs.iterator().next(); + NodeRef holdNodeRef = holdAssocs.iterator() + .next(); holdService.deleteHold(holdNodeRef); // Check the existing hold @@ -185,15 +204,17 @@ public class FreezeServiceImplTest extends BaseRMTestCase assertEquals(1, holdAssocs.size()); // Relinquish the second hold - holdNodeRef = holdAssocs.iterator().next(); + holdNodeRef = holdAssocs.iterator() + .next(); holdService.removeFromAllHolds(holdService.getHeld(holdNodeRef)); // hold is not automatically removed holdAssocs = holdService.getHolds(filePlan); assertEquals(1, holdAssocs.size()); - + // delete hold holdService.deleteHold(holdNodeRef); + holdAssocs = holdService.getHolds(filePlan); assertEquals(0, holdAssocs.size()); @@ -212,25 +233,34 @@ public class FreezeServiceImplTest extends BaseRMTestCase nodes.add(recordTwo); nodes.add(recordThree); holdService.addToHold(hold, nodes); - //assertTrue(freezeService.hasFrozenChildren(rmFolder)); - + //assertTrue(freezeService.hasFrozenChildren(rmFolder)); // Check the hold holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); assertEquals(1, holdAssocs.size()); - + return null; + } + }); + //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception + doTestInTransaction(new Test() + { + @Override + public Void run() throws Exception + { // Relinquish the first hold - holdService.deleteHold(holdAssocs.iterator().next()); + holdService.deleteHold(holdAssocs.iterator() + .next()); // Check the nodes are unfrozen assertFalse(freezeService.isFrozen(recordOne)); assertFalse(freezeService.isFrozen(recordTwo)); assertFalse(freezeService.isFrozen(recordThree)); assertFalse(freezeService.isFrozen(recordFour)); - // assertFalse(freezeService.hasFrozenChildren(rmFolder)); + // assertFalse(freezeService.hasFrozenChildren(rmFolder)); return null; } }); } + } From 7c786e3c7f1033d5163753c2ad7c6e5166640b71 Mon Sep 17 00:00:00 2001 From: Ross Gale Date: Wed, 6 Dec 2017 16:34:33 +0000 Subject: [PATCH 4/9] =?UTF-8?q?Revert=20"Merge=20branch=20'release/V2.3'?= =?UTF-8?q?=20of=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 847f759cc43c70ad898bcdab15a554c9bc84c5fd --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8e53f4b5fa..649a8bbc0b 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ org.alfresco alfresco-platform-distribution - 5.0.4 + 5.0.2 pom import @@ -89,7 +89,7 @@ - 5.0.4 + 5.0.2 org.postgresql.Driver From afe7f158230213aac6d2220441ba5f780a40bb29 Mon Sep 17 00:00:00 2001 From: Ross Gale Date: Wed, 6 Dec 2017 16:34:49 +0000 Subject: [PATCH 5/9] Revert "RM-5931 Adding transaction fix for integration test" This reverts commit 96e53ff3631372eb567b1330fef1b66cf290e555 --- .../test/integration/issue/RM1914Test.java | 69 ++++++++++--------- .../legacy/service/FreezeServiceImplTest.java | 66 +++++------------- 2 files changed, 53 insertions(+), 82 deletions(-) diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java index d7e4256f04..3961fabe33 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM1914Test.java @@ -42,29 +42,30 @@ import org.apache.commons.lang.StringUtils; */ public class RM1914Test extends BaseRMTestCase { - - //Fields required across transactions - NodeRef record1, transferFolder; - + public void testRM1914() throws Exception { doBehaviourDrivenTest(new BehaviourDrivenTest() { + + NodeRef record1; + NodeRef record2; public void given() { - - // create test holds + // 1. Any Category1, Category2 are created NodeRef category1 = filePlanService.createRecordCategory(filePlan, GUID.generate()); NodeRef category2 = filePlanService.createRecordCategory(filePlan, GUID.generate()); - + + + // 2. Disposition schedule is created for the Category1: + // - applied on Record Map dsProps = new HashMap(3); dsProps.put(PROP_DISPOSITION_AUTHORITY, CommonRMTestUtils.DEFAULT_DISPOSITION_AUTHORITY); dsProps.put(PROP_DISPOSITION_INSTRUCTIONS, GUID.generate()); dsProps.put(PROP_RECORD_LEVEL_DISPOSITION, true); - DispositionSchedule dispositionSchedule1 = dispositionService.createDispositionSchedule(category1, - dsProps); - NodeRef folder1 = recordFolderService.createRecordFolder(category1, GUID.generate()); + + DispositionSchedule dispositionSchedule1 = dispositionService.createDispositionSchedule(category1, dsProps); // - add cutoff after "Related Record Transferred To Inactive Storage" completion event Map dispositionAction1 = new HashMap(3); @@ -72,67 +73,67 @@ public class RM1914Test extends BaseRMTestCase dispositionAction1.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate()); List events = new ArrayList(1); - events.add("related_record_trasfered_inactive_storage"); - dispositionAction1.put(PROP_DISPOSITION_EVENT, (Serializable) events); + events.add("related_record_trasfered_inactive_storage"); + dispositionAction1.put(PROP_DISPOSITION_EVENT, (Serializable)events); dispositionService.addDispositionActionDefinition(dispositionSchedule1, dispositionAction1); - + + // 3. Folder1 > Record1 is created inside Category1 + NodeRef folder1 = recordFolderService.createRecordFolder(category1, GUID.generate()); record1 = recordService.createRecordFromContent(folder1, GUID.generate(), TYPE_CONTENT, null, null); - - // 4. Disposition schedule is created for the Category2: + + + // 4. Disposition schedule is created for the Category2: // applied on Record - DispositionSchedule dispositionSchedule2 = dispositionService.createDispositionSchedule(category2, - dsProps); - + DispositionSchedule dispositionSchedule2 = dispositionService.createDispositionSchedule(category2, dsProps); + // - cutoff immediatelly Map dispositionAction2_1 = new HashMap(3); dispositionAction2_1.put(PROP_DISPOSITION_ACTION_NAME, CutOffAction.NAME); dispositionAction2_1.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate()); - dispositionAction2_1.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY); + dispositionAction2_1.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY); dispositionService.addDispositionActionDefinition(dispositionSchedule2, dispositionAction2_1); - + // - Transfer Immediatelly Map dispositionAction2_2 = new HashMap(4); dispositionAction2_2.put(PROP_DISPOSITION_ACTION_NAME, TransferAction.NAME); dispositionAction2_2.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate()); dispositionAction2_2.put(PROP_DISPOSITION_PERIOD, CommonRMTestUtils.PERIOD_IMMEDIATELY); dispositionAction2_2.put(PROP_DISPOSITION_LOCATION, StringUtils.EMPTY); - + dispositionService.addDispositionActionDefinition(dispositionSchedule2, dispositionAction2_2); + // 5. Folder2 > Record2 is created inside Category2 NodeRef folder2 = recordFolderService.createRecordFolder(category2, GUID.generate()); - NodeRef record2 = recordService.createRecordFromContent(folder2, GUID.generate(), TYPE_CONTENT, null, - null); - + record2 = recordService.createRecordFromContent(folder2, GUID.generate(), TYPE_CONTENT, null, null); + // 6. Record1 and Record2 are completed utils.completeRecord(record1); utils.completeRecord(record2); + // 7. Create Cross-Reference link from Record1 to Record2 relationshipService.addRelationship(CUSTOM_REF_CROSSREFERENCE.getLocalName(), record1, record2); - // 8. Cut off and transfer Record2 - rmActionService.executeRecordsManagementAction(record2, CutOffAction.NAME, null); - - transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(record2, TransferAction.NAME) - .getValue(); + } public void when() { - + // 8. Cut off and transfer Record2 + rmActionService.executeRecordsManagementAction(record2, CutOffAction.NAME, null); + NodeRef transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(record2, TransferAction.NAME).getValue(); rmActionService.executeRecordsManagementAction(transferFolder, TransferCompleteAction.NAME); - + } public void then() { - // 9. Verify Record1 + // 9. Verify Record1 assertTrue(dispositionService.isNextDispositionActionEligible(record1)); - + } }); - } } diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java index 6e14666087..6a149b8232 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/service/FreezeServiceImplTest.java @@ -34,22 +34,19 @@ import org.alfresco.service.cmr.repository.NodeRef; */ public class FreezeServiceImplTest extends BaseRMTestCase { - private List holdAssocs; - @Override - protected boolean isRecordTest() - { - return true; - } + protected boolean isRecordTest() + { + return true; + } /** * Test freeze service methods. - * + * * @deprecated as of 2.2 */ public void testFreezeService() throws Exception { - doTestInTransaction(new Test() { @Override @@ -66,25 +63,19 @@ public class FreezeServiceImplTest extends BaseRMTestCase // Freeze a record NodeRef hold101 = holdService.createHold(filePlan, "freezename 101", "FreezeReason", null); - assertNotNull(hold101); holdService.addToHold(hold101, recordOne); - //assertTrue(freezeService.hasFrozenChildren(rmFolder)); // Check the hold exists - holdAssocs = holdService.getHolds(filePlan); + List holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); assertEquals(1, holdAssocs.size()); - - NodeRef holdNodeRef = holdAssocs.iterator() - .next(); - + NodeRef holdNodeRef = holdAssocs.iterator().next(); assertEquals(holdNodeRef, hold101); assertTrue(holdService.isHold(holdNodeRef)); assertEquals("FreezeReason", holdService.getHoldReason(holdNodeRef)); List frozenNodes = holdService.getHeld(holdNodeRef); - assertNotNull(frozenNodes); assertEquals(1, frozenNodes.size()); @@ -107,7 +98,6 @@ public class FreezeServiceImplTest extends BaseRMTestCase records.add(recordTwo); records.add(recordThree); NodeRef newHold = holdService.createHold(filePlan, "Hold 102", "Freeze a set of nodes", null); - holdService.addToHold(newHold, records); assertNotNull(newHold); assertTrue(holdService.isHold(newHold)); @@ -116,7 +106,6 @@ public class FreezeServiceImplTest extends BaseRMTestCase holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); assertEquals(2, holdAssocs.size()); - for (NodeRef hold : holdAssocs) { String reason = holdService.getHoldReason(hold); @@ -140,7 +129,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase } // Check the nodes are frozen - final List testRecords = Arrays.asList(new NodeRef[] { recordOne, recordTwo, recordThree }); + final List testRecords = Arrays.asList(new NodeRef[]{recordOne, recordTwo, recordThree}); for (NodeRef nr : testRecords) { assertTrue(freezeService.isFrozen(nr)); @@ -150,6 +139,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase // Unfreeze a node holdService.removeFromAllHolds(recordThree); + // Check the holds holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); @@ -184,18 +174,9 @@ public class FreezeServiceImplTest extends BaseRMTestCase assertNotNull(freezeService.getFreezeInitiator(recordTwo)); assertFalse(freezeService.isFrozen(recordThree)); assertFalse(freezeService.isFrozen(recordFour)); - return null; - } - }); - //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception - doTestInTransaction(new Test() - { - @Override - public Void run() throws Exception - { + // Relinquish the first hold - NodeRef holdNodeRef = holdAssocs.iterator() - .next(); + holdNodeRef = holdAssocs.iterator().next(); holdService.deleteHold(holdNodeRef); // Check the existing hold @@ -204,17 +185,15 @@ public class FreezeServiceImplTest extends BaseRMTestCase assertEquals(1, holdAssocs.size()); // Relinquish the second hold - holdNodeRef = holdAssocs.iterator() - .next(); + holdNodeRef = holdAssocs.iterator().next(); holdService.removeFromAllHolds(holdService.getHeld(holdNodeRef)); // hold is not automatically removed holdAssocs = holdService.getHolds(filePlan); assertEquals(1, holdAssocs.size()); - + // delete hold holdService.deleteHold(holdNodeRef); - holdAssocs = holdService.getHolds(filePlan); assertEquals(0, holdAssocs.size()); @@ -233,34 +212,25 @@ public class FreezeServiceImplTest extends BaseRMTestCase nodes.add(recordTwo); nodes.add(recordThree); holdService.addToHold(hold, nodes); - //assertTrue(freezeService.hasFrozenChildren(rmFolder)); + //assertTrue(freezeService.hasFrozenChildren(rmFolder)); + // Check the hold holdAssocs = holdService.getHolds(filePlan); assertNotNull(holdAssocs); assertEquals(1, holdAssocs.size()); - return null; - } - }); - //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception - doTestInTransaction(new Test() - { - @Override - public Void run() throws Exception - { + // Relinquish the first hold - holdService.deleteHold(holdAssocs.iterator() - .next()); + holdService.deleteHold(holdAssocs.iterator().next()); // Check the nodes are unfrozen assertFalse(freezeService.isFrozen(recordOne)); assertFalse(freezeService.isFrozen(recordTwo)); assertFalse(freezeService.isFrozen(recordThree)); assertFalse(freezeService.isFrozen(recordFour)); - // assertFalse(freezeService.hasFrozenChildren(rmFolder)); + // assertFalse(freezeService.hasFrozenChildren(rmFolder)); return null; } }); } - } From e227da1fd173416393f3049e4a54fc13be6dc6ce Mon Sep 17 00:00:00 2001 From: Ross Gale Date: Wed, 6 Dec 2017 16:35:06 +0000 Subject: [PATCH 6/9] Revert "RM-5931 Adding transaction fix for integration test" This reverts commit 3f5363351e881cd924344ea45e097b29d3ef6dbd --- .../test/integration/hold/DeleteHoldTest.java | 151 ++++++++---------- 1 file changed, 68 insertions(+), 83 deletions(-) diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java index 7c55b2b958..9265531132 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/hold/DeleteHoldTest.java @@ -82,116 +82,101 @@ public class DeleteHoldTest extends BaseRMTestCase public void testDeleteHoldBehaviourForRecordFolder() { - NodeRef hold1 = doTestInTransaction(new Test() - { - @Override - public NodeRef run() throws Exception - { - // create test holds - return createAndCheckHold(); - } - }); - //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception doTestInTransaction(new Test() { - @Override - public Void run() throws Exception - { - // add the record folder to hold1 - holdService.addToHold(hold1, rmFolder); + @Override + public Void run() throws Exception + { + // create test holds + NodeRef hold1 = createAndCheckHold(); - // assert that the folder and records are frozen - assertTrue(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertTrue(freezeService.isFrozen(recordDeclaredOne)); + // add the record folder to hold1 + holdService.addToHold(hold1, rmFolder); - // check the contents of the hold - List frozenNodes = holdService.getHeld(hold1); - assertNotNull(frozenNodes); - assertEquals(1, frozenNodes.size()); - assertEquals(rmFolder, frozenNodes.get(0)); + // assert that the folder and records are frozen + assertTrue(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertTrue(freezeService.isFrozen(recordDeclaredOne)); - // delete the hold - holdService.deleteHold(hold1); + // check the contents of the hold + List frozenNodes = holdService.getHeld(hold1); + assertNotNull(frozenNodes); + assertEquals(1, frozenNodes.size()); + assertEquals(rmFolder, frozenNodes.get(0)); - // assert that the folder and records no longer frozen - assertFalse(freezeService.isFrozen(rmFolder)); - assertFalse(freezeService.isFrozen(recordOne)); - assertFalse(freezeService.isFrozen(recordDeclaredOne)); + // delete the hold + holdService.deleteHold(hold1); - // confirm the hold has been deleted - assertNull(holdService.getHold(filePlan, "hold one")); + // assert that the folder and records no longer frozen + assertFalse(freezeService.isFrozen(rmFolder)); + assertFalse(freezeService.isFrozen(recordOne)); + assertFalse(freezeService.isFrozen(recordDeclaredOne)); - return null; - } + // confirm the hold has been deleted + assertNull(holdService.getHold(filePlan, "hold one")); + + return null; + } }); } public void testDeleteHoldBehaviourForMultipleHolds() { - List holds = doTestInTransaction(new Test>() - { - @Override - public List run() throws Exception - { - // create test holds - return createAndCheckHolds(); - } - }); - //Splitting transaction to fix onCreateNodePolicy issue where there was a node not found exception doTestInTransaction(new Test() { - @Override - public Void run() throws Exception - { - NodeRef hold1 = holds.get(0); - NodeRef hold2 = holds.get(1); + @Override + public Void run() throws Exception + { + // create test holds + List holds = createAndCheckHolds(); + NodeRef hold1 = holds.get(0); + NodeRef hold2 = holds.get(1); - // add the record folder to hold1 - holdService.addToHold(hold1, rmFolder); + // add the record folder to hold1 + holdService.addToHold(hold1, rmFolder); - // assert that the folder and records are frozen - assertTrue(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertTrue(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records are frozen + assertTrue(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertTrue(freezeService.isFrozen(recordDeclaredOne)); - // check the contents of the hold - List frozenNodes = holdService.getHeld(hold1); - assertNotNull(frozenNodes); - assertEquals(1, frozenNodes.size()); - assertEquals(rmFolder, frozenNodes.get(0)); + // check the contents of the hold + List frozenNodes = holdService.getHeld(hold1); + assertNotNull(frozenNodes); + assertEquals(1, frozenNodes.size()); + assertEquals(rmFolder, frozenNodes.get(0)); - holdService.addToHold(hold2, recordOne); + holdService.addToHold(hold2, recordOne); - // assert that the folder and records are frozen - assertTrue(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertTrue(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records are frozen + assertTrue(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertTrue(freezeService.isFrozen(recordDeclaredOne)); - // delete the hold - holdService.deleteHold(hold1); + // delete the hold + holdService.deleteHold(hold1); - // assert that the folder and records no longer frozen - assertFalse(freezeService.isFrozen(rmFolder)); - assertTrue(freezeService.isFrozen(recordOne)); - assertFalse(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records no longer frozen + assertFalse(freezeService.isFrozen(rmFolder)); + assertTrue(freezeService.isFrozen(recordOne)); + assertFalse(freezeService.isFrozen(recordDeclaredOne)); - // confirm the hold has been deleted - assertNull(holdService.getHold(filePlan, "hold one")); + // confirm the hold has been deleted + assertNull(holdService.getHold(filePlan, "hold one")); - // delete the hold - holdService.deleteHold(hold2); + // delete the hold + holdService.deleteHold(hold2); - // assert that the folder and records no longer frozen - assertFalse(freezeService.isFrozen(rmFolder)); - assertFalse(freezeService.isFrozen(recordOne)); - assertFalse(freezeService.isFrozen(recordDeclaredOne)); + // assert that the folder and records no longer frozen + assertFalse(freezeService.isFrozen(rmFolder)); + assertFalse(freezeService.isFrozen(recordOne)); + assertFalse(freezeService.isFrozen(recordDeclaredOne)); - // confirm the hold has been deleted - assertNull(holdService.getHold(filePlan, "hold two")); + // confirm the hold has been deleted + assertNull(holdService.getHold(filePlan, "hold two")); - return null; - } + return null; + } }); } From 880dd0b97609d5db6cad66871b5478625a460d6d Mon Sep 17 00:00:00 2001 From: Tom Page Date: Thu, 7 Dec 2017 08:36:45 +0000 Subject: [PATCH 7/9] Update version to 2.3.2. --- pom.xml | 2 +- rm-automation/pom.xml | 2 +- rm-server/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 649a8bbc0b..6d0fb432a9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-rm-parent pom - 2.3.2-SNAPSHOT + 2.3.2 Alfresco Records Management http://www.alfresco.org/ diff --git a/rm-automation/pom.xml b/rm-automation/pom.xml index 0b8f2e9087..a13e582a0e 100644 --- a/rm-automation/pom.xml +++ b/rm-automation/pom.xml @@ -8,7 +8,7 @@ org.alfresco alfresco-rm-parent - 2.3.2-SNAPSHOT + 2.3.2 diff --git a/rm-server/pom.xml b/rm-server/pom.xml index 7837927177..2b36929cbe 100644 --- a/rm-server/pom.xml +++ b/rm-server/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-rm-parent - 2.3.2-SNAPSHOT + 2.3.2 4.0.0 alfresco-rm-server From a45f2fe3f045844486d21bfb3a16fb51a434b1b1 Mon Sep 17 00:00:00 2001 From: Tom Page Date: Thu, 7 Dec 2017 08:37:21 +0000 Subject: [PATCH 8/9] Update version to 2.3.3-SNAPSHOT. --- pom.xml | 2 +- rm-automation/pom.xml | 2 +- rm-server/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 6d0fb432a9..132634b9f1 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-rm-parent pom - 2.3.2 + 2.3.3-SNAPSHOT Alfresco Records Management http://www.alfresco.org/ diff --git a/rm-automation/pom.xml b/rm-automation/pom.xml index a13e582a0e..dc977e2474 100644 --- a/rm-automation/pom.xml +++ b/rm-automation/pom.xml @@ -8,7 +8,7 @@ org.alfresco alfresco-rm-parent - 2.3.2 + 2.3.3-SNAPSHOT diff --git a/rm-server/pom.xml b/rm-server/pom.xml index 2b36929cbe..6d1b5f1c9b 100644 --- a/rm-server/pom.xml +++ b/rm-server/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-rm-parent - 2.3.2 + 2.3.3-SNAPSHOT 4.0.0 alfresco-rm-server From 08aa2449ac30187ef2fdae5871c01c5c516fc650 Mon Sep 17 00:00:00 2001 From: Tom Page Date: Thu, 7 Dec 2017 09:16:05 +0000 Subject: [PATCH 9/9] Update version to 2.3.2.1-SNAPSHOT. --- pom.xml | 2 +- rm-automation/pom.xml | 2 +- rm-server/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 6d0fb432a9..75c135ad6e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.alfresco alfresco-rm-parent pom - 2.3.2 + 2.3.2.1-SNAPSHOT Alfresco Records Management http://www.alfresco.org/ diff --git a/rm-automation/pom.xml b/rm-automation/pom.xml index a13e582a0e..2838ec91ea 100644 --- a/rm-automation/pom.xml +++ b/rm-automation/pom.xml @@ -8,7 +8,7 @@ org.alfresco alfresco-rm-parent - 2.3.2 + 2.3.2.1-SNAPSHOT diff --git a/rm-server/pom.xml b/rm-server/pom.xml index 2b36929cbe..2b80d909db 100644 --- a/rm-server/pom.xml +++ b/rm-server/pom.xml @@ -5,7 +5,7 @@ org.alfresco alfresco-rm-parent - 2.3.2 + 2.3.2.1-SNAPSHOT 4.0.0 alfresco-rm-server