Merge "PostReviewIT: wire the mock CommentValidator as a plugin"
diff --git a/javatests/com/google/gerrit/acceptance/api/change/PostReviewIT.java b/javatests/com/google/gerrit/acceptance/api/change/PostReviewIT.java
index 7d0d70e..6085900 100644
--- a/javatests/com/google/gerrit/acceptance/api/change/PostReviewIT.java
+++ b/javatests/com/google/gerrit/acceptance/api/change/PostReviewIT.java
@@ -23,7 +23,6 @@
import static com.google.gerrit.testing.GerritJUnit.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;
@@ -76,12 +75,10 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.restapi.change.OnPostReview;
-import com.google.gerrit.server.restapi.change.PostReview;
import com.google.gerrit.server.update.CommentsRejectedException;
import com.google.gerrit.testing.FakeEmailSender;
import com.google.gerrit.testing.TestCommentHelper;
import com.google.inject.Inject;
-import com.google.inject.Module;
import java.sql.Timestamp;
import java.time.Instant;
import java.util.ArrayList;
@@ -101,7 +98,6 @@
/** Tests for comment validation in {@link PostReview}. */
public class PostReviewIT extends AbstractDaemonTest {
- @Inject private CommentValidator mockCommentValidator;
@Inject private TestCommentHelper testCommentHelper;
@Inject private RequestScopeOperations requestScopeOperations;
@Inject private ExtensionRegistry extensionRegistry;
@@ -127,9 +123,13 @@
COMMENT_TEXT,
COMMENT_TEXT.length());
+ private static CommentValidator mockCommentValidator;
@Captor private ArgumentCaptor<ImmutableList<CommentForValidation>> captor;
@Captor private ArgumentCaptor<CommentValidationContext> captorCtx;
+ @SuppressWarnings("unused")
+ private AutoCloseable mockCommentValidatorPlugin;
+
private static final Correspondence<CommentForValidation, CommentForValidation>
COMMENT_CORRESPONDENCE =
Correspondence.from(
@@ -141,28 +141,23 @@
&& left.getText().equals(right.getText()),
"matches (ignoring size approximation)");
- @Override
- public Module createModule() {
- return new FactoryModule() {
- @Override
- public void configure() {
- CommentValidator mockCommentValidator = mock(CommentValidator.class);
-
- // by default return no validation errors
- when(mockCommentValidator.validateComments(any(), any())).thenReturn(ImmutableList.of());
-
- bind(CommentValidator.class)
- .annotatedWith(Exports.named(mockCommentValidator.getClass()))
- .toInstance(mockCommentValidator);
- bind(CommentValidator.class).toInstance(mockCommentValidator);
- }
- };
+ public static class MockCommentValidatorModule extends FactoryModule {
+ @Override
+ public void configure() {
+ // by default return no validation errors
+ bind(CommentValidator.class)
+ .annotatedWith(Exports.named(mockCommentValidator.getClass()))
+ .toInstance(mockCommentValidator);
+ bind(CommentValidator.class).toInstance(mockCommentValidator);
+ }
}
@Before
- public void resetMock() {
+ public void resetMockCommentValidator() throws Exception {
+ mockCommentValidator = mock(CommentValidator.class);
initMocks(this);
- clearInvocations(mockCommentValidator);
+ mockCommentValidatorPlugin = super.installPlugin("validator", MockCommentValidatorModule.class);
+ when(mockCommentValidator.validateComments(any(), any())).thenReturn(ImmutableList.of());
}
@Test