Migrate away fully from MockitoJUnitRunner

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=192291786
This commit is contained in:
mcilwain 2018-04-10 08:48:23 -07:00 committed by Ben McIlwain
parent 8f1848e32e
commit 183dae6e80
14 changed files with 134 additions and 128 deletions

View file

@ -45,6 +45,7 @@ import google.registry.model.domain.secdns.DelegationSignerData;
import google.registry.model.eppcommon.StatusValue;
import google.registry.model.host.HostResource;
import google.registry.testing.AppEngineRule;
import google.registry.testing.MockitoJUnitRule;
import google.registry.util.Retrier;
import google.registry.util.SystemClock;
import google.registry.util.SystemSleeper;
@ -57,16 +58,19 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/** Test case for {@link CloudDnsWriter}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class CloudDnsWriterTest {
@Rule public final AppEngineRule appEngine = AppEngineRule.builder().withDatastore().build();
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
private static final Inet4Address IPv4 = (Inet4Address) InetAddresses.forString("127.0.0.1");
private static final Inet6Address IPv6 = (Inet6Address) InetAddresses.forString("::1");
private static final Duration DEFAULT_A_TTL = Duration.standardSeconds(11);
@ -79,11 +83,10 @@ public class CloudDnsWriterTest {
@Mock private Dns.Changes.Create createChangeRequest;
@Captor ArgumentCaptor<String> zoneNameCaptor;
@Captor ArgumentCaptor<Change> changeCaptor;
private CloudDnsWriter writer;
private ImmutableSet<ResourceRecordSet> stubZone;
@Rule public final AppEngineRule appEngine = AppEngineRule.builder().withDatastore().build();
/*
* Because of multi-threading in the CloudDnsWriter, we need to return a different instance of
* List for every request, with its own ArgumentCaptor. Otherwise, we can't separate the arguments

View file

@ -45,6 +45,7 @@ import google.registry.model.ofy.Ofy;
import google.registry.testing.AppEngineRule;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectRule;
import google.registry.testing.MockitoJUnitRule;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
@ -54,10 +55,10 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.xbill.DNS.Flags;
import org.xbill.DNS.Message;
import org.xbill.DNS.Opcode;
@ -69,21 +70,18 @@ import org.xbill.DNS.Type;
import org.xbill.DNS.Update;
/** Unit tests for {@link DnsUpdateWriter}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class DnsUpdateWriterTest {
@Rule
public final AppEngineRule appEngine =
AppEngineRule.builder().withDatastore().withTaskQueue().build();
@Rule
public final InjectRule inject = new InjectRule();
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Rule public final InjectRule inject = new InjectRule();
@Mock
private DnsMessageTransport mockResolver;
@Captor
private ArgumentCaptor<Update> updateCaptor;
@Mock private DnsMessageTransport mockResolver;
@Captor private ArgumentCaptor<Update> updateCaptor;
private final FakeClock clock = new FakeClock(DateTime.parse("1971-01-01TZ"));

View file

@ -21,7 +21,6 @@ import static google.registry.config.RegistryConfig.getDefaultRegistrarWhoisServ
import static google.registry.model.common.Cursor.CursorType.SYNC_REGISTRAR_SHEET;
import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.deleteResource;
import static google.registry.testing.DatastoreHelper.persistNewRegistrar;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.DatastoreHelper.persistSimpleResources;
@ -41,35 +40,30 @@ import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.RegistrarAddress;
import google.registry.model.registrar.RegistrarContact;
import google.registry.testing.AppEngineRule;
import google.registry.testing.DatastoreHelper;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectRule;
import google.registry.testing.MockitoJUnitRule;
import org.joda.time.DateTime;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/** Unit tests for {@link SyncRegistrarsSheet}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class SyncRegistrarsSheetTest {
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder()
.withDatastore()
.build();
@Rule public final AppEngineRule appEngine = AppEngineRule.builder().withDatastore().build();
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Rule public final InjectRule inject = new InjectRule();
@Rule
public final InjectRule inject = new InjectRule();
@Captor
private ArgumentCaptor<ImmutableList<ImmutableMap<String, String>>> rowsCaptor;
@Mock
private SheetSynchronizer sheetSynchronizer;
@Captor private ArgumentCaptor<ImmutableList<ImmutableMap<String, String>>> rowsCaptor;
@Mock private SheetSynchronizer sheetSynchronizer;
private final FakeClock clock = new FakeClock(DateTime.now(UTC));
@ -85,9 +79,7 @@ public class SyncRegistrarsSheetTest {
inject.setStaticField(Ofy.class, "clock", clock);
createTld("example");
// Remove Registrar entities created by AppEngineRule.
for (Registrar registrar : Registrar.loadAll()) {
deleteResource(registrar);
}
Registrar.loadAll().forEach(DatastoreHelper::deleteResource);
}
@Test

View file

@ -44,6 +44,7 @@ import google.registry.monitoring.whitebox.BigQueryMetricsEnqueuer;
import google.registry.monitoring.whitebox.EppMetric;
import google.registry.testing.AppEngineRule;
import google.registry.testing.FakeClock;
import google.registry.testing.MockitoJUnitRule;
import google.registry.testing.ShardableTestCase;
import google.registry.util.Clock;
import google.registry.xml.ValidationMode;
@ -58,17 +59,17 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/** Unit tests for {@link EppController}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class EppControllerTest extends ShardableTestCase {
@Rule
public AppEngineRule appEngineRule = new AppEngineRule.Builder().withDatastore().build();
@Rule public AppEngineRule appEngineRule = new AppEngineRule.Builder().withDatastore().build();
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Mock SessionMetadata sessionMetadata;
@Mock TransportCredentials transportCredentials;

View file

@ -36,19 +36,23 @@ import com.google.api.services.cloudkms.v1.model.KeyRing;
import com.google.api.services.cloudkms.v1.model.UpdateCryptoKeyPrimaryVersionRequest;
import google.registry.testing.FakeClock;
import google.registry.testing.FakeSleeper;
import google.registry.testing.MockitoJUnitRule;
import google.registry.util.Retrier;
import java.io.ByteArrayInputStream;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class KmsConnectionImplTest {
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Mock private CloudKMS kms;
@Mock private CloudKMS.Projects kmsProjects;
@Mock private CloudKMS.Projects.Locations kmsLocations;
@ -72,8 +76,6 @@ public class KmsConnectionImplTest {
@Mock private CloudKMS.Projects.Locations.KeyRings.CryptoKeys.Encrypt kmsCryptoKeysEncrypt;
@Mock private CloudKMS.Projects.Locations.KeyRings.CryptoKeys.Decrypt kmsCryptoKeysDecrypt;
private final Retrier retrier = new Retrier(new FakeSleeper(new FakeClock()), 3);
@Captor private ArgumentCaptor<KeyRing> keyRing;
@Captor private ArgumentCaptor<CryptoKey> cryptoKey;
@Captor private ArgumentCaptor<CryptoKeyVersion> cryptoKeyVersion;
@ -86,6 +88,8 @@ public class KmsConnectionImplTest {
@Captor
private ArgumentCaptor<UpdateCryptoKeyPrimaryVersionRequest> updateCryptoKeyPrimaryVersionRequest;
private final Retrier retrier = new Retrier(new FakeSleeper(new FakeClock()), 3);
@Before
public void setUp() throws Exception {
when(kms.projects()).thenReturn(kmsProjects);

View file

@ -37,18 +37,16 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.Matchers;
import org.mockito.runners.MockitoJUnitRunner;
/** Unit tests for {@link MetricsExportAction}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class MetricsExportActionTest {
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder()
.withDatastore()
.withTaskQueue()
.build();
public final AppEngineRule appEngine =
AppEngineRule.builder().withDatastore().withTaskQueue().build();
private final BigqueryFactory bigqueryFactory = mock(BigqueryFactory.class);
private final Bigquery bigquery = mock(Bigquery.class);

View file

@ -0,0 +1,45 @@
// Copyright 2018 The Nomulus Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package google.registry.testing;
import org.junit.rules.MethodRule;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.Statement;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
/** A rule that initializes Mockito-annotated fields (e.g. mocks and captors). */
// TODO(b/77815684): Replace with native version from Mockito v1.10 once we upgrade to that.
public class MockitoJUnitRule implements MethodRule {
public static MockitoJUnitRule create() {
return new MockitoJUnitRule();
}
@Override
public Statement apply(Statement base, FrameworkMethod method, Object target) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
MockitoAnnotations.initMocks(target);
try {
base.evaluate();
} finally {
Mockito.validateMockitoUsage();
}
}
};
}
}

