Removed warnings

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@64880 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2014-03-19 15:17:57 +00:00
parent 5f5416ae6c
commit 1f24aaab44

View File

@@ -26,12 +26,12 @@ import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any; import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq; import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.mockito.Mockito.doAnswer;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
@@ -42,7 +42,6 @@ import java.util.Map;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.BaseUnitTest; import org.alfresco.module.org_alfresco_module_rm.BaseUnitTest;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService; import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef;
@@ -63,7 +62,7 @@ import org.mockito.stubbing.Answer;
/** /**
* Hold service implementation unit test * Hold service implementation unit test
* *
* @author Roy Wetherall * @author Roy Wetherall
*/ */
public class HoldServiceImplUnitTest extends BaseUnitTest public class HoldServiceImplUnitTest extends BaseUnitTest
@@ -72,82 +71,82 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
private static final String HOLD_NAME = "holdname"; private static final String HOLD_NAME = "holdname";
private static final String HOLD_REASON = "holdreason"; private static final String HOLD_REASON = "holdreason";
private static final String HOLD_DESCRIPTION = "holddescription"; private static final String HOLD_DESCRIPTION = "holddescription";
protected NodeRef holdContainer; protected NodeRef holdContainer;
protected NodeRef hold; protected NodeRef hold;
protected NodeRef hold2; protected NodeRef hold2;
protected NodeRef recordFolder; protected NodeRef recordFolder;
protected NodeRef record; protected NodeRef record;
@Mock(name="recordFolderService") protected RecordFolderService mockedRecordFolderService; @Mock(name="recordFolderService") protected RecordFolderService mockedRecordFolderService;
@Mock(name="recordService") protected RecordService mockedRecordService; @Mock(name="recordService") protected RecordService mockedRecordService;
@Spy @InjectMocks HoldServiceImpl holdService; @Spy @InjectMocks HoldServiceImpl holdService;
@Before @Before
@Override @Override
public void before() public void before()
{ {
super.before(); super.before();
// setup objects used in mock interactions // setup objects used in mock interactions
holdContainer = generateNodeRef(TYPE_HOLD_CONTAINER); holdContainer = generateNodeRef(TYPE_HOLD_CONTAINER);
hold = generateNodeRef(TYPE_HOLD); hold = generateNodeRef(TYPE_HOLD);
hold2 = generateNodeRef(TYPE_HOLD); hold2 = generateNodeRef(TYPE_HOLD);
recordFolder = generateRecordFolder(); recordFolder = generateRecordFolder();
record = generateRecord(); record = generateRecord();
// setup interactions // setup interactions
doReturn(holdContainer).when(mockedFilePlanService).getHoldContainer(filePlan); doReturn(holdContainer).when(mockedFilePlanService).getHoldContainer(filePlan);
// set record as child of record folder // set record as child of record folder
List<ChildAssociationRef> result = new ArrayList<ChildAssociationRef>(1); List<ChildAssociationRef> result = new ArrayList<ChildAssociationRef>(1);
result.add(new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, recordFolder, generateQName(), record, true, 1)); result.add(new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, recordFolder, generateQName(), record, true, 1));
doReturn(result).when(mockedNodeService).getChildAssocs(eq(recordFolder), eq(ContentModel.ASSOC_CONTAINS), any(QNamePattern.class)); doReturn(result).when(mockedNodeService).getChildAssocs(eq(recordFolder), eq(ContentModel.ASSOC_CONTAINS), any(QNamePattern.class));
doReturn(result).when(mockedNodeService).getParentAssocs(record); doReturn(result).when(mockedNodeService).getParentAssocs(record);
doReturn(Collections.singletonList(recordFolder)).when(mockedRecordFolderService).getRecordFolders(record); doReturn(Collections.singletonList(recordFolder)).when(mockedRecordFolderService).getRecordFolders(record);
doReturn(Collections.singletonList(record)).when(mockedRecordService).getRecords(recordFolder); doReturn(Collections.singletonList(record)).when(mockedRecordService).getRecords(recordFolder);
} }
@Test @Test
public void isHold() public void isHold()
{ {
assertTrue(holdService.isHold(hold)); assertTrue(holdService.isHold(hold));
assertFalse(holdService.isHold(recordFolder)); assertFalse(holdService.isHold(recordFolder));
} }
@Test @Test
public void getHolds() public void getHolds()
{ {
// with no holds // with no holds
List<NodeRef> emptyHoldList = holdService.getHolds(filePlan); List<NodeRef> emptyHoldList = holdService.getHolds(filePlan);
verify(mockedNodeService).getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); verify(mockedNodeService).getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
assertNotNull(emptyHoldList); assertNotNull(emptyHoldList);
assertTrue(emptyHoldList.isEmpty()); assertTrue(emptyHoldList.isEmpty());
// setup holds (hold1 and hold 2) // setup holds (hold1 and hold 2)
setupHolds(); setupHolds();
// with 2 holds // with 2 holds
List<NodeRef> holdsList = holdService.getHolds(filePlan); List<NodeRef> holdsList = holdService.getHolds(filePlan);
verify(mockedNodeService, times(2)).getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); verify(mockedNodeService, times(2)).getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
assertNotNull(holdsList); assertNotNull(holdsList);
assertEquals(2, holdsList.size()); assertEquals(2, holdsList.size());
// check one of the holds // check one of the holds
NodeRef holdFromList = holdsList.get(0); NodeRef holdFromList = holdsList.get(0);
assertEquals(TYPE_HOLD, mockedNodeService.getType(holdFromList)); assertEquals(TYPE_HOLD, mockedNodeService.getType(holdFromList));
} }
private void setupHolds() private void setupHolds()
{ {
// set up list of two holds // set up list of two holds
List<ChildAssociationRef> list = new ArrayList<ChildAssociationRef>(2); List<ChildAssociationRef> list = new ArrayList<ChildAssociationRef>(2);
list.add(new ChildAssociationRef(generateQName(), holdContainer, generateQName(), hold, true, 1)); list.add(new ChildAssociationRef(generateQName(), holdContainer, generateQName(), hold, true, 1));
list.add(new ChildAssociationRef(generateQName(), holdContainer, generateQName(), hold2, true, 2)); list.add(new ChildAssociationRef(generateQName(), holdContainer, generateQName(), hold2, true, 2));
when(mockedNodeService.getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL)).thenReturn(list); when(mockedNodeService.getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL)).thenReturn(list);
} }
@Test @Test
public void heldByNothing() public void heldByNothing()
{ {
@@ -159,13 +158,13 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
assertTrue(holdService.heldBy(recordFolder, true).isEmpty()); assertTrue(holdService.heldBy(recordFolder, true).isEmpty());
List<NodeRef> holds = holdService.heldBy(recordFolder, false); List<NodeRef> holds = holdService.heldBy(recordFolder, false);
assertEquals(2, holds.size()); assertEquals(2, holds.size());
// check that the record isn't held by anything (record is a child of the record folder) // check that the record isn't held by anything (record is a child of the record folder)
assertTrue(holdService.heldBy(record, true).isEmpty()); assertTrue(holdService.heldBy(record, true).isEmpty());
holds = holdService.heldBy(record, false); holds = holdService.heldBy(record, false);
assertEquals(2, holds.size()); assertEquals(2, holds.size());
} }
@Test @Test
public void heldByMultipleResults() public void heldByMultipleResults()
{ {
@@ -174,20 +173,20 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, recordFolder, true, 1)); holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, recordFolder, true, 1));
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold2, ASSOC_FROZEN_RECORDS, recordFolder, true, 2)); holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold2, ASSOC_FROZEN_RECORDS, recordFolder, true, 2));
doReturn(holds).when(mockedNodeService).getParentAssocs(recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS); doReturn(holds).when(mockedNodeService).getParentAssocs(recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
// check that both holds are found for record folder // check that both holds are found for record folder
List<NodeRef> heldByHolds = holdService.heldBy(recordFolder, true); List<NodeRef> heldByHolds = holdService.heldBy(recordFolder, true);
assertNotNull(heldByHolds); assertNotNull(heldByHolds);
assertEquals(2, heldByHolds.size()); assertEquals(2, heldByHolds.size());
assertTrue(holdService.heldBy(recordFolder, false).isEmpty()); assertTrue(holdService.heldBy(recordFolder, false).isEmpty());
// check that both holds are found for record (even thou they are one level deep) // check that both holds are found for record (even thou they are one level deep)
heldByHolds = holdService.heldBy(record, true); heldByHolds = holdService.heldBy(record, true);
assertNotNull(heldByHolds); assertNotNull(heldByHolds);
assertEquals(2, heldByHolds.size()); assertEquals(2, heldByHolds.size());
assertTrue(holdService.heldBy(record, false).isEmpty()); assertTrue(holdService.heldBy(record, false).isEmpty());
} }
@Test (expected=AlfrescoRuntimeException.class) @Test (expected=AlfrescoRuntimeException.class)
public void getHold() public void getHold()
{ {
@@ -195,32 +194,32 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
when(mockedNodeService.getChildByName(eq(holdContainer), eq(ContentModel.ASSOC_CONTAINS), anyString())).thenReturn(null) when(mockedNodeService.getChildByName(eq(holdContainer), eq(ContentModel.ASSOC_CONTAINS), anyString())).thenReturn(null)
.thenReturn(hold) .thenReturn(hold)
.thenReturn(recordFolder); .thenReturn(recordFolder);
// no hold // no hold
NodeRef noHold = holdService.getHold(filePlan, "notAHold"); NodeRef noHold = holdService.getHold(filePlan, "notAHold");
assertNull(noHold); assertNull(noHold);
// found hold // found hold
NodeRef someHold = holdService.getHold(filePlan, "someHold"); NodeRef someHold = holdService.getHold(filePlan, "someHold");
assertNotNull(someHold); assertNotNull(someHold);
assertEquals(TYPE_HOLD, mockedNodeService.getType(someHold)); assertEquals(TYPE_HOLD, mockedNodeService.getType(someHold));
// ensure runtime exception is thrown // ensure runtime exception is thrown
holdService.getHold(filePlan, "notHold"); holdService.getHold(filePlan, "notHold");
} }
@Test (expected=RuntimeException.class) @Test (expected=RuntimeException.class)
public void getHeldNotAHold() public void getHeldNotAHold()
{ {
holdService.getHeld(recordFolder); holdService.getHeld(recordFolder);
} }
@Test @Test
public void getHeldNoResults() public void getHeldNoResults()
{ {
assertTrue(holdService.getHeld(hold).isEmpty()); assertTrue(holdService.getHeld(hold).isEmpty());
} }
@Test @Test
public void getHeldWithResults() public void getHeldWithResults()
{ {
@@ -228,12 +227,12 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
List<ChildAssociationRef> holds = new ArrayList<ChildAssociationRef>(1); List<ChildAssociationRef> holds = new ArrayList<ChildAssociationRef>(1);
holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, recordFolder, true, 1)); holds.add(new ChildAssociationRef(ASSOC_FROZEN_RECORDS, hold, ASSOC_FROZEN_RECORDS, recordFolder, true, 1));
doReturn(holds).when(mockedNodeService).getChildAssocs(hold, ASSOC_FROZEN_RECORDS, RegexQNamePattern.MATCH_ALL); doReturn(holds).when(mockedNodeService).getChildAssocs(hold, ASSOC_FROZEN_RECORDS, RegexQNamePattern.MATCH_ALL);
List<NodeRef> list = holdService.getHeld(hold); List<NodeRef> list = holdService.getHeld(hold);
assertEquals(1, list.size()); assertEquals(1, list.size());
assertEquals(recordFolder, list.get(0)); assertEquals(recordFolder, list.get(0));
} }
@SuppressWarnings({ "unchecked", "rawtypes" }) @SuppressWarnings({ "unchecked", "rawtypes" })
@Test @Test
public void createHold() public void createHold()
@@ -241,18 +240,18 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
// setup node service interactions // setup node service interactions
when(mockedNodeService.createNode(eq(holdContainer), eq(ContentModel.ASSOC_CONTAINS), any(QName.class) , eq(TYPE_HOLD), any(Map.class))) when(mockedNodeService.createNode(eq(holdContainer), eq(ContentModel.ASSOC_CONTAINS), any(QName.class) , eq(TYPE_HOLD), any(Map.class)))
.thenReturn(new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, holdContainer, generateQName(), hold)); .thenReturn(new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, holdContainer, generateQName(), hold));
// create hold // create hold
NodeRef newHold = holdService.createHold(filePlan, HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); NodeRef newHold = holdService.createHold(filePlan, HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION);
assertNotNull(newHold); assertNotNull(newHold);
assertEquals(TYPE_HOLD, mockedNodeService.getType(newHold)); assertEquals(TYPE_HOLD, mockedNodeService.getType(newHold));
assertEquals(hold, newHold); assertEquals(hold, newHold);
// check the node service interactions // check the node service interactions
ArgumentCaptor<Map> propertyMapCaptor = ArgumentCaptor.forClass(Map.class); ArgumentCaptor<Map> propertyMapCaptor = ArgumentCaptor.forClass(Map.class);
ArgumentCaptor<QName> assocNameCaptor = ArgumentCaptor.forClass(QName.class); ArgumentCaptor<QName> assocNameCaptor = ArgumentCaptor.forClass(QName.class);
verify(mockedNodeService).createNode(eq(holdContainer), eq(ContentModel.ASSOC_CONTAINS), assocNameCaptor.capture() , eq(TYPE_HOLD), propertyMapCaptor.capture()); verify(mockedNodeService).createNode(eq(holdContainer), eq(ContentModel.ASSOC_CONTAINS), assocNameCaptor.capture() , eq(TYPE_HOLD), propertyMapCaptor.capture());
// check property map // check property map
Map<QName, Serializable> propertyMap = (Map<QName, Serializable>)propertyMapCaptor.getValue(); Map<QName, Serializable> propertyMap = (Map<QName, Serializable>)propertyMapCaptor.getValue();
assertNotNull(propertyMap); assertNotNull(propertyMap);
@@ -263,13 +262,13 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
assertEquals(HOLD_DESCRIPTION, propertyMap.get(ContentModel.PROP_DESCRIPTION)); assertEquals(HOLD_DESCRIPTION, propertyMap.get(ContentModel.PROP_DESCRIPTION));
assertTrue(propertyMap.containsKey(PROP_HOLD_REASON)); assertTrue(propertyMap.containsKey(PROP_HOLD_REASON));
assertEquals(HOLD_REASON, propertyMap.get(PROP_HOLD_REASON)); assertEquals(HOLD_REASON, propertyMap.get(PROP_HOLD_REASON));
// check assoc name // check assoc name
assertNotNull(assocNameCaptor.getValue()); assertNotNull(assocNameCaptor.getValue());
assertEquals(NamespaceService.CONTENT_MODEL_1_0_URI, assocNameCaptor.getValue().getNamespaceURI()); assertEquals(NamespaceService.CONTENT_MODEL_1_0_URI, assocNameCaptor.getValue().getNamespaceURI());
assertEquals(HOLD_NAME, assocNameCaptor.getValue().getLocalName()); assertEquals(HOLD_NAME, assocNameCaptor.getValue().getLocalName());
} }
@Test @Test
public void getHoldReason() public void getHoldReason()
{ {
@@ -282,20 +281,20 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
when(mockedNodeService.getProperty(eq(hold), eq(PROP_HOLD_REASON))) when(mockedNodeService.getProperty(eq(hold), eq(PROP_HOLD_REASON)))
.thenReturn(null) .thenReturn(null)
.thenReturn(HOLD_REASON); .thenReturn(HOLD_REASON);
// node does not exist // node does not exist
assertNull(holdService.getHoldReason(hold)); assertNull(holdService.getHoldReason(hold));
// node isn't a hold // node isn't a hold
assertNull(holdService.getHoldReason(recordFolder)); assertNull(holdService.getHoldReason(recordFolder));
// hold reason isn't set // hold reason isn't set
assertNull(holdService.getHoldReason(hold)); assertNull(holdService.getHoldReason(hold));
// hold reason set // hold reason set
assertEquals(HOLD_REASON, holdService.getHoldReason(hold)); assertEquals(HOLD_REASON, holdService.getHoldReason(hold));
} }
@Test @Test
public void setHoldReason() public void setHoldReason()
{ {
@@ -304,93 +303,93 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
.thenReturn(false) .thenReturn(false)
.thenReturn(true) .thenReturn(true)
.thenReturn(true); .thenReturn(true);
// node does not exist // node does not exist
holdService.setHoldReason(hold, HOLD_REASON); holdService.setHoldReason(hold, HOLD_REASON);
verify(mockedNodeService, never()).setProperty(hold, PROP_HOLD_REASON, HOLD_REASON); verify(mockedNodeService, never()).setProperty(hold, PROP_HOLD_REASON, HOLD_REASON);
// node isn't a hold // node isn't a hold
holdService.setHoldReason(recordFolder, HOLD_REASON); holdService.setHoldReason(recordFolder, HOLD_REASON);
verify(mockedNodeService, never()).setProperty(hold, PROP_HOLD_REASON, HOLD_REASON); verify(mockedNodeService, never()).setProperty(hold, PROP_HOLD_REASON, HOLD_REASON);
// set hold reason // set hold reason
holdService.setHoldReason(hold, HOLD_REASON); holdService.setHoldReason(hold, HOLD_REASON);
verify(mockedNodeService).setProperty(hold, PROP_HOLD_REASON, HOLD_REASON); verify(mockedNodeService).setProperty(hold, PROP_HOLD_REASON, HOLD_REASON);
} }
@Test (expected=AlfrescoRuntimeException.class) @Test (expected=AlfrescoRuntimeException.class)
public void deleteHoldNotAHold() public void deleteHoldNotAHold()
{ {
holdService.deleteHold(recordFolder); holdService.deleteHold(recordFolder);
verify(mockedNodeService, never()).deleteNode(hold); verify(mockedNodeService, never()).deleteNode(hold);
} }
@Test @Test
public void deleteHold() public void deleteHold()
{ {
// delete hold // delete hold
holdService.deleteHold(hold); holdService.deleteHold(hold);
verify(mockedNodeService).deleteNode(hold); verify(mockedNodeService).deleteNode(hold);
// TODO check interactions with policy component!!! // TODO check interactions with policy component!!!
} }
@Test (expected=AlfrescoRuntimeException.class) @Test (expected=AlfrescoRuntimeException.class)
public void addToHoldNotAHold() public void addToHoldNotAHold()
{ {
holdService.addToHold(recordFolder, recordFolder); holdService.addToHold(recordFolder, recordFolder);
} }
@Test (expected=AlfrescoRuntimeException.class) @Test (expected=AlfrescoRuntimeException.class)
public void addToHoldNotARecordFolderOrRecord() public void addToHoldNotARecordFolderOrRecord()
{ {
holdService.addToHold(hold, filePlanComponent); holdService.addToHold(hold, filePlanComponent);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Test @Test
public void addToHoldNotInHold() public void addToHoldNotInHold()
{ {
holdService.addToHold(hold, recordFolder); holdService.addToHold(hold, recordFolder);
verify(mockedNodeService).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS); verify(mockedNodeService).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
verify(mockedNodeService).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
verify(mockedNodeService).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
holdService.addToHold(hold, record); holdService.addToHold(hold, record);
verify(mockedNodeService).addChild(hold, record, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS); verify(mockedNodeService).addChild(hold, record, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
verify(mockedNodeService).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
verify(mockedNodeService, times(2)).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService, times(2)).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Test @Test
public void addToHoldAlreadyInHold() public void addToHoldAlreadyInHold()
{ {
doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold); doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold);
holdService.addToHold(hold, recordFolder); holdService.addToHold(hold, recordFolder);
verify(mockedNodeService, never()).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS); verify(mockedNodeService, never()).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
verify(mockedNodeService, never()).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService, never()).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
verify(mockedNodeService, never()).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService, never()).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Test @Test
public void addToHoldAldeadyFrozen() public void addToHoldAldeadyFrozen()
{ {
doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN);
doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN);
holdService.addToHold(hold, recordFolder); holdService.addToHold(hold, recordFolder);
verify(mockedNodeService, times(1)).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS); verify(mockedNodeService, times(1)).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
verify(mockedNodeService, never()).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService, never()).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
verify(mockedNodeService, never()).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService, never()).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Test @Test
public void addToHolds() public void addToHolds()
@@ -404,54 +403,54 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
doReturn(true).when(mockedNodeService).hasAspect(nodeRef, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(nodeRef, ASPECT_FROZEN);
return null; return null;
} }
}).when(mockedNodeService).addAspect(any(NodeRef.class), eq(ASPECT_FROZEN), any(Map.class)); }).when(mockedNodeService).addAspect(any(NodeRef.class), eq(ASPECT_FROZEN), any(Map.class));
// build a list of holds // build a list of holds
List<NodeRef> holds = new ArrayList<NodeRef>(2); List<NodeRef> holds = new ArrayList<NodeRef>(2);
holds.add(hold); holds.add(hold);
holds.add(hold2); holds.add(hold2);
// add the record folder to both holds // add the record folder to both holds
holdService.addToHolds(holds, recordFolder); holdService.addToHolds(holds, recordFolder);
// verify the interactions // verify the interactions
verify(mockedNodeService, times(1)).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS); verify(mockedNodeService, times(1)).addChild(hold, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
verify(mockedNodeService, times(1)).addChild(hold2, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS); verify(mockedNodeService, times(1)).addChild(hold2, recordFolder, ASSOC_FROZEN_RECORDS, ASSOC_FROZEN_RECORDS);
verify(mockedNodeService, times(1)).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService, times(1)).addAspect(eq(recordFolder), eq(ASPECT_FROZEN), any(Map.class));
verify(mockedNodeService, times(1)).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class)); verify(mockedNodeService, times(1)).addAspect(eq(record), eq(ASPECT_FROZEN), any(Map.class));
} }
@Test (expected=AlfrescoRuntimeException.class) @Test (expected=AlfrescoRuntimeException.class)
public void removeFromHoldNotAHold() public void removeFromHoldNotAHold()
{ {
holdService.removeFromHold(recordFolder, recordFolder); holdService.removeFromHold(recordFolder, recordFolder);
} }
@Test @Test
public void removeFromHoldNotInHold() public void removeFromHoldNotInHold()
{ {
holdService.removeFromHold(hold, recordFolder); holdService.removeFromHold(hold, recordFolder);
verify(mockedNodeService, never()).removeChild(hold, recordFolder); verify(mockedNodeService, never()).removeChild(hold, recordFolder);
verify(mockedNodeService, never()).removeAspect(recordFolder, ASPECT_FROZEN); verify(mockedNodeService, never()).removeAspect(recordFolder, ASPECT_FROZEN);
verify(mockedNodeService, never()).removeAspect(record, ASPECT_FROZEN); verify(mockedNodeService, never()).removeAspect(record, ASPECT_FROZEN);
} }
@Test @Test
public void removeFromHold() public void removeFromHold()
{ {
doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold); doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold);
doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN);
doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN);
holdService.removeFromHold(hold, recordFolder); holdService.removeFromHold(hold, recordFolder);
verify(mockedNodeService, times(1)).removeChild(hold, recordFolder); verify(mockedNodeService, times(1)).removeChild(hold, recordFolder);
verify(mockedNodeService, times(1)).removeAspect(recordFolder, ASPECT_FROZEN); verify(mockedNodeService, times(1)).removeAspect(recordFolder, ASPECT_FROZEN);
verify(mockedNodeService, times(1)).removeAspect(record, ASPECT_FROZEN); verify(mockedNodeService, times(1)).removeAspect(record, ASPECT_FROZEN);
} }
@Test @Test
public void removeFromHolds() public void removeFromHolds()
{ {
@@ -459,20 +458,20 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold2); doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold2);
doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN);
doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN);
// build a list of holds // build a list of holds
List<NodeRef> holds = new ArrayList<NodeRef>(2); List<NodeRef> holds = new ArrayList<NodeRef>(2);
holds.add(hold); holds.add(hold);
holds.add(hold2); holds.add(hold2);
holdService.removeFromHolds(holds, recordFolder); holdService.removeFromHolds(holds, recordFolder);
verify(mockedNodeService, times(1)).removeChild(hold, recordFolder); verify(mockedNodeService, times(1)).removeChild(hold, recordFolder);
verify(mockedNodeService, times(1)).removeChild(hold2, recordFolder); verify(mockedNodeService, times(1)).removeChild(hold2, recordFolder);
verify(mockedNodeService, times(1)).removeAspect(recordFolder, ASPECT_FROZEN); verify(mockedNodeService, times(1)).removeAspect(recordFolder, ASPECT_FROZEN);
verify(mockedNodeService, times(1)).removeAspect(record, ASPECT_FROZEN); verify(mockedNodeService, times(1)).removeAspect(record, ASPECT_FROZEN);
} }
@Test @Test
public void removeFromAllHolds() public void removeFromAllHolds()
{ {
@@ -480,7 +479,7 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
List<NodeRef> holds = new ArrayList<NodeRef>(2); List<NodeRef> holds = new ArrayList<NodeRef>(2);
holds.add(hold); holds.add(hold);
holds.add(hold2); holds.add(hold2);
doAnswer(new Answer<Void>() doAnswer(new Answer<Void>()
{ {
public Void answer(InvocationOnMock invocation) public Void answer(InvocationOnMock invocation)
@@ -488,9 +487,9 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
doReturn(Collections.singletonList(hold2)).when(holdService).heldBy(recordFolder, true); doReturn(Collections.singletonList(hold2)).when(holdService).heldBy(recordFolder, true);
return null; return null;
} }
}).when(mockedNodeService).removeChild(hold, recordFolder); }).when(mockedNodeService).removeChild(hold, recordFolder);
doAnswer(new Answer<Void>() doAnswer(new Answer<Void>()
{ {
public Void answer(InvocationOnMock invocation) public Void answer(InvocationOnMock invocation)
@@ -498,23 +497,23 @@ public class HoldServiceImplUnitTest extends BaseUnitTest
doReturn(new ArrayList<NodeRef>()).when(holdService).heldBy(recordFolder, true); doReturn(new ArrayList<NodeRef>()).when(holdService).heldBy(recordFolder, true);
return null; return null;
} }
}).when(mockedNodeService).removeChild(hold2, recordFolder); }).when(mockedNodeService).removeChild(hold2, recordFolder);
// define interactions // define interactions
doReturn(holds).when(holdService).heldBy(recordFolder, true); doReturn(holds).when(holdService).heldBy(recordFolder, true);
doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold); doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold);
doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold2); doReturn(Collections.singletonList(recordFolder)).when(holdService).getHeld(hold2);
doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(recordFolder, ASPECT_FROZEN);
doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN); doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_FROZEN);
// remove record folder from all holds // remove record folder from all holds
holdService.removeFromAllHolds(recordFolder); holdService.removeFromAllHolds(recordFolder);
// verify interactions // verify interactions
verify(mockedNodeService, times(1)).removeChild(hold, recordFolder); verify(mockedNodeService, times(1)).removeChild(hold, recordFolder);
verify(mockedNodeService, times(1)).removeChild(hold2, recordFolder); verify(mockedNodeService, times(1)).removeChild(hold2, recordFolder);
verify(mockedNodeService, times(1)).removeAspect(recordFolder, ASPECT_FROZEN); verify(mockedNodeService, times(1)).removeAspect(recordFolder, ASPECT_FROZEN);
verify(mockedNodeService, times(1)).removeAspect(record, ASPECT_FROZEN); verify(mockedNodeService, times(1)).removeAspect(record, ASPECT_FROZEN);
} }
} }