diff --git a/api/src/test/java/org/openmrs/aop/RequiredDataAdviceTest.java b/api/src/test/java/org/openmrs/aop/RequiredDataAdviceTest.java index a7922284a9dc..a25f54e4cf3f 100644 --- a/api/src/test/java/org/openmrs/aop/RequiredDataAdviceTest.java +++ b/api/src/test/java/org/openmrs/aop/RequiredDataAdviceTest.java @@ -548,7 +548,7 @@ public void before_shouldCallHandlerOnSaveWithOpenmrsObjectArgument() throws Thr SomeOpenmrsData openmrsObject = new SomeOpenmrsData(); requiredDataAdvice.before(m, new Object[] { openmrsObject }, new WithAppropriatelyNamedMethod()); verify(saveHandler, times(1)).handle(eq(openmrsObject), Matchers.anyObject(), Matchers.anyObject(), - anyString()); + Matchers.any()); } @Test @@ -568,7 +568,7 @@ public void before_shouldCallHandlerOnSaveMethodNameWithCollectionArgument() thr List openmrsObjects = Arrays.asList(new SomeOpenmrsData(), new SomeOpenmrsData()); requiredDataAdvice.before(m, new Object[] { openmrsObjects }, new WithAppropriatelyNamedMethod()); verify(saveHandler, times(2)).handle(Matchers.anyObject(), Matchers.anyObject(), - Matchers.anyObject(), anyString()); + Matchers.anyObject(), Matchers.any()); } @Test diff --git a/api/src/test/java/org/openmrs/api/PatientServiceTest.java b/api/src/test/java/org/openmrs/api/PatientServiceTest.java index 7603e857bd1a..b28231c91628 100644 --- a/api/src/test/java/org/openmrs/api/PatientServiceTest.java +++ b/api/src/test/java/org/openmrs/api/PatientServiceTest.java @@ -9,14 +9,43 @@ */ package org.openmrs.api; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.openmrs.test.TestUtil.assertCollectionContentsEquals; +import static org.openmrs.util.AddressMatcher.containsAddress; +import static org.openmrs.util.NameMatcher.containsFullName; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + import org.apache.commons.collections.CollectionUtils; +import org.hamcrest.Description; +import org.hamcrest.Matcher; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.mockito.ArgumentMatcher; import org.openmrs.Concept; import org.openmrs.Encounter; import org.openmrs.GlobalProperty; @@ -52,34 +81,6 @@ import org.openmrs.util.OpenmrsConstants; import org.openmrs.util.OpenmrsUtil; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; - -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.openmrs.test.TestUtil.assertCollectionContentsEquals; -import static org.openmrs.util.AddressMatcher.containsAddress; -import static org.openmrs.util.NameMatcher.containsFullName; - /** * This class tests methods in the PatientService class TODO Add methods to test all methods in * PatientService class @@ -710,8 +711,8 @@ public void mergePatients_shouldMergeVisitsFromNonPreferredToPreferredPatient() assertThat(mergeLogData.getMovedEncounters(), containsInAnyOrder(encounterUuidsThatShouldBeMoved.toArray())); } - private ArgumentMatcher matchingVisit(final Visit expected) { - return new ArgumentMatcher() { + private Matcher matchingVisit(final Visit expected) { + return new Matcher() { @Override public boolean matches(Object argument) { @@ -723,6 +724,15 @@ public boolean matches(Object argument) { && OpenmrsUtil.nullSafeEquals(visit.getStopDatetime(), expected.getStopDatetime()) && (visit.getEncounters().size() == expected.getEncounters().size()); } + + @Override + public void describeTo(Description description) {} + + @Override + public void describeMismatch(Object actual, Description mismatchDescription) {} + + @Override + public void _dont_implement_Matcher___instead_extend_BaseMatcher_() {} }; } diff --git a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceUnitTest.java b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceUnitTest.java index 0294334e8f41..86642124dd93 100644 --- a/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceUnitTest.java +++ b/api/src/test/java/org/openmrs/api/ProgramWorkflowServiceUnitTest.java @@ -59,8 +59,8 @@ public void getProgramByName_shouldCallDaoGetProgramsByName() { public void getProgramByName_shouldReturnNullWhenThereIsNoProgramForGivenName() { ProgramWorkflowDAO mockDao = Mockito.mock(ProgramWorkflowDAO.class); List noProgramWithGivenName = new ArrayList<>(); - Mockito.stub(mockDao.getProgramsByName("A name", false)).toReturn(noProgramWithGivenName); - Mockito.stub(mockDao.getProgramsByName("A name", true)).toReturn(noProgramWithGivenName); + Mockito.when(mockDao.getProgramsByName("A name", false)).thenReturn(noProgramWithGivenName); + Mockito.when(mockDao.getProgramsByName("A name", true)).thenReturn(noProgramWithGivenName); pws.setProgramWorkflowDAO(mockDao); Assert.assertNull(pws.getProgramByName("A name")); } @@ -73,8 +73,8 @@ public void getProgramByName_shouldFailWhenTwoProgramsFoundWithSameName() { Program program2 = new Program("A name"); programsWithGivenName.add(program1); programsWithGivenName.add(program2); - Mockito.stub(mockDao.getProgramsByName("A name", false)).toReturn(programsWithGivenName); - Mockito.stub(mockDao.getProgramsByName("A name", true)).toReturn(programsWithGivenName); + Mockito.when(mockDao.getProgramsByName("A name", false)).thenReturn(programsWithGivenName); + Mockito.when(mockDao.getProgramsByName("A name", true)).thenReturn(programsWithGivenName); pws.setProgramWorkflowDAO(mockDao); pws.getProgramByName("A name"); } diff --git a/api/src/test/java/org/openmrs/api/impl/PatientServiceImplTest.java b/api/src/test/java/org/openmrs/api/impl/PatientServiceImplTest.java index e06c5b99e8c5..997c81c00a88 100644 --- a/api/src/test/java/org/openmrs/api/impl/PatientServiceImplTest.java +++ b/api/src/test/java/org/openmrs/api/impl/PatientServiceImplTest.java @@ -13,9 +13,9 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; -import static org.mockito.Matchers.anyList; -import static org.mockito.Matchers.anyString; -import static org.mockito.Mockito.any; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyList; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -31,6 +31,7 @@ import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; +import org.mockito.Matchers; import org.mockito.Mock; import org.openmrs.Concept; import org.openmrs.Location; @@ -291,7 +292,7 @@ public void processDeath_shouldMapValuesAndSavePatient() throws Exception { final Date dateDied = new Date(); final Concept causeOfDeath = new Concept(2); - when(conceptService.getConcept(anyString())).thenReturn(new Concept()); + when(conceptService.getConcept((String)Matchers.any())).thenReturn(new Concept()); when(locationService.getDefaultLocation()).thenReturn(new Location()); UserContext userContext = mock(UserContext.class); diff --git a/pom.xml b/pom.xml index f3d3b17d22bf..793312ef3329 100644 --- a/pom.xml +++ b/pom.xml @@ -454,38 +454,32 @@ junit junit - 4.12 + 4.13 org.mockito mockito-core - 1.10.19 + 2.28.2 org.powermock powermock-module-junit4 - 1.7.0 + 2.0.7 org.powermock - powermock-api-mockito - 1.7.0 - - - mockito-all - org.mockito - - + powermock-api-mockito2 + 2.0.7 org.hamcrest hamcrest-core - 2.1 + 2.2 org.hamcrest hamcrest-library - 2.1 + 2.2 com.h2database diff --git a/test/pom.xml b/test/pom.xml index 7c0fc87131ee..4c19daf4de92 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -48,7 +48,7 @@ org.powermock - powermock-api-mockito + powermock-api-mockito2 org.hamcrest diff --git a/web/src/test/java/org/openmrs/web/filter/update/UpdateFilterModelTest.java b/web/src/test/java/org/openmrs/web/filter/update/UpdateFilterModelTest.java index f1dffced2db2..7c6b3896aecd 100644 --- a/web/src/test/java/org/openmrs/web/filter/update/UpdateFilterModelTest.java +++ b/web/src/test/java/org/openmrs/web/filter/update/UpdateFilterModelTest.java @@ -60,9 +60,9 @@ public void createUpdateFilterModel_shouldrequireAnUpdateAndSetChangesToUnrunDat assertTrue("should require an update", model.updateRequired); assertThat(model.changes, is(changes)); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.getUnrunDatabaseChanges(); - PowerMockito.verifyStatic(never()); + PowerMockito.verifyStatic(DatabaseUpdater.class, never()); DatabaseUpdater.updatesRequired(); } @@ -78,9 +78,9 @@ public void createUpdateFilterModel_shouldRequiredAnUpdateIfChangesAreEmptyButDa assertTrue("should require an update", model.updateRequired); assertThat(model.changes, is(empty())); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.getUnrunDatabaseChanges(); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.updatesRequired(); } @@ -96,9 +96,9 @@ public void createUpdateFilterModel_shouldNotRequireAnUpdateIfChangesAreEmptyAnd assertFalse("should not require an update", model.updateRequired); assertThat(model.changes, is(empty())); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.getUnrunDatabaseChanges(); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.updatesRequired(); } @@ -114,9 +114,9 @@ public void createUpdateFilterModel_shouldNotRequireAnUpdateIfChangesAreNullAndD assertFalse("should not require an update", model.updateRequired); assertNull("should not have changes", model.changes); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.getUnrunDatabaseChanges(); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.updatesRequired(); } @@ -132,9 +132,9 @@ public void createUpdateFilterModel_shouldNotRequireAnUpdateIfDatabaseUpdaterIsL assertFalse("should not require an update", model.updateRequired); assertNull("should not have changes", model.changes); - PowerMockito.verifyStatic(times(2)); + PowerMockito.verifyStatic(DatabaseUpdater.class, times(2)); DatabaseUpdater.getUnrunDatabaseChanges(); - PowerMockito.verifyStatic(); + PowerMockito.verifyStatic(DatabaseUpdater.class); DatabaseUpdater.updatesRequired(); } @@ -152,9 +152,9 @@ public void createUpdateFilterModel_shouldRequireAnUpdateIfDatabaseUpdaterIsLock assertTrue("should require an update", model.updateRequired); assertThat(model.changes, is(changes)); - PowerMockito.verifyStatic(times(2)); + PowerMockito.verifyStatic(DatabaseUpdater.class, times(2)); DatabaseUpdater.getUnrunDatabaseChanges(); - PowerMockito.verifyStatic(never()); + PowerMockito.verifyStatic(DatabaseUpdater.class, never()); DatabaseUpdater.updatesRequired(); } }