View file

@ -48,6 +48,7 @@ import google.registry.model.registry.Registry;
import google.registry.testing.AppEngineRule;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectRule;
import google.registry.testing.MockitoJUnitRule;
import google.registry.testing.TaskQueueHelper.TaskMatcher;
import google.registry.util.UrlFetchException;
import java.net.URL;
@ -57,13 +58,13 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/** Unit tests for {@link NordnUploadAction}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class NordnUploadActionTest {
private static final String CLAIMS_CSV = "1,2000-01-01T00:00:00.000Z,1\n"
@ -79,21 +80,15 @@ public class NordnUploadActionTest {
private static final String LOCATION_URL = "http://trololol";
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder()
.withDatastore()
.withTaskQueue()
.build();
public final AppEngineRule appEngine =
AppEngineRule.builder().withDatastore().withTaskQueue().build();
@Rule
public final InjectRule inject = new InjectRule();
@Mock
private URLFetchService fetchService;
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Rule public final InjectRule inject = new InjectRule();
@Captor
private ArgumentCaptor<HTTPRequest> httpRequestCaptor;
@Mock
private HTTPResponse httpResponse;
@Mock private URLFetchService fetchService;
@Mock private HTTPResponse httpResponse;
@Captor private ArgumentCaptor<HTTPRequest> httpRequestCaptor;
private final FakeClock clock = new FakeClock(DateTime.parse("2000-01-01TZ"));
private final LordnRequestInitializer lordnRequestInitializer = new LordnRequestInitializer();

View file

@ -36,19 +36,20 @@ import google.registry.model.registry.Registry;
import google.registry.request.HttpException.ConflictException;
import google.registry.testing.AppEngineRule;
import google.registry.testing.FakeResponse;
import google.registry.testing.MockitoJUnitRule;
import java.net.URL;
import java.util.Optional;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/** Unit tests for {@link NordnVerifyAction}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class NordnVerifyActionTest {
private static final String CSV_DATA = "1,2012-08-16T00:00:00.0Z,3\n"
@ -82,18 +83,14 @@ public class NordnVerifyActionTest {
+ "bogpog,4611\n";
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder()
.withDatastore()
.withTaskQueue()
.build();
@Mock
private URLFetchService fetchService;
public final AppEngineRule appEngine =
AppEngineRule.builder().withDatastore().withTaskQueue().build();
@Captor
private ArgumentCaptor<HTTPRequest> httpRequestCaptor;
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Mock
private HTTPResponse httpResponse;
@Mock private URLFetchService fetchService;
@Mock private HTTPResponse httpResponse;
@Captor private ArgumentCaptor<HTTPRequest> httpRequestCaptor;
private final FakeResponse response = new FakeResponse();
private final LordnRequestInitializer lordnRequestInitializer = new LordnRequestInitializer();

View file

@ -25,41 +25,30 @@ import google.registry.testing.AppEngineRule;
import google.registry.testing.BouncyCastleProviderRule;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectRule;
import google.registry.testing.MockitoJUnitRule;
import org.junit.Before;
import org.junit.Rule;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/** Common code for unit tests of classes that extend {@link Marksdb}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class TmchActionTestCase {
static final String MARKSDB_LOGIN = "lolcat:attack";
static final String MARKSDB_LOGIN_BASE64 = "bG9sY2F0OmF0dGFjaw==";
static final String MARKSDB_URL = "http://127.0.0.1/love";
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder()
.withDatastore()
.build();
@Rule public final AppEngineRule appEngine = AppEngineRule.builder().withDatastore().build();
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Rule public final BouncyCastleProviderRule bouncy = new BouncyCastleProviderRule();
@Rule public final InjectRule inject = new InjectRule();
@Rule
public final BouncyCastleProviderRule bouncy = new BouncyCastleProviderRule();
@Rule
public final InjectRule inject = new InjectRule();
@Mock
URLFetchService fetchService;
@Captor
ArgumentCaptor<HTTPRequest> httpRequest;
@Mock
HTTPResponse httpResponse;
@Mock URLFetchService fetchService;
@Mock HTTPResponse httpResponse;
@Captor ArgumentCaptor<HTTPRequest> httpRequest;
final FakeClock clock = new FakeClock();
final Marksdb marksdb = new Marksdb();

View file

@ -31,6 +31,7 @@ import com.google.common.reflect.TypeToken;
import google.registry.model.poll.PollMessage;
import google.registry.testing.AppEngineRule;
import google.registry.testing.CertificateSamples;
import google.registry.testing.MockitoJUnitRule;
import google.registry.tools.params.ParameterFactory;
import java.io.ByteArrayOutputStream;
import java.io.File;
@ -41,14 +42,14 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
import org.junit.runners.JUnit4;
/**
* Base class for all command tests.
*
* @param <C> the command type
*/
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public abstract class CommandTestCase<C extends Command> {
private final ByteArrayOutputStream stdout = new ByteArrayOutputStream();
@ -57,10 +58,10 @@ public abstract class CommandTestCase<C extends Command> {
protected C command;
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder()
.withDatastore()
.withTaskQueue()
.build();
public final AppEngineRule appEngine =
AppEngineRule.builder().withDatastore().withTaskQueue().build();
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Rule
public TemporaryFolder tmpDir = new TemporaryFolder();

View file

@ -25,13 +25,11 @@ import java.io.IOException;
import java.security.GeneralSecurityException;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
/** Unit tests for {@link CreateCdnsTld}. */
public class CreateCdnsTldTest extends CommandTestCase<CreateCdnsTld> {
@Mock Dns dnsService;

View file

@ -22,15 +22,12 @@ import com.google.common.collect.ImmutableList;
import google.registry.tools.server.ListDomainsAction;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
/**
* Unit tests for {@link ListDomainsCommand}.
*
* @see ListObjectsCommandTestCase
*/
@RunWith(MockitoJUnitRunner.class)
public class ListDomainsCommandTest extends ListObjectsCommandTestCase<ListDomainsCommand> {
@Override

View file

@ -38,6 +38,7 @@ import google.registry.request.auth.AuthLevel;
import google.registry.request.auth.AuthResult;
import google.registry.request.auth.UserAuthInfo;
import google.registry.testing.AppEngineRule;
import google.registry.testing.MockitoJUnitRule;
import java.math.BigDecimal;
import javax.servlet.http.HttpServletRequest;
import org.joda.money.CurrencyUnit;
@ -45,40 +46,27 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/** Tests for {@link RegistrarPaymentAction}. */
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnit4.class)
public class RegistrarPaymentActionTest {
@Rule
public final AppEngineRule appEngine = AppEngineRule.builder().withDatastore().build();
@Rule public final AppEngineRule appEngine = AppEngineRule.builder().withDatastore().build();
@Rule public final MockitoJUnitRule mocks = MockitoJUnitRule.create();
@Mock
private BraintreeGateway braintreeGateway;
@Mock
private TransactionGateway transactionGateway;
@Mock
private Result<Transaction> result;
@Mock
private Transaction transaction;
@Mock
private ValidationErrors validationErrors;
@Mock private BraintreeGateway braintreeGateway;
@Mock private TransactionGateway transactionGateway;
@Mock private Result<Transaction> result;
@Mock private Transaction transaction;
@Mock private ValidationErrors validationErrors;
@Captor private ArgumentCaptor<TransactionRequest> transactionRequestCaptor;
private final SessionUtils sessionUtils = mock(SessionUtils.class);
private final User user = new User("marla.singer@example.com", "gmail.com", "12345");
@Captor
private ArgumentCaptor<TransactionRequest> transactionRequestCaptor;
private final RegistrarPaymentAction paymentAction = new RegistrarPaymentAction();
@Before