From 7ac5cb18078542d02b437cd951c61d85391d6db1 Mon Sep 17 00:00:00 2001 From: Lev Belava Date: Wed, 27 Oct 2021 00:55:03 +0200 Subject: [PATCH] ACS-2121 Alfresco repo migration from Mockito 1 to Mockito 3 (#770) --- .../rm-community/rm-community-repo/pom.xml | 2 +- .../DeclareAsVersionRecordActionUnitTest.java | 7 +- .../event/AddToHoldAuditEventUnitTest.java | 14 +-- .../event/CreateHoldAuditEventUnitTest.java | 14 +-- .../event/DeleteHoldAuditEventUnitTest.java | 15 +-- .../RemoveFromHoldAuditEventUnitTest.java | 24 ++--- ...cordsManagementTypeFormFilterUnitTest.java | 17 ++- ...spositionLifecycleJobExecuterUnitTest.java | 23 ++-- .../rma/aspect/FrozenAspectUnitTest.java | 25 ++--- .../rma/aspect/RecordAspectUnitTest.java | 6 +- .../type/NonElectronicRecordTypeUnitTest.java | 8 +- .../hold/BaseHoldWebScriptUnitTest.java | 5 +- .../script/hold/HoldPutUnitTest.java | 10 ++ .../ExtendedSecurityServiceImplUnitTest.java | 25 ++--- .../test/util/AlfMock.java | 5 +- .../test/util/BaseUnitTest.java | 50 ++++----- .../test/util/BaseWebScriptUnitTest.java | 44 ++++---- .../util/MockAuthenticationUtilHelper.java | 21 ++-- .../ContentBinDuplicationUtilityUnitTest.java | 1 + .../RecordableVersionServiceImplUnitTest.java | 100 +++++++----------- .../roles/DynamicAuthoritiesGetUnitTest.java | 11 +- .../rm/rest/api/impl/RMSitesImplUnitTest.java | 22 ++-- pom.xml | 6 -- .../alfresco/util/BeanExtenderUnitTest.java | 8 +- 24 files changed, 205 insertions(+), 258 deletions(-) diff --git a/amps/ags/rm-community/rm-community-repo/pom.xml b/amps/ags/rm-community/rm-community-repo/pom.xml index 6aa8757224..792ca27128 100644 --- a/amps/ags/rm-community/rm-community-repo/pom.xml +++ b/amps/ags/rm-community/rm-community-repo/pom.xml @@ -108,7 +108,7 @@ org.mockito - mockito-all + mockito-core test diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/action/dm/DeclareAsVersionRecordActionUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/action/dm/DeclareAsVersionRecordActionUnitTest.java index ba168375e1..dae312bb16 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/action/dm/DeclareAsVersionRecordActionUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/action/dm/DeclareAsVersionRecordActionUnitTest.java @@ -27,8 +27,9 @@ package org.alfresco.module.org_alfresco_module_rm.action.dm; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -352,7 +353,7 @@ public class DeclareAsVersionRecordActionUnitTest extends BaseActionUnitTest private void setupMockedAspects() { doReturn(true).when(mockedNodeService).exists(actionedUponNodeRef); - doReturn(true).when(mockedDictionaryService).isSubClass(any(QName.class), eq(ContentModel.TYPE_CONTENT)); + doReturn(true).when(mockedDictionaryService).isSubClass(nullable(QName.class), eq(ContentModel.TYPE_CONTENT)); doReturn(true).when(mockedNodeService).hasAspect(actionedUponNodeRef, ContentModel.ASPECT_VERSIONABLE); doReturn(false).when(mockedNodeService).hasAspect(actionedUponNodeRef, ASPECT_RECORD); doReturn(false).when(mockedNodeService).hasAspect(actionedUponNodeRef, ContentModel.ASPECT_WORKING_COPY); diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEventUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEventUnitTest.java index 11159f2d1c..5ebf245fca 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEventUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/AddToHoldAuditEventUnitTest.java @@ -36,15 +36,13 @@ import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; -import java.util.Map; - -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.isNull; +import static org.mockito.ArgumentMatchers.anyMap; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.mockito.MockitoAnnotations.initMocks; /** * Unit tests for {@link AddToHoldAuditEvent}. @@ -67,8 +65,6 @@ public class AddToHoldAuditEventUnitTest extends BaseUnitTest @Before public void setUp() { - initMocks(this); - holdNodeRef = generateNodeRef(); String holdName = "Hold " + GUID.generate(); @@ -87,6 +83,6 @@ public class AddToHoldAuditEventUnitTest extends BaseUnitTest public void testAddToHoldCausesAuditEvent() { addToHoldAuditEvent.onAddToHold(holdNodeRef, contentNodeRef); - verify(mockedRecordsManagementAuditService, times(1)).auditEvent(eq(contentNodeRef), any(String.class), isNull(Map.class), any(Map.class), eq(true), eq(false)); + verify(mockedRecordsManagementAuditService, times(1)).auditEvent(eq(contentNodeRef), nullable(String.class), isNull(), anyMap(), eq(true), eq(false)); } } diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateHoldAuditEventUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateHoldAuditEventUnitTest.java index f41c321fd0..1a9db4222c 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateHoldAuditEventUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateHoldAuditEventUnitTest.java @@ -37,15 +37,13 @@ import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; -import java.util.Map; - -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.isNull; +import static org.mockito.ArgumentMatchers.anyMap; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.mockito.MockitoAnnotations.initMocks; /** * Unit tests for {@link CreateHoldAuditEvent}. @@ -68,8 +66,6 @@ public class CreateHoldAuditEventUnitTest extends BaseUnitTest @Before public void setUp() { - initMocks(this); - holdNodeRef = generateNodeRef(); String holdName = "Hold " + GUID.generate(); String holdReason = "Reason " + GUID.generate(); @@ -88,6 +84,6 @@ public class CreateHoldAuditEventUnitTest extends BaseUnitTest public void testCreateHoldCausesAuditEvent() { createHoldAuditEvent.onCreateNode(childAssociationRef); - verify(mockedRecordsManagementAuditService, times(1)).auditEvent(eq(holdNodeRef), any(String.class), isNull(Map.class), any(Map.class)); + verify(mockedRecordsManagementAuditService, times(1)).auditEvent(eq(holdNodeRef), nullable(String.class), isNull(), anyMap()); } } diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteHoldAuditEventUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteHoldAuditEventUnitTest.java index 8ef99fe9b6..5bebb60b23 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteHoldAuditEventUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteHoldAuditEventUnitTest.java @@ -34,18 +34,15 @@ import org.alfresco.util.GUID; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; -import org.mockito.Matchers; import org.mockito.Mock; -import java.util.Map; - -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.isNull; +import static org.mockito.ArgumentMatchers.anyMap; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.mockito.MockitoAnnotations.initMocks; /** * Unit tests for {@link DeleteHoldAuditEvent}. @@ -67,8 +64,6 @@ public class DeleteHoldAuditEventUnitTest extends BaseUnitTest @Before public void setUp() { - initMocks(this); - holdNodeRef = generateNodeRef(); String holdName = "Hold " + GUID.generate(); @@ -84,6 +79,6 @@ public class DeleteHoldAuditEventUnitTest extends BaseUnitTest { deleteHoldAuditEvent.beforeDeleteNode(holdNodeRef); verify(mockedRecordsManagementAuditService, times(1)) - .auditEvent(eq(holdNodeRef), any(String.class), any(Map.class), isNull(Map.class), Matchers.eq(true), Matchers.eq(false)); + .auditEvent(eq(holdNodeRef), nullable(String.class), anyMap(), isNull(), eq(true), eq(false)); } } diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RemoveFromHoldAuditEventUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RemoveFromHoldAuditEventUnitTest.java index 2ed91b0e96..8b51cd42a2 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RemoveFromHoldAuditEventUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RemoveFromHoldAuditEventUnitTest.java @@ -27,25 +27,24 @@ package org.alfresco.module.org_alfresco_module_rm.audit.event; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.isNull; +import static org.mockito.ArgumentMatchers.anyMap; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.ArgumentMatchers.nullable; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.mockito.MockitoAnnotations.initMocks; - -import java.util.Map; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest; -import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.util.GUID; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; /** * Unit tests for {@link RemoveFromHoldAuditEvent}. @@ -53,6 +52,7 @@ import org.mockito.Mock; * @author Chris Shields * @since 3.3 */ +@RunWith(MockitoJUnitRunner.class) public class RemoveFromHoldAuditEventUnitTest extends BaseUnitTest { @InjectMocks @@ -70,16 +70,14 @@ public class RemoveFromHoldAuditEventUnitTest extends BaseUnitTest @Before public void setUp() { - initMocks(this); - holdNodeRef = generateNodeRef(); String holdName = "Hold " + GUID.generate(); contentNodeRef = generateNodeRef(); String contentName = "Content " + GUID.generate(); - when(mockedNodeService.getProperty(holdNodeRef, PROP_NAME)).thenReturn(holdName); - when(mockedNodeService.getProperty(contentNodeRef, PROP_NAME)).thenReturn(contentName); + lenient().when(mockedNodeService.getProperty(holdNodeRef, PROP_NAME)).thenReturn(holdName); + lenient().when(mockedNodeService.getProperty(contentNodeRef, PROP_NAME)).thenReturn(contentName); } /** @@ -89,7 +87,7 @@ public class RemoveFromHoldAuditEventUnitTest extends BaseUnitTest public void testRemoveFromHoldCausesAuditEvent() { removeFromHoldAuditEvent.onRemoveFromHold(holdNodeRef, contentNodeRef); - verify(mockedRecordsManagementAuditService, times(1)).auditEvent(eq(contentNodeRef), any(String.class), any(Map.class), isNull(Map.class), eq(true)); + verify(mockedRecordsManagementAuditService, times(1)).auditEvent(eq(contentNodeRef), nullable(String.class), anyMap(), isNull(), eq(true)); } } diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementTypeFormFilterUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementTypeFormFilterUnitTest.java index a1ab80a97e..64172ea110 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementTypeFormFilterUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementTypeFormFilterUnitTest.java @@ -28,14 +28,14 @@ package org.alfresco.module.org_alfresco_module_rm.forms; import static org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock.generateQName; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyListOf; -import static org.mockito.Matchers.anyString; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyList; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import java.util.ArrayList; @@ -45,7 +45,6 @@ import java.util.Map; import org.alfresco.module.org_alfresco_module_rm.admin.RecordsManagementAdminService; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest; -import org.alfresco.repo.forms.Field; import org.alfresco.repo.forms.FieldDefinition; import org.alfresco.repo.forms.Form; import org.alfresco.service.cmr.dictionary.DataTypeDefinition; @@ -81,7 +80,7 @@ public class RecordsManagementTypeFormFilterUnitTest extends BaseUnitTest public void testAddCustomRMPropertiesNoneFound() { typeFormFilter.addCustomRMProperties(MY_CUSTOM_TYPE, mockForm); - verifyZeroInteractions(mockForm); + verifyNoMoreInteractions(mockForm); } /** @@ -130,8 +129,8 @@ public class RecordsManagementTypeFormFilterUnitTest extends BaseUnitTest typeFormFilter.afterGenerate(mockTypeDefinition, null, null, mockForm, null); - verify(mockedIdentifierService).generateIdentifier(any(QName.class), any(NodeRef.class)); - verify(idDef).setDefaultValue(anyString()); + verify(mockedIdentifierService).generateIdentifier(nullable(QName.class), nullable(NodeRef.class)); + verify(idDef).setDefaultValue(nullable(String.class)); verify(vrDef).setDefaultValue(Boolean.FALSE.toString()); verify(rpDef).setDefaultValue("none|0"); } @@ -162,7 +161,7 @@ public class RecordsManagementTypeFormFilterUnitTest extends BaseUnitTest typeFormFilter.addCustomRMProperties(MY_CUSTOM_TYPE, mockForm); // ensure that two custom properties have been added to the form - verify(mockForm, times(1)).addFields(anyListOf(Field.class)); + verify(mockForm, times(1)).addFields(anyList()); } /** diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuterUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuterUnitTest.java index 094f26e647..d6c5c44f13 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuterUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/job/DispositionLifecycleJobExecuterUnitTest.java @@ -30,16 +30,16 @@ package org.alfresco.module.org_alfresco_module_rm.job; import static org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock.generateQName; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyMap; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyMap; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; import java.util.Arrays; @@ -57,7 +57,6 @@ import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; -import org.mockito.Matchers; import org.mockito.Mock; import org.mockito.stubbing.Answer; @@ -98,7 +97,7 @@ public class DispositionLifecycleJobExecuterUnitTest extends BaseUnitTest return callback.execute(); }; doAnswer(doInTransactionAnswer).when(mockedRetryingTransactionHelper).doInTransaction(any(RetryingTransactionCallback.class), - Matchers.anyBoolean(), Matchers.anyBoolean()); + anyBoolean(), anyBoolean()); // setup data List dispositionActions = buildList(CUTOFF, RETAIN); @@ -141,7 +140,7 @@ public class DispositionLifecycleJobExecuterUnitTest extends BaseUnitTest verifyQueryTimes(1); // ensure nothing else happens becuase we have no results - verifyZeroInteractions(mockedNodeService, mockedRecordFolderService, mockedRetryingTransactionHelper); + verifyNoMoreInteractions(mockedNodeService, mockedRecordFolderService, mockedRetryingTransactionHelper); } /** @@ -178,7 +177,7 @@ public class DispositionLifecycleJobExecuterUnitTest extends BaseUnitTest // ensure work is executed in transaction for each node processed verify(mockedNodeService, times(2)).exists(any(NodeRef.class)); verify(mockedRetryingTransactionHelper, times(2)).doInTransaction(any(RetryingTransactionCallback.class), - Matchers.anyBoolean(), Matchers.anyBoolean()); + anyBoolean(), anyBoolean()); // ensure each node is process correctly verify(mockedNodeService, times(1)).getProperty(node1, RecordsManagementModel.PROP_DISPOSITION_ACTION); @@ -186,7 +185,7 @@ public class DispositionLifecycleJobExecuterUnitTest extends BaseUnitTest // ensure no more interactions verifyNoMoreInteractions(mockedNodeService); - verifyZeroInteractions(mockedRecordsManagementActionService); + verifyNoMoreInteractions(mockedRecordsManagementActionService); } @@ -216,7 +215,7 @@ public class DispositionLifecycleJobExecuterUnitTest extends BaseUnitTest // ensure no more interactions verifyNoMoreInteractions(mockedNodeService); - verifyZeroInteractions(mockedRecordsManagementActionService); + verifyNoMoreInteractions(mockedRecordsManagementActionService); } /** @@ -258,7 +257,7 @@ public class DispositionLifecycleJobExecuterUnitTest extends BaseUnitTest // ensure work is executed in transaction for each node processed verify(mockedNodeService, times(2)).exists(any(NodeRef.class)); verify(mockedRetryingTransactionHelper, times(2)).doInTransaction(any(RetryingTransactionCallback.class), - Matchers.anyBoolean(), Matchers.anyBoolean()); + anyBoolean(), anyBoolean()); // ensure each node is process correctly // node1 @@ -307,7 +306,7 @@ public class DispositionLifecycleJobExecuterUnitTest extends BaseUnitTest // mock the search service to return the right page when(mockedSearchService.query(any(SearchParameters.class))).thenAnswer((Answer) invocation -> { - SearchParameters params = invocation.getArgumentAt(0, SearchParameters.class); + SearchParameters params = invocation.getArgument(0, SearchParameters.class); if (params.getSkipCount() == 0) { // mock first page diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/FrozenAspectUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/FrozenAspectUnitTest.java index a540751be9..a42a078961 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/FrozenAspectUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/FrozenAspectUnitTest.java @@ -27,17 +27,15 @@ package org.alfresco.module.org_alfresco_module_rm.model.rma.aspect; import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.ASPECT_HELD_CHILDREN; -import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.ASPECT_RECORD; import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel.PROP_HELD_CHILDREN_COUNT; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyMap; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyMap; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; -import java.util.Set; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService; @@ -51,24 +49,22 @@ import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.namespace.QName; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.springframework.context.ApplicationContext; +import org.mockito.junit.MockitoJUnitRunner; /** * Test class for frozen aspect * @author Ross Gale * @since 3.2 */ +@RunWith(MockitoJUnitRunner.class) public class FrozenAspectUnitTest { @Mock private NodeService mockNodeService; - @Mock - private ApplicationContext mockApplicationContext; - @Mock private ChildAssociationRef mockChildAssociationRef; @@ -90,9 +86,6 @@ public class FrozenAspectUnitTest @Mock private ChildAssociationRef mockOldRef; - @Mock - private Set mockSet; - @Mock private PropertyModificationAllowedCheck mockPropertyModificationAllowedCheck; @@ -110,18 +103,17 @@ public class FrozenAspectUnitTest @Before public void setUp() { - MockitoAnnotations.initMocks(this); when(mockNodeService.exists(record)).thenReturn(true); when(mockNodeService.getType(record)).thenReturn(ContentModel.TYPE_CONTENT); when(mockedNodeTypeUtility.instanceOf(mockNodeService.getType(record), ContentModel.TYPE_CONTENT)).thenReturn(true); when(mockNodeService.exists(content)).thenReturn(true); when(mockNodeService.hasAspect(folder, ASPECT_HELD_CHILDREN)).thenReturn(true); when(mockNodeService.getProperty(folder, PROP_HELD_CHILDREN_COUNT)).thenReturn(1); - when(mockApplicationContext.getBean("dbNodeService")).thenReturn(mockNodeService); when(mockFreezeService.isFrozen(content)).thenReturn(false); children.add(mockChildRef); when(mockNodeService.getChildAssocs(content)).thenReturn(children); when(mockChildRef.isPrimary()).thenReturn(true); + frozenAspect.setNodeService(mockNodeService); } /** @@ -142,7 +134,6 @@ public class FrozenAspectUnitTest @Test public void testRemoveAspectForContent() { - when(mockNodeService.hasAspect(content, ASPECT_RECORD)).thenReturn(false); when(mockNodeService.getType(content)).thenReturn(ContentModel.TYPE_CONTENT); when(mockedNodeTypeUtility.instanceOf(mockNodeService.getType(content), ContentModel.TYPE_CONTENT)).thenReturn(true); when(mockNodeService.getPrimaryParent(content)).thenReturn(mockChildAssociationRef); @@ -157,7 +148,6 @@ public class FrozenAspectUnitTest @Test public void testRemoveAspectForContentDoesntUpdateForOtherTypes() { - when(mockNodeService.hasAspect(content, ASPECT_RECORD)).thenReturn(false); when(mockNodeService.getType(content)).thenReturn(ContentModel.TYPE_FOLDER); when(mockedNodeTypeUtility.instanceOf(mockNodeService.getType(content), ContentModel.TYPE_CONTENT)).thenReturn(false); frozenAspect.onRemoveAspect(content, null); @@ -233,7 +223,6 @@ public class FrozenAspectUnitTest @Test(expected = PermissionDeniedException.class) public void testBeforeMoveThrowsExceptionForFrozenNode() { - when(mockOldRef.getParentRef()).thenReturn(parent); when(mockOldRef.getChildRef()).thenReturn(child); when(mockNodeService.exists(child)).thenReturn(true); when(mockFreezeService.isFrozen(child)).thenReturn(true); @@ -247,8 +236,6 @@ public class FrozenAspectUnitTest public void testUpdatePropertiesThrowsExceptionForFrozenNode() { when(mockFreezeService.isFrozen(content)).thenReturn(true); - when(mockResourceHelper.getSet(content)).thenReturn(mockSet); - when(mockSet.contains("frozen")).thenReturn(false); when(mockPropertyModificationAllowedCheck.check(null, null)).thenReturn(false); frozenAspect.onUpdateProperties(content, null, null); } diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspectUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspectUnitTest.java index 1d0683ee30..6ccf47976e 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspectUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspectUnitTest.java @@ -33,7 +33,6 @@ import static org.alfresco.module.org_alfresco_module_rm.model.RecordsManagement import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.mockito.MockitoAnnotations.initMocks; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.security.ExtendedSecurityService; @@ -43,14 +42,17 @@ import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; /** * Unit tests for the {@link RecordAspect}. * * @author Claudia Agache */ +@RunWith(MockitoJUnitRunner.class) public class RecordAspectUnitTest { private static final NodeRef NODE_REF = new NodeRef("node://Ref/"); @@ -72,7 +74,7 @@ public class RecordAspectUnitTest @Before public void setUp() { - initMocks(this); + recordAspect.setNodeService(mockNodeService); } /** Check that the bin is duplicated before adding the aspect if the file has a copy. */ diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/NonElectronicRecordTypeUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/NonElectronicRecordTypeUnitTest.java index 7a7cefca75..1bf8398e77 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/NonElectronicRecordTypeUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/NonElectronicRecordTypeUnitTest.java @@ -45,13 +45,15 @@ import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.util.GUID; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; /** * @author silviudinuta */ +@RunWith(MockitoJUnitRunner.class) public class NonElectronicRecordTypeUnitTest implements RecordsManagementModel, ContentModel { private final static NodeRef CHILD_NODE_REF = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, @@ -74,17 +76,15 @@ public class NonElectronicRecordTypeUnitTest implements RecordsManagementModel, @Before public void setUp() { - MockitoAnnotations.initMocks(this); MockAuthenticationUtilHelper.setup(mockAuthenticationUtil); when(mockedNodeService.exists(CHILD_NODE_REF)).thenReturn(true); - when(mockedNodeService.exists(PARENT_NODE_REF)).thenReturn(true); ChildAssociationRef generateChildAssociationRef = mock(ChildAssociationRef.class); when(generateChildAssociationRef.getParentRef()).thenReturn(PARENT_NODE_REF); - when(generateChildAssociationRef.getChildRef()).thenReturn(CHILD_NODE_REF); when(mockedNodeService.getPrimaryParent(CHILD_NODE_REF)).thenReturn(generateChildAssociationRef); when(mockedNodeService.getType(PARENT_NODE_REF)).thenReturn(TYPE_UNFILED_RECORD_FOLDER); + nonElectronicRecordType.setNodeService(mockedNodeService); } @Test diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/BaseHoldWebScriptUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/BaseHoldWebScriptUnitTest.java index 6f5e079349..8ae9d82269 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/BaseHoldWebScriptUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/BaseHoldWebScriptUnitTest.java @@ -27,6 +27,7 @@ package org.alfresco.module.org_alfresco_module_rm.script.hold; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.when; import java.util.ArrayList; @@ -71,8 +72,8 @@ public abstract class BaseHoldWebScriptUnitTest extends BaseWebScriptUnitTest // generate active content dmNodeRef = generateNodeRef(TYPE_CONTENT); - when(mockedExtendedPermissionService.hasPermission(dmNodeRef, PermissionService.WRITE)).thenReturn(AccessStatus.ALLOWED); - when(mockedDictionaryService.isSubClass(mockedNodeService.getType(dmNodeRef), ContentModel.TYPE_CONTENT)).thenReturn(true); + lenient().when(mockedExtendedPermissionService.hasPermission(dmNodeRef, PermissionService.WRITE)).thenReturn(AccessStatus.ALLOWED); + lenient().when(mockedDictionaryService.isSubClass(mockedNodeService.getType(dmNodeRef), ContentModel.TYPE_CONTENT)).thenReturn(true); // list of active contents activeContents = Collections.singletonList(dmNodeRef); diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/HoldPutUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/HoldPutUnitTest.java index 0e3f91b754..3e52a5b612 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/HoldPutUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/script/hold/HoldPutUnitTest.java @@ -37,9 +37,12 @@ import java.util.List; import org.alfresco.service.cmr.repository.NodeRef; import org.json.JSONObject; +import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Spy; +import org.mockito.junit.MockitoJUnitRunner; import org.springframework.extensions.webscripts.DeclarativeWebScript; /** @@ -48,6 +51,7 @@ import org.springframework.extensions.webscripts.DeclarativeWebScript; * @author Roy Wetherall * @since 2.2 */ +@RunWith(MockitoJUnitRunner.class) public class HoldPutUnitTest extends BaseHoldWebScriptWithContentUnitTest { /** classpath location of ftl template for web script */ @@ -77,6 +81,12 @@ public class HoldPutUnitTest extends BaseHoldWebScriptWithContentUnitTest /** * Test that a record can be removed from holds. */ + + @Before + public void setUp(){ + webScript.setHoldService(mockedHoldService); + } + @SuppressWarnings("unchecked") @Test public void removeRecordFromHolds() throws Exception diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImplUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImplUnitTest.java index 13f7c5f9b1..37e41ef70f 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImplUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImplUnitTest.java @@ -34,11 +34,12 @@ import static org.alfresco.service.cmr.security.PermissionService.GROUP_PREFIX; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anySet; -import static org.mockito.Matchers.anyString; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anySet; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -75,10 +76,11 @@ import org.alfresco.service.namespace.RegexQNamePattern; import org.alfresco.service.transaction.TransactionService; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; import org.mockito.invocation.InvocationOnMock; +import org.mockito.junit.MockitoJUnitRunner; import org.mockito.stubbing.Answer; import org.springframework.context.ApplicationContext; import org.springframework.context.event.ContextRefreshedEvent; @@ -89,6 +91,7 @@ import org.springframework.context.event.ContextRefreshedEvent; * @author Roy Wetherall * @since 2.5 */ +@RunWith(MockitoJUnitRunner.class) public class ExtendedSecurityServiceImplUnitTest { /** service mocks*/ @@ -145,9 +148,6 @@ public class ExtendedSecurityServiceImplUnitTest @SuppressWarnings("unchecked") @Before public void before() { - // initialise mocks - MockitoAnnotations.initMocks(this); - // setup node nodeRef = AlfMock.generateNodeRef(mockedNodeService); @@ -157,7 +157,7 @@ public class ExtendedSecurityServiceImplUnitTest .thenReturn(filePlan); // set-up application context - when(mockedApplicationContext.getBean("dbNodeService")) + lenient().when(mockedApplicationContext.getBean("dbNodeService")) .thenReturn(mockedNodeService); // setup retrying transaction helper @@ -199,6 +199,7 @@ public class ExtendedSecurityServiceImplUnitTest .forEach((a) -> when(mockedAuthorityService.authorityExists(a)) .thenReturn(true)); + extendedSecurityService.setNodeService(mockedNodeService); } /** @@ -481,7 +482,7 @@ public class ExtendedSecurityServiceImplUnitTest .thenReturn(mockedWritePagingResults); // setup exact match - when(mockedAuthorityService.authorityExists(GROUP_PREFIX + writeGroup)) + lenient().when(mockedAuthorityService.authorityExists(GROUP_PREFIX + writeGroup)) .thenReturn(true); when(mockedAuthorityService.getContainedAuthorities(null, GROUP_PREFIX + readGroup, true)) .thenReturn(Stream @@ -560,7 +561,7 @@ public class ExtendedSecurityServiceImplUnitTest .thenReturn(mockedWritePagingResults); // setup exact match - when(mockedAuthorityService.authorityExists(GROUP_PREFIX + writeGroup)) + lenient().when(mockedAuthorityService.authorityExists(GROUP_PREFIX + writeGroup)) .thenReturn(true); when(mockedAuthorityService.getContainedAuthorities(null, GROUP_PREFIX + readGroup, true)) .thenReturn(Stream @@ -651,7 +652,7 @@ public class ExtendedSecurityServiceImplUnitTest .thenReturn(mockedWritePagingResults); // setup exact match - when(mockedAuthorityService.authorityExists(GROUP_PREFIX + writeGroup)) + lenient().when(mockedAuthorityService.authorityExists(GROUP_PREFIX + writeGroup)) .thenReturn(true); when(mockedAuthorityService.getContainedAuthorities(null, GROUP_PREFIX + readGroup, true)) .thenReturn(Stream diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/AlfMock.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/AlfMock.java index 787072a541..d04aeb7557 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/AlfMock.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/AlfMock.java @@ -27,8 +27,9 @@ package org.alfresco.module.org_alfresco_module_rm.test.util; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.when; import java.util.UUID; @@ -119,7 +120,7 @@ public class AlfMock public static NodeRef generateNodeRef(NodeService mockedNodeService, QName type, boolean exists) { NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, GUID.generate()); - when(mockedNodeService.exists(eq(nodeRef))).thenReturn(exists); + lenient().when(mockedNodeService.exists(eq(nodeRef))).thenReturn(exists); if (type != null) { when(mockedNodeService.getType(eq(nodeRef))).thenReturn(type); diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseUnitTest.java index 0c231a23c5..c021960016 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseUnitTest.java @@ -28,10 +28,10 @@ package org.alfresco.module.org_alfresco_module_rm.test.util; import static org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock.generateQName; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.doAnswer; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -168,7 +168,7 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel MockitoAnnotations.initMocks(this); // setup application context - doReturn(mockedNodeService).when(mockedApplicationContext).getBean("dbNodeService"); + lenient().doReturn(mockedNodeService).when(mockedApplicationContext).getBean("dbNodeService"); // setup retrying transaction helper Answer doInTransactionAnswer = new Answer() @@ -181,7 +181,7 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel return callback.execute(); } }; - doAnswer(doInTransactionAnswer).when(mockedRetryingTransactionHelper).doInTransaction(any(RetryingTransactionCallback.class)); + lenient().doAnswer(doInTransactionAnswer).when(mockedRetryingTransactionHelper).doInTransaction(any(RetryingTransactionCallback.class)); // setup mocked authentication util MockAuthenticationUtilHelper.setup(mockedAuthenticationUtil); @@ -189,15 +189,15 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel // setup file plan filePlan = generateNodeRef(TYPE_FILE_PLAN); setupAsFilePlanComponent(filePlan); - doReturn(true).when(mockedFilePlanService).isFilePlan(filePlan); + lenient().doReturn(true).when(mockedFilePlanService).isFilePlan(filePlan); // setup basic file plan component filePlanComponent = generateNodeRef(); setupAsFilePlanComponent(filePlanComponent); // setup namespace service - doReturn(RM_URI).when(mockedNamespaceService).getNamespaceURI(RM_PREFIX); - doReturn(CollectionUtils.unmodifiableSet(RM_PREFIX)).when(mockedNamespaceService).getPrefixes(RM_URI); + lenient().doReturn(RM_URI).when(mockedNamespaceService).getNamespaceURI(RM_PREFIX); + lenient().doReturn(CollectionUtils.unmodifiableSet(RM_PREFIX)).when(mockedNamespaceService).getPrefixes(RM_URI); // setup record folder and record recordFolder = generateRecordFolder(); @@ -206,10 +206,10 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel // set record as child of record folder List result = new ArrayList<>(1); result.add(new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, recordFolder, generateQName(RM_URI), record, true, 1)); - doReturn(result).when(mockedNodeService).getChildAssocs(eq(recordFolder), eq(ContentModel.ASSOC_CONTAINS), any(QNamePattern.class)); - doReturn(result).when(mockedNodeService).getParentAssocs(record); - doReturn(Collections.singletonList(recordFolder)).when(mockedRecordFolderService).getRecordFolders(record); - doReturn(Collections.singletonList(record)).when(mockedRecordService).getRecords(recordFolder); + lenient().doReturn(result).when(mockedNodeService).getChildAssocs(eq(recordFolder), eq(ContentModel.ASSOC_CONTAINS), any(QNamePattern.class)); + lenient().doReturn(result).when(mockedNodeService).getParentAssocs(record); + lenient().doReturn(Collections.singletonList(recordFolder)).when(mockedRecordFolderService).getRecordFolders(record); + lenient().doReturn(Collections.singletonList(record)).when(mockedRecordService).getRecords(recordFolder); } /** @@ -221,7 +221,7 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel protected NodeRef generateHoldNodeRef(String name) { NodeRef hold = generateNodeRef(TYPE_HOLD); - doReturn(name).when(mockedNodeService).getProperty(hold, ContentModel.PROP_NAME); + lenient().doReturn(name).when(mockedNodeService).getProperty(hold, ContentModel.PROP_NAME); doReturn(true).when(mockedHoldService).isHold(hold); return hold; } @@ -235,7 +235,7 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel { NodeRef recordFolder = generateNodeRef(TYPE_RECORD_FOLDER); setupAsFilePlanComponent(recordFolder); - doReturn(true).when(mockedRecordFolderService).isRecordFolder(recordFolder); + lenient().doReturn(true).when(mockedRecordFolderService).isRecordFolder(recordFolder); return recordFolder; } @@ -248,8 +248,8 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel { NodeRef record = generateNodeRef(ContentModel.TYPE_CONTENT); setupAsFilePlanComponent(record); - doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_RECORD); - doReturn(true).when(mockedRecordService).isRecord(record); + lenient().doReturn(true).when(mockedNodeService).hasAspect(record, ASPECT_RECORD); + lenient().doReturn(true).when(mockedRecordService).isRecord(record); return record; } @@ -260,10 +260,10 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel */ protected void setupAsFilePlanComponent(NodeRef nodeRef) { - doReturn(true).when(mockedNodeService).hasAspect(nodeRef, ASPECT_FILE_PLAN_COMPONENT); - doReturn(true).when(mockedFilePlanService).isFilePlanComponent(nodeRef); - doReturn(filePlan).when(mockedFilePlanService).getFilePlan(nodeRef); - doReturn(filePlan).when(mockedNodeService).getProperty(nodeRef, PROP_ROOT_NODEREF); + lenient().doReturn(true).when(mockedNodeService).hasAspect(nodeRef, ASPECT_FILE_PLAN_COMPONENT); + lenient().doReturn(true).when(mockedFilePlanService).isFilePlanComponent(nodeRef); + lenient().doReturn(filePlan).when(mockedFilePlanService).getFilePlan(nodeRef); + lenient().doReturn(filePlan).when(mockedNodeService).getProperty(nodeRef, PROP_ROOT_NODEREF); } /** @@ -297,7 +297,7 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel protected NodeRef generateCmContent(String name) { NodeRef nodeRef = generateNodeRef(ContentModel.TYPE_CONTENT, true); - doReturn(name).when(mockedNodeService).getProperty(nodeRef, ContentModel.PROP_NAME); + lenient().doReturn(name).when(mockedNodeService).getProperty(nodeRef, ContentModel.PROP_NAME); return nodeRef; } @@ -312,11 +312,11 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel protected NodeRef generateNodeRef(QName type, boolean exists) { NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, GUID.generate()); - when(mockedNodeService.exists(eq(nodeRef))).thenReturn(exists); + lenient().when(mockedNodeService.exists(eq(nodeRef))).thenReturn(exists); if (type != null) { - when(mockedNodeService.getType(eq(nodeRef))).thenReturn(type); - when(mockedNodeTypeUtility.instanceOf(type, type)).thenReturn(true); + lenient().when(mockedNodeService.getType(eq(nodeRef))).thenReturn(type); + lenient().when(mockedNodeTypeUtility.instanceOf(type, type)).thenReturn(true); } return nodeRef; } @@ -334,7 +334,7 @@ public class BaseUnitTest implements RecordsManagementModel, ContentModel if (parent != null) { - doReturn(parent).when(mockedChildAssociationRef).getParentRef(); + lenient().doReturn(parent).when(mockedChildAssociationRef).getParentRef(); } if (child != null) diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseWebScriptUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseWebScriptUnitTest.java index d9bbfa1de7..b8505c70d0 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseWebScriptUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/BaseWebScriptUnitTest.java @@ -29,10 +29,12 @@ package org.alfresco.module.org_alfresco_module_rm.test.util; import static java.util.Collections.emptyMap; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -179,19 +181,19 @@ public abstract class BaseWebScriptUnitTest extends BaseUnitTest org.springframework.extensions.webscripts.Runtime mockedRuntime = mock(org.springframework.extensions.webscripts.Runtime.class); WebScriptRequest mockedRequest = mock(WebScriptRequest.class); - doReturn(match).when(mockedRequest).getServiceMatch(); - doReturn(mockedRuntime).when(mockedRequest).getRuntime(); + lenient().doReturn(match).when(mockedRequest).getServiceMatch(); + lenient().doReturn(mockedRuntime).when(mockedRequest).getRuntime(); if (content != null && !content.isEmpty()) { Content mockedContent = mock(Content.class); - doReturn(content).when(mockedContent).getContent(); - doReturn(mockedContent).when(mockedRequest).getContent(); + lenient().doReturn(content).when(mockedContent).getContent(); + lenient().doReturn(mockedContent).when(mockedRequest).getContent(); } String [] paramNames = (String[])parameters.keySet().toArray(new String[parameters.size()]); - doReturn(paramNames).when(mockedRequest).getParameterNames(); - doAnswer(new Answer() + lenient().doReturn(paramNames).when(mockedRequest).getParameterNames(); + lenient().doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable @@ -201,9 +203,9 @@ public abstract class BaseWebScriptUnitTest extends BaseUnitTest } }).when(mockedRequest).getParameter(anyString()); - - doReturn(new String[0]).when(mockedRequest).getHeaderNames(); - doReturn("json").when(mockedRequest).getFormat(); + + lenient().doReturn(new String[0]).when(mockedRequest).getHeaderNames(); + lenient().doReturn("json").when(mockedRequest).getFormat(); return mockedRequest; } @@ -217,7 +219,7 @@ public abstract class BaseWebScriptUnitTest extends BaseUnitTest { WebScriptResponse mockedResponse = mock(WebScriptResponse.class); StringWriter writer = new StringWriter(); - doReturn(writer).when(mockedResponse).getWriter(); + lenient().doReturn(writer).when(mockedResponse).getWriter(); return mockedResponse; } @@ -230,13 +232,13 @@ public abstract class BaseWebScriptUnitTest extends BaseUnitTest protected Container getMockedContainer(String template) throws Exception { FormatRegistry mockedFormatRegistry = mock(FormatRegistry.class); - doReturn("application/json").when(mockedFormatRegistry).getMimeType(anyString(), anyString()); + lenient().doReturn("application/json").when(mockedFormatRegistry).getMimeType(nullable(String.class), nullable(String.class)); ScriptProcessorRegistry mockedScriptProcessorRegistry = mock(ScriptProcessorRegistry.class); - doReturn(null).when(mockedScriptProcessorRegistry).findValidScriptPath(anyString()); + lenient().doReturn(null).when(mockedScriptProcessorRegistry).findValidScriptPath(anyString()); TemplateProcessorRegistry mockedTemplateProcessorRegistry = mock(TemplateProcessorRegistry.class); - doReturn(template).when(mockedTemplateProcessorRegistry).findValidTemplatePath(anyString()); + lenient().doReturn(template).when(mockedTemplateProcessorRegistry).findValidTemplatePath(anyString()); FTLTemplateProcessor ftlTemplateProcessor = new FTLTemplateProcessor() { @@ -248,25 +250,25 @@ public abstract class BaseWebScriptUnitTest extends BaseUnitTest }; ftlTemplateProcessor.init(); - doReturn(ftlTemplateProcessor).when(mockedTemplateProcessorRegistry).getTemplateProcessor(anyString()); + lenient().doReturn(ftlTemplateProcessor).when(mockedTemplateProcessorRegistry).getTemplateProcessor(anyString()); Container mockedContainer = mock(Container.class); - doReturn(mockedFormatRegistry).when(mockedContainer).getFormatRegistry(); - doReturn(mockedScriptProcessorRegistry).when(mockedContainer).getScriptProcessorRegistry(); - doReturn(mockedTemplateProcessorRegistry).when(mockedContainer).getTemplateProcessorRegistry(); + lenient().doReturn(mockedFormatRegistry).when(mockedContainer).getFormatRegistry(); + lenient().doReturn(mockedScriptProcessorRegistry).when(mockedContainer).getScriptProcessorRegistry(); + lenient().doReturn(mockedTemplateProcessorRegistry).when(mockedContainer).getTemplateProcessorRegistry(); Map containerTemplateParameters = new HashMap<>(5); containerTemplateParameters.put("jsonUtils", new JSONUtils()); containerTemplateParameters.put("people", getMockedPeopleObject()); - doReturn(containerTemplateParameters).when(mockedContainer).getTemplateParameters(); + lenient().doReturn(containerTemplateParameters).when(mockedContainer).getTemplateParameters(); SearchPath mockedSearchPath = mock(SearchPath.class); - doReturn(false).when(mockedSearchPath).hasDocument(anyString()); - doReturn(mockedSearchPath).when(mockedContainer).getSearchPath(); + lenient().doReturn(false).when(mockedSearchPath).hasDocument(anyString()); + lenient().doReturn(mockedSearchPath).when(mockedContainer).getSearchPath(); // setup description Description mockDescription = mock(Description.class); - doReturn(mock(RequiredCache.class)).when(mockDescription).getRequiredCache(); + lenient().doReturn(mock(RequiredCache.class)).when(mockDescription).getRequiredCache(); return mockedContainer; } diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/MockAuthenticationUtilHelper.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/MockAuthenticationUtilHelper.java index f8b4e3b2a0..fd73ae4176 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/MockAuthenticationUtilHelper.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/util/MockAuthenticationUtilHelper.java @@ -27,11 +27,10 @@ package org.alfresco.module.org_alfresco_module_rm.test.util; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.doAnswer; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.when; import org.alfresco.module.org_alfresco_module_rm.util.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; @@ -74,7 +73,7 @@ public class MockAuthenticationUtilHelper reset(mockAuthenticationUtil); // just do the work - doAnswer(new Answer() + lenient().doAnswer(new Answer() { @SuppressWarnings("rawtypes") @Override @@ -87,7 +86,7 @@ public class MockAuthenticationUtilHelper }).when(mockAuthenticationUtil). runAsSystem(any(RunAsWork.class)); // just do the work - doAnswer(new Answer() + lenient().doAnswer(new Answer() { @SuppressWarnings("rawtypes") @Override @@ -99,10 +98,10 @@ public class MockAuthenticationUtilHelper }).when(mockAuthenticationUtil). runAs(any(RunAsWork.class), anyString()); - when(mockAuthenticationUtil.getAdminUserName()).thenReturn(ADMIN_USER); - when(mockAuthenticationUtil.getFullyAuthenticatedUser()).thenReturn(fullyAuthenticatedUser); - when(mockAuthenticationUtil.getRunAsUser()).thenReturn(fullyAuthenticatedUser); - when(mockAuthenticationUtil.getSystemUserName()).thenReturn(SYSTEM_USER); - when(mockAuthenticationUtil.getGuestUserName()).thenReturn(GUEST_USER); + lenient().when(mockAuthenticationUtil.getAdminUserName()).thenReturn(ADMIN_USER); + lenient().when(mockAuthenticationUtil.getFullyAuthenticatedUser()).thenReturn(fullyAuthenticatedUser); + lenient().when(mockAuthenticationUtil.getRunAsUser()).thenReturn(fullyAuthenticatedUser); + lenient().when(mockAuthenticationUtil.getSystemUserName()).thenReturn(SYSTEM_USER); + lenient().when(mockAuthenticationUtil.getGuestUserName()).thenReturn(GUEST_USER); } } diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/util/ContentBinDuplicationUtilityUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/util/ContentBinDuplicationUtilityUnitTest.java index 5e2674dacb..9023a0b9eb 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/util/ContentBinDuplicationUtilityUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/util/ContentBinDuplicationUtilityUnitTest.java @@ -87,6 +87,7 @@ public class ContentBinDuplicationUtilityUnitTest public void setUp() { MockitoAnnotations.initMocks(this); + contentBinDuplicationUtility.setNodeService(mockNodeService); } /** diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionServiceImplUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionServiceImplUnitTest.java index 07de63a294..868f509246 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionServiceImplUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionServiceImplUnitTest.java @@ -29,10 +29,11 @@ package org.alfresco.module.org_alfresco_module_rm.version; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyMap; -import static org.mockito.Matchers.anyString; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyMap; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -52,7 +53,6 @@ import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest; import org.alfresco.repo.version.Version2Model; import org.alfresco.repo.version.VersionModel; import org.alfresco.repo.version.common.VersionImpl; -import org.alfresco.service.cmr.model.FileInfo; import org.alfresco.service.cmr.repository.ContentReader; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; @@ -61,9 +61,11 @@ import org.alfresco.service.cmr.version.VersionType; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; +import org.mockito.junit.MockitoJUnitRunner; /** * Recordable version service implementation unit test. @@ -71,6 +73,7 @@ import org.mockito.Spy; * @author Roy Wetherall * @since 2.3 */ +@RunWith(MockitoJUnitRunner.class) public class RecordableVersionServiceImplUnitTest extends BaseUnitTest { /** versioned content name */ @@ -108,34 +111,23 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest recordableVersionService.initialise(); doReturn(generateChildAssociationRef(null, generateNodeRef(Version2Model.TYPE_QNAME_VERSION_HISTORY))) - .when(mockedDbNodeService).createNode(any(NodeRef.class), - any(QName.class), - any(QName.class), + .when(mockedDbNodeService).createNode(nullable(NodeRef.class), + nullable(QName.class), + nullable(QName.class), eq(Version2Model.TYPE_QNAME_VERSION_HISTORY), - anyMap()); - doReturn(generateChildAssociationRef(null, generateNodeRef(TYPE_CONTENT))) - .when(mockedDbNodeService).createNode(any(NodeRef.class), - any(QName.class), - any(QName.class), - eq(TYPE_CONTENT), - anyMap()); + nullable(Map.class)); doReturn(filePlan).when(mockedFilePlanService).getFilePlanBySiteId(FilePlanService.DEFAULT_RM_SITE_ID); - doReturn(unfiledRecordContainer).when(mockedFilePlanService).getUnfiledContainer(any(NodeRef.class)); record = generateCmContent(CONTENT_NAME); - FileInfo mockedFileInfo = mock(FileInfo.class); - doReturn(record).when(mockedFileInfo).getNodeRef(); - doReturn(mockedFileInfo).when(mockedFileFolderService).copy(any(NodeRef.class), - any(NodeRef.class), - any(String.class)); version = generateNodeRef(TYPE_CONTENT); doReturn(generateChildAssociationRef(null, version)).when(mockedDbNodeService).createNode( - any(NodeRef.class), + nullable(NodeRef.class), eq(Version2Model.CHILD_QNAME_VERSIONS), - any(QName.class), + nullable(QName.class), eq(TYPE_CONTENT), - anyMap()); + nullable(Map.class)); + recordableVersionService.setDbNodeService(mockedDbNodeService); } /** @@ -167,7 +159,6 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest { // setup given conditions doReturn(false).when(mockedNodeService).hasAspect(nodeRef, RecordableVersionModel.ASPECT_VERSIONABLE); - doReturn(null).when(mockedNodeService).getProperty(nodeRef, RecordableVersionModel.PROP_RECORDABLE_VERSION_POLICY); versionProperties.put(VersionModel.PROP_VERSION_TYPE, VersionType.MINOR); // when version is created @@ -357,7 +348,6 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest public void filePlanSpecifiedNoPolicy() throws Exception { // setup given conditions - doReturn(true).when(mockedNodeService).hasAspect(nodeRef, RecordableVersionModel.ASPECT_VERSIONABLE); versionProperties.put(VersionModel.PROP_VERSION_TYPE, VersionType.MAJOR); versionProperties.put(RecordableVersionServiceImpl.KEY_RECORDABLE_VERSION, true); @@ -376,7 +366,6 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest public void adHocRecordedVersionNoPolicy() throws Exception { // setup given conditions - doReturn(true).when(mockedNodeService).hasAspect(nodeRef, RecordableVersionModel.ASPECT_VERSIONABLE); versionProperties.put(VersionModel.PROP_VERSION_TYPE, VersionType.MAJOR); versionProperties.put(RecordableVersionServiceImpl.KEY_RECORDABLE_VERSION, true); @@ -391,8 +380,6 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest public void adHocRecordedVersionOverridePolicy() throws Exception { // setup given conditions - doReturn(true).when(mockedNodeService).hasAspect(nodeRef, RecordableVersionModel.ASPECT_VERSIONABLE); - doReturn(RecordableVersionPolicy.MAJOR_ONLY.toString()).when(mockedNodeService).getProperty(nodeRef, RecordableVersionModel.PROP_RECORDABLE_VERSION_POLICY); versionProperties.put(VersionModel.PROP_VERSION_TYPE, VersionType.MINOR); versionProperties.put(RecordableVersionServiceImpl.KEY_RECORDABLE_VERSION, true); @@ -461,16 +448,15 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest // latest version is not recorded Version mockedVersion = mock(VersionImpl.class); NodeRef versionNodeRef = generateNodeRef(); - doReturn(Collections.emptyMap()).when(mockedVersion).getVersionProperties(); doReturn(true).when(mockedNodeService).hasAspect(nodeRef, ContentModel.ASPECT_VERSIONABLE); // version history NodeRef versionHistoryNodeRef = generateNodeRef(); - doReturn(versionHistoryNodeRef).when(mockedDbNodeService).getChildByName(any(NodeRef.class), eq(Version2Model.CHILD_QNAME_VERSION_HISTORIES), any(String.class)); + doReturn(versionHistoryNodeRef).when(mockedDbNodeService).getChildByName(nullable(NodeRef.class), eq(Version2Model.CHILD_QNAME_VERSION_HISTORIES), nullable(String.class)); // version number doReturn(mockedVersion).when(recordableVersionService).getCurrentVersion(nodeRef); - doReturn(versionNodeRef).when(recordableVersionService).convertNodeRef(any(NodeRef.class)); + doReturn(versionNodeRef).when(recordableVersionService).convertNodeRef(nullable(NodeRef.class)); makePrimaryParentOf(versionNodeRef, versionHistoryNodeRef, ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "something-0"), mockedDbNodeService); // created version @@ -478,36 +464,36 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest doReturn(generateChildAssociationRef(versionHistoryNodeRef, newVersionNodeRef)).when(mockedDbNodeService).createNode( eq(versionHistoryNodeRef), eq(Version2Model.CHILD_QNAME_VERSIONS), - any(QName.class), - any(QName.class), - any(Map.class)); + nullable(QName.class), + nullable(QName.class), + nullable(Map.class)); // created record NodeRef newRecordNodeRef = generateNodeRef(); doReturn(newRecordNodeRef).when(mockedRecordService).createRecordFromContent( - eq(filePlan), - any(String.class), - any(QName.class), - any(Map.class), - any(ContentReader.class)); + eq(filePlan), + nullable(String.class), + nullable(QName.class), + nullable(Map.class), + nullable(ContentReader.class)); // create record from version recordableVersionService.createRecordFromLatestVersion(filePlan, nodeRef); // verify that the version is converted to a recorded version verify(mockedRecordService, times(1)).createRecordFromContent( - eq(filePlan), - any(String.class), - any(QName.class), - any(Map.class), - any(ContentReader.class)); + eq(filePlan), + nullable(String.class), + nullable(QName.class), + any(Map.class), + nullable(ContentReader.class)); verify(mockedDbNodeService, times(1)).deleteNode(any(NodeRef.class)); verify(mockedDbNodeService, times(1)).createNode( eq(versionHistoryNodeRef), eq(Version2Model.CHILD_QNAME_VERSIONS), - any(QName.class), - any(QName.class), - any(Map.class)); + nullable(QName.class), + nullable(QName.class), + nullable(Map.class)); verify(mockedNodeService, times(1)).addAspect(eq(newVersionNodeRef), eq(Version2Model.ASPECT_VERSION), any(Map.class)); verify(mockedNodeService, times(1)).addAspect( newVersionNodeRef, @@ -605,20 +591,13 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest // set up version Version mockedVersion = mock(VersionImpl.class); NodeRef versionNodeRef = generateNodeRef(); - NodeRef versionRecordNodeRef = generateNodeRef(); when(mockedVersion.getFrozenStateNodeRef()) .thenReturn(versionNodeRef); - when(mockedDbNodeService.exists(versionRecordNodeRef)) - .thenReturn(true); - + // indicate that the version doesn't have the aspect when(mockedDbNodeService.hasAspect(versionNodeRef, RecordableVersionModel.ASPECT_RECORDED_VERSION)) .thenReturn(true); - // indicate that the associated version record exists - when(mockedDbNodeService.getProperty(versionNodeRef, RecordableVersionModel.PROP_RECORD_NODE_REF)) - .thenReturn(versionRecordNodeRef); - // mark as destroyed recordableVersionService.destroyRecordedVersion(mockedVersion); @@ -643,20 +622,13 @@ public class RecordableVersionServiceImplUnitTest extends BaseUnitTest // set up version Version mockedVersion = mock(VersionImpl.class); NodeRef versionNodeRef = generateNodeRef(); - NodeRef versionRecordNodeRef = generateNodeRef(); when(mockedVersion.getFrozenStateNodeRef()) .thenReturn(versionNodeRef); - when(mockedDbNodeService.exists(versionRecordNodeRef)) - .thenReturn(false); - + // indicate that the version doesn't have the aspect when(mockedDbNodeService.hasAspect(versionNodeRef, RecordableVersionModel.ASPECT_RECORDED_VERSION)) .thenReturn(true); - // indicate that the associated version record exists - when(mockedDbNodeService.getProperty(versionNodeRef, RecordableVersionModel.PROP_RECORD_NODE_REF)) - .thenReturn(versionRecordNodeRef); - // mark as destroyed recordableVersionService.destroyRecordedVersion(mockedVersion); diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/repo/web/scripts/roles/DynamicAuthoritiesGetUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/repo/web/scripts/roles/DynamicAuthoritiesGetUnitTest.java index 7f0c280a36..e1a01c8240 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/repo/web/scripts/roles/DynamicAuthoritiesGetUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/repo/web/scripts/roles/DynamicAuthoritiesGetUnitTest.java @@ -33,10 +33,11 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyBoolean; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -562,7 +563,7 @@ public class DynamicAuthoritiesGetUnitTest extends BaseWebScriptUnitTest impleme executeWebScript(parameters); verify(contentStreamer, times(1)).streamContent(any(WebScriptRequest.class), any(WebScriptResponse.class), - csvFileCaptor.capture(), any(Long.class), any(Boolean.class), any(String.class), any(Map.class)); + csvFileCaptor.capture(), nullable(Long.class), any(Boolean.class), any(String.class), any(Map.class)); File fileForDownload = csvFileCaptor.getValue(); assertNotNull(fileForDownload); diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMSitesImplUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMSitesImplUnitTest.java index ca703a5dd9..220c667d5d 100644 --- a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMSitesImplUnitTest.java +++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/impl/RMSitesImplUnitTest.java @@ -28,8 +28,9 @@ package org.alfresco.rm.rest.api.impl; import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -41,7 +42,6 @@ import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest; -import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.rest.api.impl.SiteImportPackageHandler; import org.alfresco.rest.api.model.Site; import org.alfresco.rest.api.model.SiteUpdate; @@ -59,10 +59,11 @@ import org.alfresco.service.cmr.view.Location; import org.alfresco.service.namespace.QName; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; /** * Unit Test class for RMSitesImpl. @@ -71,6 +72,7 @@ import org.mockito.MockitoAnnotations; * @since 2.6 * */ +@RunWith(MockitoJUnitRunner.class) public class RMSitesImplUnitTest extends BaseUnitTest { private static final String RM_SITE_TITLE_AFTER_UPDATE = "Updated Title"; @@ -86,8 +88,6 @@ public class RMSitesImplUnitTest extends BaseUnitTest @Mock private SiteService mockedSiteService; @Mock - AuthenticationUtil mockAuthenticationUtil; - @Mock private ImporterService mockedImporterService; @Mock private FavouritesService mockedFavouritesService; @@ -95,7 +95,6 @@ public class RMSitesImplUnitTest extends BaseUnitTest @Before public void before() { - MockitoAnnotations.initMocks(this); } @Test @@ -138,7 +137,7 @@ public class RMSitesImplUnitTest extends BaseUnitTest verify(mockedImporterService, times(1)).importView(any(SiteImportPackageHandler.class), any(Location.class), any(ImporterBinding.class), eq(null)); verify(mockedSiteService, times(1)).createContainer(RM_SITE_ID, SiteService.DOCUMENT_LIBRARY, ContentModel.TYPE_FOLDER, null); - verify(mockedFavouritesService, times(1)).addFavourite(any(String.class), any(NodeRef.class)); + verify(mockedFavouritesService, times(1)).addFavourite(nullable(String.class), any(NodeRef.class)); //verify returned values for RM site are the right ones assertEquals(RMSiteCompliance.STANDARD, createdRMSite.getCompliance()); @@ -191,7 +190,7 @@ public class RMSitesImplUnitTest extends BaseUnitTest verify(mockedImporterService, times(1)).importView(any(SiteImportPackageHandler.class), any(Location.class), any(ImporterBinding.class), eq(null)); verify(mockedSiteService, times(1)).createContainer(RM_SITE_ID, SiteService.DOCUMENT_LIBRARY, ContentModel.TYPE_FOLDER, null); - verify(mockedFavouritesService, times(1)).addFavourite(any(String.class), any(NodeRef.class)); + verify(mockedFavouritesService, times(1)).addFavourite(nullable(String.class), any(NodeRef.class)); //verify returned values for RM site are the right ones assertEquals(RMSiteCompliance.DOD5015, createdRMSite.getCompliance()); @@ -253,13 +252,12 @@ public class RMSitesImplUnitTest extends BaseUnitTest when(mockedNodeService.getType(siteNodeRef)).thenReturn(RecordsManagementModel.TYPE_RM_SITE); when(mockedSiteService.getSite(siteId)).thenReturn(mockedSiteInfo); - when(mockedSiteService.getMembersRole(eq(siteId), any(String.class))).thenReturn(RM_SITE_MANAGER_ROLE); + when(mockedSiteService.getMembersRole(eq(siteId), nullable(String.class))).thenReturn(RM_SITE_MANAGER_ROLE); //mock UpdateSite SiteUpdate mockedSiteUpdate= mock(SiteUpdate.class); when(mockedSiteUpdate.getDescription()).thenReturn(RM_SITE_DESCRIPTION_AFTER_UPDATE); when(mockedSiteUpdate.getTitle()).thenReturn(RM_SITE_TITLE_AFTER_UPDATE); - when(mockedSiteUpdate.getVisibility()).thenReturn(null); when(mockedSiteUpdate.wasSet(Site.TITLE)).thenReturn(true); when(mockedSiteUpdate.wasSet(Site.DESCRIPTION)).thenReturn(true); @@ -309,7 +307,7 @@ public class RMSitesImplUnitTest extends BaseUnitTest when(mockedNodeService.getType(siteNodeRef)).thenReturn(RecordsManagementModel.TYPE_RM_SITE); when(mockedSiteService.getSite(siteId)).thenReturn(mockedSiteInfo); - when(mockedSiteService.getMembersRole(eq(siteId), any(String.class))).thenReturn(RM_SITE_MANAGER_ROLE); + when(mockedSiteService.getMembersRole(eq(siteId), nullable(String.class))).thenReturn(RM_SITE_MANAGER_ROLE); //STANDARD compliance RMSite rmSite = rmSitesImpl.getRMSite(siteId); diff --git a/pom.xml b/pom.xml index 97c389e15c..c11bf202aa 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,6 @@ 8.24 1.69 3.11.2 - 1.10.19 20210307 1.4-DBCP330 2.11.0 @@ -734,11 +733,6 @@ gunit ${dependency.antlr.version} - - org.mockito - mockito-all - ${dependency.mockito-all.version} - org.mockito mockito-core diff --git a/repository/src/test/java/org/alfresco/util/BeanExtenderUnitTest.java b/repository/src/test/java/org/alfresco/util/BeanExtenderUnitTest.java index 6db3155638..526de9330d 100644 --- a/repository/src/test/java/org/alfresco/util/BeanExtenderUnitTest.java +++ b/repository/src/test/java/org/alfresco/util/BeanExtenderUnitTest.java @@ -2,7 +2,7 @@ * #%L * Alfresco Repository * %% - * Copyright (C) 2005 - 2016 Alfresco Software Limited + * Copyright (C) 2005 - 2021 Alfresco Software Limited * %% * This file is part of the Alfresco software. * If the software was purchased under a paid Alfresco license, the terms of @@ -36,7 +36,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.alfresco.util.GUID; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -44,7 +43,6 @@ import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; import org.mockito.junit.MockitoJUnitRunner; import org.springframework.beans.MutablePropertyValues; import org.springframework.beans.PropertyValue; @@ -82,8 +80,6 @@ public class BeanExtenderUnitTest @Before public void before() throws Exception { - MockitoAnnotations.initMocks(this); - // setup common interactions doReturn(mockedPropertyValuesBean).when(mockedBeanDefinition).getPropertyValues(); doReturn(mockedPropertyValuesExtendingBean).when(mockedExtendingBeanDefinition).getPropertyValues(); @@ -139,7 +135,6 @@ public class BeanExtenderUnitTest beanExtender.setBeanName(BEAN_NAME); beanExtender.setExtendingBeanName(EXTENDING_BEAN_NAME); doReturn(false).when(mockedBeanFactory).containsBean(BEAN_NAME); - doReturn(true).when(mockedBeanFactory).containsBean(EXTENDING_BEAN_NAME); // expecting exception exception.expect(NoSuchBeanDefinitionException.class); @@ -230,7 +225,6 @@ public class BeanExtenderUnitTest doReturn(mockedExtendingBeanDefinition).when(mockedBeanFactory).getBeanDefinition(EXTENDING_BEAN_NAME); // bean class names - doReturn("a").when(mockedBeanDefinition).getBeanClassName(); doReturn(null).when(mockedExtendingBeanDefinition).getBeanClassName(); PropertyValue mockedPropertyValueOne = generateMockedPropertyValue("one", "1");