RM-5931 Adding transaction fix for integration test

This commit is contained in:
Ross Gale
2017-12-06 14:28:26 +00:00
parent ce1e6fe7d2
commit 56dc5edfa7

View File

@@ -82,101 +82,116 @@ public class DeleteHoldTest extends BaseRMTestCase
public void testDeleteHoldBehaviourForRecordFolder() 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>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() throws Exception public Void run() throws Exception
{ {
// create test holds // add the record folder to hold1
NodeRef hold1 = createAndCheckHold(); holdService.addToHold(hold1, rmFolder);
// add the record folder to hold1 // assert that the folder and records are frozen
holdService.addToHold(hold1, rmFolder); assertTrue(freezeService.isFrozen(rmFolder));
assertTrue(freezeService.isFrozen(recordOne));
assertTrue(freezeService.isFrozen(recordDeclaredOne));
// assert that the folder and records are frozen // check the contents of the hold
assertTrue(freezeService.isFrozen(rmFolder)); List<NodeRef> frozenNodes = holdService.getHeld(hold1);
assertTrue(freezeService.isFrozen(recordOne)); assertNotNull(frozenNodes);
assertTrue(freezeService.isFrozen(recordDeclaredOne)); assertEquals(1, frozenNodes.size());
assertEquals(rmFolder, frozenNodes.get(0));
// check the contents of the hold // delete the hold
List<NodeRef> frozenNodes = holdService.getHeld(hold1); holdService.deleteHold(hold1);
assertNotNull(frozenNodes);
assertEquals(1, frozenNodes.size());
assertEquals(rmFolder, frozenNodes.get(0));
// delete the hold // assert that the folder and records no longer frozen
holdService.deleteHold(hold1); assertFalse(freezeService.isFrozen(rmFolder));
assertFalse(freezeService.isFrozen(recordOne));
assertFalse(freezeService.isFrozen(recordDeclaredOne));
// assert that the folder and records no longer frozen // confirm the hold has been deleted
assertFalse(freezeService.isFrozen(rmFolder)); assertNull(holdService.getHold(filePlan, "hold one"));
assertFalse(freezeService.isFrozen(recordOne));
assertFalse(freezeService.isFrozen(recordDeclaredOne));
// confirm the hold has been deleted return null;
assertNull(holdService.getHold(filePlan, "hold one")); }
return null;
}
}); });
} }
public void testDeleteHoldBehaviourForMultipleHolds() 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>() doTestInTransaction(new Test<Void>()
{ {
@Override @Override
public Void run() throws Exception public Void run() throws Exception
{ {
// create test holds NodeRef hold1 = holds.get(0);
List<NodeRef> holds = createAndCheckHolds(); NodeRef hold2 = holds.get(1);
NodeRef hold1 = holds.get(0);
NodeRef hold2 = holds.get(1);
// add the record folder to hold1 // add the record folder to hold1
holdService.addToHold(hold1, rmFolder); holdService.addToHold(hold1, rmFolder);
// assert that the folder and records are frozen // assert that the folder and records are frozen
assertTrue(freezeService.isFrozen(rmFolder)); assertTrue(freezeService.isFrozen(rmFolder));
assertTrue(freezeService.isFrozen(recordOne)); assertTrue(freezeService.isFrozen(recordOne));
assertTrue(freezeService.isFrozen(recordDeclaredOne)); assertTrue(freezeService.isFrozen(recordDeclaredOne));
// check the contents of the hold // check the contents of the hold
List<NodeRef> frozenNodes = holdService.getHeld(hold1); List<NodeRef> frozenNodes = holdService.getHeld(hold1);
assertNotNull(frozenNodes); assertNotNull(frozenNodes);
assertEquals(1, frozenNodes.size()); assertEquals(1, frozenNodes.size());
assertEquals(rmFolder, frozenNodes.get(0)); assertEquals(rmFolder, frozenNodes.get(0));
holdService.addToHold(hold2, recordOne); holdService.addToHold(hold2, recordOne);
// assert that the folder and records are frozen // assert that the folder and records are frozen
assertTrue(freezeService.isFrozen(rmFolder)); assertTrue(freezeService.isFrozen(rmFolder));
assertTrue(freezeService.isFrozen(recordOne)); assertTrue(freezeService.isFrozen(recordOne));
assertTrue(freezeService.isFrozen(recordDeclaredOne)); assertTrue(freezeService.isFrozen(recordDeclaredOne));
// delete the hold // delete the hold
holdService.deleteHold(hold1); holdService.deleteHold(hold1);
// assert that the folder and records no longer frozen // assert that the folder and records no longer frozen
assertFalse(freezeService.isFrozen(rmFolder)); assertFalse(freezeService.isFrozen(rmFolder));
assertTrue(freezeService.isFrozen(recordOne)); assertTrue(freezeService.isFrozen(recordOne));
assertFalse(freezeService.isFrozen(recordDeclaredOne)); assertFalse(freezeService.isFrozen(recordDeclaredOne));
// confirm the hold has been deleted // confirm the hold has been deleted
assertNull(holdService.getHold(filePlan, "hold one")); assertNull(holdService.getHold(filePlan, "hold one"));
// delete the hold // delete the hold
holdService.deleteHold(hold2); holdService.deleteHold(hold2);
// assert that the folder and records no longer frozen // assert that the folder and records no longer frozen
assertFalse(freezeService.isFrozen(rmFolder)); assertFalse(freezeService.isFrozen(rmFolder));
assertFalse(freezeService.isFrozen(recordOne)); assertFalse(freezeService.isFrozen(recordOne));
assertFalse(freezeService.isFrozen(recordDeclaredOne)); assertFalse(freezeService.isFrozen(recordDeclaredOne));
// confirm the hold has been deleted // confirm the hold has been deleted
assertNull(holdService.getHold(filePlan, "hold two")); assertNull(holdService.getHold(filePlan, "hold two"));
return null; return null;
} }
}); });
} }