RM-5612 Changing versions and fixing failing tests

This commit is contained in:
Ross Gale
2017-09-06 15:04:37 +01:00
parent fcac991ffa
commit 105d43659e
5 changed files with 132 additions and 92 deletions

View File

@@ -43,7 +43,7 @@
</dependencyManagement>
<properties>
<alfresco.version>5.2.f</alfresco.version>
<share.version>5.2.e</share.version>
<alfresco.version>5.2.g</alfresco.version>
<share.version>5.2.f</share.version>
</properties>
</project>

View File

@@ -91,53 +91,68 @@ public class DeleteHoldTest extends BaseRMTestCase
public void testDeleteHoldBehaviourForRecordFolder()
{
NodeRef hold1 = doTestInTransaction(new Test<NodeRef>()
{
@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<Void>()
{
@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<NodeRef> frozenNodes = holdService.getHeld(hold1);
assertNotNull(frozenNodes);
assertEquals(1, frozenNodes.size());
assertEquals(rmFolder, frozenNodes.get(0));
// check the contents of the hold
List<NodeRef> 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<NodeRef> holds = doTestInTransaction(new Test<List<NodeRef>>()
{
@Override
public List<NodeRef> 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<Void>()
{
@Override
public Void run() throws Exception
{
// create test holds
List<NodeRef> holds = createAndCheckHolds();
NodeRef hold1 = holds.get(0);
NodeRef hold2 = holds.get(1);

View File

@@ -43,6 +43,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName;
import org.alfresco.util.GUID;
import org.apache.commons.lang.StringUtils;
import org.junit.Before;
/**
*
@@ -51,30 +52,26 @@ 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
public void given(){
// 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<QName, Serializable> dsProps = new HashMap<QName, Serializable>(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());
// - add cutoff after "Related Record Transferred To Inactive Storage" completion event
Map<QName, Serializable> dispositionAction1 = new HashMap<QName, Serializable>(3);
@@ -82,57 +79,55 @@ public class RM1914Test extends BaseRMTestCase
dispositionAction1.put(PROP_DISPOSITION_DESCRIPTION, GUID.generate());
List<String> events = new ArrayList<String>(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);
// - cutoff immediatelly
Map<QName, Serializable> dispositionAction2_1 = new HashMap<QName, Serializable>(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<QName, Serializable> dispositionAction2_2 = new HashMap<QName, Serializable>(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);
}

View File

@@ -46,6 +46,8 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.extensions.webscripts.GUID;
import javax.xml.soap.Node;
/**
* Integration test for RM-4804
*
@@ -56,6 +58,10 @@ import org.springframework.extensions.webscripts.GUID;
*/
public class RM4804Test extends BaseRMTestCase
{
//Fields required across transactions
NodeRef record;
NodeRef transferFolder;
/**
* Given a category with disposition schedule applied on folder with Cut Of and Transfer, a record folder and a file PDF document
* to folder, complete the record
@@ -67,14 +73,10 @@ public class RM4804Test extends BaseRMTestCase
{
doBehaviourDrivenTest(new BehaviourDrivenTest()
{
NodeRef recordCategory;
NodeRef recordFolder;
NodeRef record;
public void given()
{
// category is created
recordCategory = filePlanService.createRecordCategory(filePlan, GUID.generate());
NodeRef recordCategory = filePlanService.createRecordCategory(filePlan, GUID.generate());
// create a disposition schedule for category, applied on folder
Map<QName, Serializable> dsProps = new HashMap<QName, Serializable>(3);
@@ -82,7 +84,8 @@ public class RM4804Test extends BaseRMTestCase
dsProps.put(PROP_DISPOSITION_INSTRUCTIONS, GUID.generate());
dsProps.put(PROP_RECORD_LEVEL_DISPOSITION, false);
DispositionSchedule dispositionSchedule = dispositionService.createDispositionSchedule(recordCategory, dsProps);
DispositionSchedule dispositionSchedule = dispositionService.createDispositionSchedule(recordCategory,
dsProps);
// cutoff immediately
Map<QName, Serializable> dispositionActionCutOff = new HashMap<QName, Serializable>(3);
@@ -102,8 +105,7 @@ public class RM4804Test extends BaseRMTestCase
dispositionService.addDispositionActionDefinition(dispositionSchedule, dispositionActionTransfer);
// add folder under category
recordFolder = recordFolderService.createRecordFolder(recordCategory, GUID.generate());
NodeRef recordFolder = recordFolderService.createRecordFolder(recordCategory, GUID.generate());
// add record of type PDF under folder
Map<QName, Serializable> props = new HashMap<QName, Serializable>(1);
props.put(ContentModel.PROP_TITLE, GUID.generate());
@@ -112,14 +114,15 @@ public class RM4804Test extends BaseRMTestCase
// complete the record
utils.completeRecord(record);
// cut off and transfer record
rmActionService.executeRecordsManagementAction(recordFolder, CutOffAction.NAME, null);
transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(recordFolder,
TransferAction.NAME)
.getValue();
}
public void when()
{
// cut off and transfer record
rmActionService.executeRecordsManagementAction(recordFolder, CutOffAction.NAME, null);
NodeRef transferFolder = (NodeRef) rmActionService.executeRecordsManagementAction(recordFolder, TransferAction.NAME)
.getValue();
rmActionService.executeRecordsManagementAction(transferFolder, TransferCompleteAction.NAME);
}

View File

@@ -43,7 +43,9 @@ import org.alfresco.service.cmr.repository.NodeRef;
*/
public class FreezeServiceImplTest extends BaseRMTestCase
{
@Override
private List<NodeRef> holdAssocs;
@Override
protected boolean isRecordTest()
{
return true;
@@ -56,7 +58,9 @@ public class FreezeServiceImplTest extends BaseRMTestCase
*/
public void testFreezeService() throws Exception
{
doTestInTransaction(new Test<Void>()
doTestInTransaction(new Test<Void>()
{
@Override
public Void run() throws Exception
@@ -71,20 +75,26 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertTrue(filePlanService.isFilePlanComponent(recordFour));
// Freeze a record
NodeRef hold101 = holdService.createHold(filePlan, "freezename 101", "FreezeReason", null);
assertNotNull(hold101);
holdService.addToHold(hold101, recordOne);
//assertTrue(freezeService.hasFrozenChildren(rmFolder));
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);
assertNotNull(holdAssocs);
assertEquals(1, holdAssocs.size());
NodeRef holdNodeRef = holdAssocs.iterator().next();
// Check the hold exists
List<NodeRef> holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
assertEquals(1, holdAssocs.size());
NodeRef holdNodeRef = holdAssocs.iterator().next();
assertEquals(holdNodeRef, hold101);
assertTrue(holdService.isHold(holdNodeRef));
assertEquals("FreezeReason", holdService.getHoldReason(holdNodeRef));
List<NodeRef> frozenNodes = holdService.getHeld(holdNodeRef);
List<NodeRef> frozenNodes = holdService.getHeld(holdNodeRef);
assertNotNull(frozenNodes);
assertEquals(1, frozenNodes.size());
@@ -102,11 +112,12 @@ public class FreezeServiceImplTest extends BaseRMTestCase
assertEquals("NewFreezeReason", holdService.getHoldReason(holdNodeRef));
// Freeze a number of records
List<NodeRef> records = new ArrayList<NodeRef>();
List<NodeRef> records = new ArrayList<NodeRef>();
records.add(recordOne);
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));
@@ -115,6 +126,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);
@@ -148,7 +160,6 @@ public class FreezeServiceImplTest extends BaseRMTestCase
// Unfreeze a node
holdService.removeFromAllHolds(recordThree);
// Check the holds
holdAssocs = holdService.getHolds(filePlan);
assertNotNull(holdAssocs);
@@ -183,9 +194,17 @@ 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<Void>()
{
@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
@@ -203,6 +222,7 @@ public class FreezeServiceImplTest extends BaseRMTestCase
// delete hold
holdService.deleteHold(holdNodeRef);
holdAssocs = holdService.getHolds(filePlan);
assertEquals(0, holdAssocs.size());
@@ -222,12 +242,19 @@ public class FreezeServiceImplTest extends BaseRMTestCase
nodes.add(recordThree);
holdService.addToHold(hold, nodes);
//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<Void>()
{
@Override
public Void run() throws Exception
{
// Relinquish the first hold
holdService.deleteHold(holdAssocs.iterator().next());