Skip to content

Commit

Permalink
Upgrade PowerMock and Mockito - TRUNK-5730
Browse files Browse the repository at this point in the history
  • Loading branch information
dkayiwa committed Apr 27, 2020
1 parent 94e625e commit 3528d06
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 67 deletions.
4 changes: 2 additions & 2 deletions api/src/test/java/org/openmrs/aop/RequiredDataAdviceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -568,7 +568,7 @@ public void before_shouldCallHandlerOnSaveMethodNameWithCollectionArgument() thr
List<SomeOpenmrsData> 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
Expand Down
72 changes: 41 additions & 31 deletions api/src/test/java/org/openmrs/api/PatientServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -710,8 +711,8 @@ public void mergePatients_shouldMergeVisitsFromNonPreferredToPreferredPatient()
assertThat(mergeLogData.getMovedEncounters(), containsInAnyOrder(encounterUuidsThatShouldBeMoved.toArray()));
}

private ArgumentMatcher<Visit> matchingVisit(final Visit expected) {
return new ArgumentMatcher<Visit>() {
private Matcher<Visit> matchingVisit(final Visit expected) {
return new Matcher<Visit>() {

@Override
public boolean matches(Object argument) {
Expand All @@ -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_() {}
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ public void getProgramByName_shouldCallDaoGetProgramsByName() {
public void getProgramByName_shouldReturnNullWhenThereIsNoProgramForGivenName() {
ProgramWorkflowDAO mockDao = Mockito.mock(ProgramWorkflowDAO.class);
List<Program> 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"));
}
Expand All @@ -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");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
20 changes: 7 additions & 13 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -454,38 +454,32 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<version>4.13</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.19</version>
<version>2.28.2</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.7.0</version>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.7.0</version>
<exclusions>
<exclusion>
<artifactId>mockito-all</artifactId>
<groupId>org.mockito</groupId>
</exclusion>
</exclusions>
<artifactId>powermock-api-mockito2</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>2.1</version>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>2.1</version>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
Expand Down
2 changes: 1 addition & 1 deletion test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<artifactId>powermock-api-mockito2</artifactId>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

Expand All @@ -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();
}

Expand All @@ -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();
}

Expand All @@ -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();
}

Expand All @@ -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();
}

Expand All @@ -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();
}
}

0 comments on commit 3528d06

Please sign in to comment.