Fix dual build: switch to EasyMock + fix NPE Cannot get dual build to work with mockito -- switch to EasyMock. Discovered NullPointerException while testing change -- fixed. Change-Id: I1fc9da05b83258e9761e8e348c9e17e53aa57788
diff --git a/BUILD b/BUILD index 77d9d09..43871b1 100644 --- a/BUILD +++ b/BUILD
@@ -57,9 +57,7 @@ TEST_DEPS = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [ ":copyright_scanner", - "//lib/mockito", "@guava//jar", - "@mockito//jar", ] java_library(
diff --git a/WORKSPACE b/WORKSPACE index c8ab81d..d752151 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -66,30 +66,3 @@ artifact = "com.google.j2objc:j2objc-annotations:1.1", sha1 = "ed28ded51a8b1c6b112568def5f4b455e6809019", ) - -maven_jar( - name = "mockito", - artifact = "org.mockito:mockito-core:2.24.0", - sha1 = "969a7bcb6f16e076904336ebc7ca171d412cc1f9", -) - -BYTE_BUDDY_VERSION = "1.9.7" - -maven_jar( - name = "byte-buddy", - artifact = "net.bytebuddy:byte-buddy:" + BYTE_BUDDY_VERSION, - sha1 = "8fea78fea6449e1738b675cb155ce8422661e237", -) - -maven_jar( - name = "byte-buddy-agent", - artifact = "net.bytebuddy:byte-buddy-agent:" + BYTE_BUDDY_VERSION, - sha1 = "8e7d1b599f4943851ffea125fd9780e572727fc0", -) - -maven_jar( - name = "objenesis", - artifact = "org.objenesis:objenesis:2.6", - sha1 = "639033469776fd37c08358c6b92a4761feb2af4b", -) -
diff --git a/lib/mockito/BUILD b/lib/mockito/BUILD deleted file mode 100644 index 89a1400..0000000 --- a/lib/mockito/BUILD +++ /dev/null
@@ -1,34 +0,0 @@ -package( - default_testonly = True, - default_visibility = ["//visibility:public"], -) - -java_library( - name = "mockito", - data = ["//lib:LICENSE-Apache2.0"], - # Only exposed for plugin tests; core tests should use Easymock - exports = ["@mockito//jar"], - runtime_deps = [ - ":byte-buddy", - ":byte-buddy-agent", - ":objenesis", - ], -) - -java_library( - name = "byte-buddy", - data = ["//lib:LICENSE-Apache2.0"], - exports = ["@byte-buddy//jar"], -) - -java_library( - name = "byte-buddy-agent", - data = ["//lib:LICENSE-Apache2.0"], - exports = ["@byte-buddy-agent//jar"], -) - -java_library( - name = "objenesis", - data = ["//lib:LICENSE-Apache2.0"], - exports = ["@objenesis//jar"], -)
diff --git a/src/main/java/com/googlesource/gerrit/plugins/copyright/CopyrightValidator.java b/src/main/java/com/googlesource/gerrit/plugins/copyright/CopyrightValidator.java index cda88ce..f17ed95 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/copyright/CopyrightValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/copyright/CopyrightValidator.java
@@ -281,17 +281,19 @@ metrics.scanRevisionTimerByBranch.record(branch, scanTime, TimeUnit.MILLISECONDS); ReviewResult result = reviewApi.reportScanFindings(project, scannerConfig, event, findings); - if (result.error != null && !result.error.equals("")) { + if (result != null && result.error != null && !result.error.equals("")) { logger.atSevere().log( "%s plugin revision %s: error posting review: %s", pluginName, event.getChange().currentRevision, result.error); } - for (Map.Entry<String, AddReviewerResult> entry : result.reviewers.entrySet()) { - AddReviewerResult arr = entry.getValue(); - if (arr.error != null && !arr.error.equals("")) { - logger.atSevere().log( - "%s plugin revision %s: error adding reviewer %s: %s", - pluginName, event.getChange().currentRevision, entry.getKey(), arr.error); + if (result != null && result.reviewers != null) { + for (Map.Entry<String, AddReviewerResult> entry : result.reviewers.entrySet()) { + AddReviewerResult arr = entry.getValue(); + if (arr.error != null && !arr.error.equals("")) { + logger.atSevere().log( + "%s plugin revision %s: error adding reviewer %s: %s", + pluginName, event.getChange().currentRevision, entry.getKey(), arr.error); + } } } }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/copyright/CopyrightReviewApiTest.java b/src/test/java/com/googlesource/gerrit/plugins/copyright/CopyrightReviewApiTest.java index 2c1cda7..f71ea0f 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/copyright/CopyrightReviewApiTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/copyright/CopyrightReviewApiTest.java
@@ -21,11 +21,12 @@ import static com.googlesource.gerrit.plugins.copyright.lib.CopyrightScanner.PartyType.FORBIDDEN; import static com.googlesource.gerrit.plugins.copyright.lib.CopyrightScanner.PartyType.THIRD_PARTY; import static com.googlesource.gerrit.plugins.copyright.lib.CopyrightScanner.PartyType.UNKNOWN; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; +import static org.easymock.EasyMock.anyObject; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.eq; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.verify; import com.google.common.collect.ImmutableList; import com.google.common.truth.Correspondence; @@ -42,15 +43,15 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.runners.JUnit4; -@RunWith(MockitoJUnitRunner.class) +@RunWith(JUnit4.class) public class CopyrightReviewApiTest { private static final PluginUser pluginUser = new FakePluginUser(); private static final CurrentUser currentUser = new FakeCurrentUser(); - @Mock private IdentifiedUser.GenericFactory identifiedUserFactory; + private IdentifiedUser.GenericFactory identifiedUserFactory = + createMock(IdentifiedUser.GenericFactory.class); private CopyrightReviewApi reviewApi; @@ -71,16 +72,24 @@ @Test public void testGetSendingUser_fromAccountIdConfigured() throws Exception { + expect( + identifiedUserFactory.runAs( + eq(null), anyObject(Account.Id.class), anyObject(PluginUser.class))) + .andReturn(null); + replay(identifiedUserFactory); + CurrentUser from = reviewApi.getSendingUser(808); - verify(identifiedUserFactory, times(1)) - .runAs(eq(null), any(Account.Id.class), any(PluginUser.class)); + + verify(identifiedUserFactory); } @Test public void testGetSendingUser_noFromAccountIdConfigured() throws Exception { + replay(identifiedUserFactory); + CurrentUser from = reviewApi.getSendingUser(0); - verify(identifiedUserFactory, never()) - .runAs(eq(null), any(Account.Id.class), any(PluginUser.class)); + + verify(identifiedUserFactory); assertThat(from).isSameAs(currentUser); }