Remove remnants of JUnit 4 rules (#1336)

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/google/nomulus/1336)
<!-- Reviewable:end -->
This commit is contained in:
Lai Jiang 2021-09-24 06:35:35 -04:00 committed by GitHub
parent 9eb55edde7
commit df65fbc212
83 changed files with 270 additions and 272 deletions

View file

@ -48,7 +48,7 @@ public class AppEngineEnvironment implements Closeable {
public AppEngineEnvironment(String appId) {
isPlaceHolderNeeded = ApiProxy.getCurrentEnvironment() == null;
// isPlaceHolderNeeded may be true when we are invoked in a test with AppEngineRule.
// isPlaceHolderNeeded may be true when we are invoked in a test with AppEngineExtension.
if (isPlaceHolderNeeded) {
ApiProxy.setEnvironmentForCurrentThread(createAppEngineEnvironment(appId));
}

View file

@ -20,11 +20,11 @@ import java.lang.reflect.Proxy;
* A dummy implementation for {@link JpaTransactionManager} which throws exception when any of its
* method is invoked.
*
* <p>This is used to initialize the {@link TransactionManagerFactory#jpaTm} when running unit
* <p>This is used to initialize the {@link TransactionManagerFactory#jpaTm()} when running unit
* tests, because obviously we cannot connect to the actual Cloud SQL backend in a unit test.
*
* <p>If a unit test needs to access the Cloud SQL database, it must add JpaTransactionManagerRule
* as a JUnit rule in the test class.
* <p>If a unit test needs to access the Cloud SQL database, it must add {@code
* JpaTransactionManagerExtension} as a JUnit extension in the test class.
*/
public class DummyJpaTransactionManager {
@ -37,7 +37,7 @@ public class DummyJpaTransactionManager {
(proxy, method, args) -> {
throw new UnsupportedOperationException(
"JpaTransactionManager was not initialized as the runtime is detected as"
+ " Unittest. Add JpaTransactionManagerRule in the unit test for"
+ " Unittest. Add JpaTransactionManagerExtension in the unit test for"
+ " initialization.");
});
}

View file

@ -86,7 +86,7 @@ public class RelockDomainActionTest {
mock(AppEngineServiceUtils.class), clock, Duration.ZERO));
@RegisterExtension
public final AppEngineExtension appEngineRule =
public final AppEngineExtension appEngineExtension =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.withTaskQueue()

View file

@ -40,8 +40,8 @@ import google.registry.model.registrar.Registrar;
import google.registry.model.tld.Registry;
import google.registry.model.transfer.ContactTransferData;
import google.registry.persistence.transaction.CriteriaQueryBuilder;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.AppEngineExtension;
import google.registry.testing.DatabaseHelper;
import google.registry.testing.DatastoreEntityExtension;
@ -67,7 +67,7 @@ public class RegistryJpaReadTest {
@RegisterExtension
final transient JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule();
new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
@RegisterExtension
final transient TestPipelineExtension testPipeline =

View file

@ -29,8 +29,8 @@ import google.registry.model.ImmutableObject;
import google.registry.model.contact.ContactResource;
import google.registry.model.ofy.Ofy;
import google.registry.model.registrar.Registrar;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.AppEngineExtension;
import google.registry.testing.DatabaseHelper;
import google.registry.testing.DatastoreEntityExtension;
@ -56,11 +56,11 @@ class RegistryJpaWriteTest implements Serializable {
@Order(Order.DEFAULT - 1)
final transient DatastoreEntityExtension datastore = new DatastoreEntityExtension();
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension();
@RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension
final transient JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule();
new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
@RegisterExtension
final transient TestPipelineExtension testPipeline =
@ -71,7 +71,7 @@ class RegistryJpaWriteTest implements Serializable {
@BeforeEach
void beforeEach() throws Exception {
try (BackupTestStore store = new BackupTestStore(fakeClock)) {
injectRule.setStaticField(Ofy.class, "clock", fakeClock);
injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
// Required for contacts created below.
Registrar ofyRegistrar = AppEngineExtension.makeRegistrar2();

View file

@ -34,8 +34,8 @@ import google.registry.model.domain.DomainBase;
import google.registry.model.ofy.Ofy;
import google.registry.model.tld.Registry;
import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension;
@ -62,14 +62,14 @@ public class BackupTestStoreTest {
@RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().buildIntegrationTestRule();
new JpaTestExtensions.Builder().buildIntegrationTestExtension();
@RegisterExtension
@Order(value = 1)
final transient DatastoreEntityExtension datastoreEntityExtension =
new DatastoreEntityExtension();
@RegisterExtension InjectExtension injectRule = new InjectExtension();
@RegisterExtension InjectExtension injectExtension = new InjectExtension();
private FakeClock fakeClock;
private BackupTestStore store;
@ -83,7 +83,7 @@ public class BackupTestStoreTest {
void beforeEach() throws Exception {
fakeClock = new FakeClock(START_TIME);
store = new BackupTestStore(fakeClock);
injectRule.setStaticField(Ofy.class, "clock", fakeClock);
injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
registry = newRegistry("tld1", "TLD1");
store.insertOrUpdate(registry);

View file

@ -26,8 +26,8 @@ import google.registry.model.contact.ContactResource;
import google.registry.model.domain.DomainBase;
import google.registry.model.ofy.Ofy;
import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension;
@ -62,11 +62,11 @@ class CommitLogTransformsTest implements Serializable {
@TempDir
transient Path tmpDir;
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension();
@RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule();
new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
@RegisterExtension
@Order(value = 1)
@ -89,7 +89,7 @@ class CommitLogTransformsTest implements Serializable {
@BeforeEach
void beforeEach() throws Exception {
store = new BackupTestStore(fakeClock);
injectRule.setStaticField(Ofy.class, "clock", fakeClock);
injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
registry = newRegistry("tld1", "TLD1");
store.insertOrUpdate(registry);

View file

@ -68,14 +68,14 @@ public class DomainBaseUtilTest {
private Key<DomainBase> domainKey;
@RegisterExtension
AppEngineExtension appEngineRule =
AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().withClock(fakeClock).build();
@RegisterExtension InjectExtension injectRule = new InjectExtension();
@RegisterExtension InjectExtension injectExtension = new InjectExtension();
@BeforeEach
void beforeEach() {
injectRule.setStaticField(Ofy.class, "clock", fakeClock);
injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
createTld("com");
domainKey = Key.create(null, DomainBase.class, "4-COM");
VKey<HostResource> hostKey =

View file

@ -27,8 +27,8 @@ import google.registry.model.contact.ContactResource;
import google.registry.model.domain.DomainBase;
import google.registry.model.ofy.Ofy;
import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension;
@ -70,11 +70,11 @@ class ExportLoadingTransformsTest implements Serializable {
@TempDir
transient Path tmpDir;
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension();
@RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().buildIntegrationTestRule();
new JpaTestExtensions.Builder().buildIntegrationTestExtension();
@RegisterExtension
@Order(value = 1)
@ -98,7 +98,7 @@ class ExportLoadingTransformsTest implements Serializable {
void beforeEach() throws Exception {
fakeClock = new FakeClock(START_TIME);
store = new BackupTestStore(fakeClock);
injectRule.setStaticField(Ofy.class, "clock", fakeClock);
injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
registry = newRegistry("tld1", "TLD1");
store.insertOrUpdate(registry);

View file

@ -60,8 +60,8 @@ import google.registry.model.tld.Registry;
import google.registry.model.transfer.DomainTransferData;
import google.registry.model.transfer.TransferStatus;
import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.AppEngineExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
@ -108,7 +108,7 @@ class InitSqlPipelineTest {
@Order(Order.DEFAULT - 1)
final transient DatastoreEntityExtension datastore = new DatastoreEntityExtension();
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension();
@RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@SuppressWarnings("WeakerAccess")
@TempDir
@ -120,7 +120,7 @@ class InitSqlPipelineTest {
@RegisterExtension
final transient JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule();
new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
private File exportRootDir;
private File exportDir;
@ -141,7 +141,7 @@ class InitSqlPipelineTest {
@BeforeEach
void beforeEach() throws Exception {
try (BackupTestStore store = new BackupTestStore(fakeClock)) {
injectRule.setStaticField(Ofy.class, "clock", fakeClock);
injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
exportRootDir = Files.createDirectory(tmpDir.resolve("exports")).toFile();
persistResource(newRegistry("com", "COM"));

View file

@ -29,8 +29,8 @@ import google.registry.model.domain.DomainBase;
import google.registry.model.eppcommon.AuthInfo.PasswordAuth;
import google.registry.model.ofy.Ofy;
import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension;
@ -86,11 +86,11 @@ class LoadDatastoreSnapshotTest {
@TempDir
transient Path tmpDir;
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension();
@RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().buildIntegrationTestRule();
new JpaTestExtensions.Builder().buildIntegrationTestExtension();
@RegisterExtension
@Order(value = 1)
@ -119,7 +119,7 @@ class LoadDatastoreSnapshotTest {
void beforeEach() throws Exception {
fakeClock = new FakeClock(START_TIME);
try (BackupTestStore store = new BackupTestStore(fakeClock)) {
injectRule.setStaticField(Ofy.class, "clock", fakeClock);
injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
exportRootDir = Files.createDirectory(tmpDir.resolve("export_root")).toFile();
commitLogsDir = Files.createDirectory(tmpDir.resolve("commit_logs")).toFile();

View file

@ -43,8 +43,8 @@ import google.registry.model.domain.DomainHistory;
import google.registry.model.registrar.Registrar;
import google.registry.model.reporting.HistoryEntry;
import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import google.registry.testing.TestDataHelper;
@ -235,7 +235,7 @@ class InvoicingPipelineTest {
@RegisterExtension
final JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(new FakeClock()).buildIntegrationTestRule();
new JpaTestExtensions.Builder().withClock(new FakeClock()).buildIntegrationTestExtension();
@TempDir Path tmpDir;

View file

@ -62,8 +62,8 @@ import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.Registrar.State;
import google.registry.model.tld.Registry;
import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.TransactionManagerFactory;
import google.registry.rde.DepositFragment;
import google.registry.rde.Ghostryde;
@ -150,7 +150,7 @@ public class RdePipelineTest {
@RegisterExtension
final JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(clock).buildIntegrationTestRule();
new JpaTestExtensions.Builder().withClock(clock).buildIntegrationTestExtension();
@RegisterExtension
final TestPipelineExtension pipeline =

View file

@ -47,8 +47,8 @@ import google.registry.model.registrar.Registrar;
import google.registry.model.reporting.Spec11ThreatMatch;
import google.registry.model.reporting.Spec11ThreatMatch.ThreatType;
import google.registry.model.reporting.Spec11ThreatMatchDao;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import google.registry.testing.FakeSleeper;
@ -126,7 +126,7 @@ class Spec11PipelineTest {
@RegisterExtension
final JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(new FakeClock()).buildIntegrationTestRule();
new JpaTestExtensions.Builder().withClock(new FakeClock()).buildIntegrationTestExtension();
private final Spec11PipelineOptions options =
PipelineOptionsFactory.create().as(Spec11PipelineOptions.class);

View file

@ -36,7 +36,7 @@ class CommitLogFanoutActionTest {
private static final String QUEUE = "the-queue";
@RegisterExtension
final AppEngineExtension appEngineRule =
final AppEngineExtension appEngineExtension =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.withTaskQueue(

View file

@ -81,7 +81,7 @@ public class SyncRegistrarsSheetTest {
void beforeEach() {
inject.setStaticField(Ofy.class, "clock", clock);
createTld("example");
// Remove Registrar entities created by AppEngineRule (and RegistrarContact's, for jpa).
// Remove Registrar entities created by AppEngineExtension (and RegistrarContact's, for jpa).
// We don't do this for ofy because ofy's loadAllOf() can't be called in a transaction but
// _must_ be called in a transaction in JPA.
if (!tm().isOfy()) {

View file

@ -67,7 +67,7 @@ import org.mockito.quality.Strictness;
class EppControllerTest {
@RegisterExtension
AppEngineExtension appEngineRule =
AppEngineExtension appEngineExtension =
new AppEngineExtension.Builder().withDatastoreAndCloudSql().build();
@Mock SessionMetadata sessionMetadata;

View file

@ -51,7 +51,7 @@ import org.mockito.Mockito;
class FlowRunnerTest {
@RegisterExtension
final AppEngineExtension appEngineRule =
final AppEngineExtension appEngineExtension =
new AppEngineExtension.Builder().withDatastoreAndCloudSql().build();
private final FlowRunner flowRunner = new FlowRunner();

View file

@ -29,7 +29,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
public class ModelUtilsTest {
@RegisterExtension
public AppEngineExtension appEngineRule = new AppEngineExtension.Builder().build();
public AppEngineExtension appEngineExtension = new AppEngineExtension.Builder().build();
/** Test class for reflection methods. */
public static class TestClass extends ImmutableObject implements Buildable {

View file

@ -46,7 +46,7 @@ public class CommitLogMutationTest {
@BeforeEach
void before() {
// Initialize this late to avoid dependency on NamespaceManager prior to AppEngineRule.
// Initialize this late to avoid dependency on NamespaceManager prior to AppEngineExtension.
manifestKey = CommitLogManifest.createKey(CommitLogBucket.getBucketKey(1), NOW);
createTld("tld");
someObject = Registry.get("tld");

View file

@ -38,7 +38,7 @@ class OfyFilterTest {
private LocalServiceTestHelper helper;
private ObjectifyFactory factory;
// We can't use AppEngineRule, because it triggers the precise behavior that we are testing.
// We can't use AppEngineExtension, because it triggers the precise behavior that we are testing.
@BeforeEach
void beforeEach() {

View file

@ -83,7 +83,7 @@ public class OfyTest {
.setTrid(Trid.create("client", "server"))
.setXmlBytes("<xml></xml>".getBytes(UTF_8))
.build();
// This can't be initialized earlier because namespaces need the AppEngineRule to work.
// This can't be initialized earlier because namespaces need the AppEngineExtension to work.
}
private void doBackupGroupRootTimestampInversionTest(Runnable runnable) {

View file

@ -19,8 +19,8 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
import com.google.common.collect.ImmutableMap;
import google.registry.model.tld.label.ReservedList.ReservedListEntry;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import org.junit.jupiter.api.BeforeEach;
@ -39,7 +39,7 @@ public class ReservedListDaoTest {
@RegisterExtension
JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
private ImmutableMap<String, ReservedListEntry> testReservations;

View file

@ -18,8 +18,8 @@ import static com.google.common.truth.Truth.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableMap;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.FakeClock;
import javax.persistence.PersistenceException;
import org.junit.jupiter.api.Test;
@ -32,7 +32,7 @@ public class ClaimsListDaoTest {
@RegisterExtension
final JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
@Test
void save_insertsClaimsListSuccessfully() {

View file

@ -22,8 +22,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableSet;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.lang.reflect.Method;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
@ -46,7 +46,7 @@ class EntityCallbacksListenerTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void verifyAllCallbacks_executedExpectedTimes() {

View file

@ -33,7 +33,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
class VKeyTest {
@RegisterExtension
final AppEngineExtension appEngineRule =
final AppEngineExtension appEngineExtension =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.withOfyTestEntities(TestObject.class)

View file

@ -27,8 +27,8 @@ import google.registry.model.ImmutableObject;
import google.registry.model.common.TimedTransitionProperty;
import google.registry.model.domain.token.AllocationToken.TokenStatus;
import google.registry.model.domain.token.AllocationToken.TokenStatusTransition;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.joda.time.DateTime;
@ -40,9 +40,9 @@ public class AllocationTokenStatusTransitionConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withEntityClass(AllocationTokenStatusTransitionConverterTestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
private static final ImmutableSortedMap<DateTime, TokenStatus> values =
ImmutableSortedMap.of(

View file

@ -24,8 +24,8 @@ import com.google.common.collect.ImmutableSortedMap;
import google.registry.model.ImmutableObject;
import google.registry.model.common.TimedTransitionProperty;
import google.registry.model.tld.Registry.BillingCostTransition;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.joda.money.Money;
@ -38,9 +38,7 @@ public class BillingCostTransitionConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder()
.withEntityClass(TestEntity.class)
.buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
private static final ImmutableSortedMap<DateTime, Money> values =
ImmutableSortedMap.of(

View file

@ -23,8 +23,8 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.hash.BloomFilter;
import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.junit.jupiter.api.Test;
@ -35,7 +35,7 @@ class BloomFilterConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void roundTripConversion_returnsSameBloomFilter() {

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableList;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.util.CidrAddressBlock;
import java.util.List;
import javax.persistence.Entity;
@ -34,7 +34,7 @@ public class CidrAddressBlockListConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void roundTripConversion_returnsSameCidrAddressBlock() {

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.CreateAutoTimestamp;
import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.testing.FakeClock;
import javax.persistence.Entity;
import javax.persistence.Id;
@ -36,10 +36,10 @@ public class CreateAutoTimestampConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withClock(fakeClock)
.withEntityClass(TestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
@Test
void testTypeConversion() {

View file

@ -21,8 +21,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableMap;
import google.registry.model.ImmutableObject;
import google.registry.model.registrar.Registrar.BillingAccountEntry;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Map;
import javax.persistence.Entity;
import javax.persistence.Id;
@ -35,9 +35,7 @@ public class CurrencyToBillingConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder()
.withEntityClass(TestEntity.class)
.buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void roundTripConversion_returnsSameCurrencyToBillingMap() {

View file

@ -21,8 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.PersistenceException;
@ -35,7 +35,7 @@ public class CurrencyUnitConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void roundTripConversion() {

View file

@ -24,8 +24,8 @@ import google.registry.model.ImmutableObject;
import google.registry.model.common.DatabaseMigrationStateSchedule.MigrationState;
import google.registry.model.common.DatabaseMigrationStateSchedule.MigrationStateTransition;
import google.registry.model.common.TimedTransitionProperty;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.joda.time.DateTime;
@ -37,9 +37,9 @@ public class DatabaseMigrationScheduleTransitionConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withEntityClass(DatabaseMigrationScheduleTransitionConverterTestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
private static final ImmutableSortedMap<DateTime, MigrationState> values =
ImmutableSortedMap.of(

View file

@ -19,8 +19,8 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.sql.Timestamp;
import javax.persistence.Entity;
import javax.persistence.Id;
@ -34,7 +34,7 @@ public class DateTimeConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
private final DateTimeConverter converter = new DateTimeConverter();

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.joda.time.Duration;
@ -34,7 +34,9 @@ public class DurationConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(DurationTestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder()
.withEntityClass(DurationTestEntity.class)
.buildUnitTestExtension();
private final DurationConverter converter = new DurationConverter();

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableMap;
import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
@ -64,9 +64,9 @@ public class JodaMoneyConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withEntityClass(TestEntity.class, ComplexTestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
@Test
void roundTripConversion() {

View file

@ -21,8 +21,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest;
import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.joda.time.LocalDate;
@ -35,9 +35,9 @@ public class LocalDateConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withEntityClass(LocalDateConverterTestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
private final LocalDate exampleDate = LocalDate.parse("2020-06-10", ISODateTimeFormat.date());

View file

@ -21,8 +21,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableSet;
import google.registry.model.ImmutableObject;
import google.registry.model.eppcommon.StatusValue;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Id;
@ -34,7 +34,7 @@ public class StatusValueSetConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void testRoundTrip() {

View file

@ -21,8 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableList;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
@ -35,7 +35,7 @@ public class StringListConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void roundTripConversion_returnsSameStringList() {

View file

@ -22,8 +22,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Map;
import javax.persistence.Converter;
import javax.persistence.Entity;
@ -37,9 +37,9 @@ public class StringMapConverterBaseTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withEntityClass(TestStringMapConverter.class, TestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
private static final ImmutableMap<Key, Value> MAP =
ImmutableMap.of(

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableSet;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Id;
@ -33,7 +33,7 @@ public class StringSetConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void roundTripConversion_returnsSameStringList() {

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject;
import google.registry.model.registrar.Registrar.State;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
@ -34,7 +34,7 @@ public class StringValueEnumeratedTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void roundTripConversion_returnsSameEnum() {

View file

@ -25,8 +25,8 @@ import com.google.common.collect.Maps;
import google.registry.model.ImmutableObject;
import google.registry.model.common.TimedTransitionProperty;
import google.registry.model.common.TimedTransitionProperty.TimedTransition;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Map;
import javax.persistence.Converter;
import javax.persistence.Entity;
@ -41,9 +41,9 @@ class TimedTransitionPropertyConverterBaseTest {
@RegisterExtension
public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withEntityClass(TestTimedTransitionPropertyConverter.class, TestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
private static final DateTime DATE_1 = DateTime.parse("2001-01-01T00:00:00.000Z");
private static final DateTime DATE_2 = DateTime.parse("2002-01-01T00:00:00.000Z");

View file

@ -24,8 +24,8 @@ import google.registry.model.ImmutableObject;
import google.registry.model.common.TimedTransitionProperty;
import google.registry.model.tld.Registry.TldState;
import google.registry.model.tld.Registry.TldStateTransition;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity;
import javax.persistence.Id;
import org.joda.time.DateTime;
@ -37,9 +37,7 @@ class TldStateTransitionConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder()
.withEntityClass(TestEntity.class)
.buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
private static final ImmutableSortedMap<DateTime, TldState> values =
ImmutableSortedMap.of(

View file

@ -19,8 +19,8 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.sql.Timestamp;
import java.time.Instant;
import java.time.ZonedDateTime;
@ -34,7 +34,7 @@ public class ZonedDateTimeConverterTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
private final ZonedDateTimeConverter converter = new ZonedDateTimeConverter();

View file

@ -19,7 +19,7 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
import com.google.common.collect.ImmutableList;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.testing.FakeClock;
import java.util.List;
import javax.persistence.Entity;
@ -42,10 +42,10 @@ class CriteriaQueryBuilderTest {
@RegisterExtension
final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withClock(fakeClock)
.withEntityClass(CriteriaQueryBuilderTestEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
@BeforeEach
void beforeEach() {

View file

@ -35,18 +35,18 @@ import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
/**
* Holds specialized JUnit rules that start a test database server and provide {@link
* Holds specialized JUnit extensions that start a test database server and provide {@link
* JpaTransactionManager} instances.
*/
public class JpaTestRules {
public class JpaTestExtensions {
private static final String GOLDEN_SCHEMA_SQL_PATH = "sql/schema/nomulus.golden.sql";
private static final String HSTORE_EXTENSION_SQL_PATH =
"sql/flyway/V14__load_extension_for_hstore.sql";
/**
* Junit rule for integration tests with JPA framework, when the underlying database is populated
* with the Nomulus Cloud SQL schema.
* JUnit extension for integration tests with JPA framework, when the underlying database is
* populated with the Nomulus Cloud SQL schema.
*/
public static class JpaIntegrationTestExtension extends JpaTransactionManagerExtension {
private JpaIntegrationTestExtension(
@ -83,26 +83,26 @@ public class JpaTestRules {
implements BeforeEachCallback, AfterEachCallback {
private final JpaEntityCoverageExtension jpaEntityCoverage = new JpaEntityCoverageExtension();
private final JpaIntegrationTestExtension integrationTestRule;
private final JpaIntegrationTestExtension integrationTestExtension;
JpaIntegrationWithCoverageExtension(JpaIntegrationTestExtension integrationTestRule) {
this.integrationTestRule = integrationTestRule;
JpaIntegrationWithCoverageExtension(JpaIntegrationTestExtension integrationTestExtension) {
this.integrationTestExtension = integrationTestExtension;
}
@Override
public void beforeEach(ExtensionContext context) throws Exception {
integrationTestRule.beforeEach(context);
integrationTestExtension.beforeEach(context);
jpaEntityCoverage.beforeEach(context);
}
@Override
public void afterEach(ExtensionContext context) {
jpaEntityCoverage.afterEach(context);
integrationTestRule.afterEach(context);
integrationTestExtension.afterEach(context);
}
}
/** Builder of test rules that provide {@link JpaTransactionManager}. */
/** Builder of test extensions that provide {@link JpaTransactionManager}. */
public static class Builder {
private String initScript;
@ -150,7 +150,7 @@ public class JpaTestRules {
}
/** Builds a {@link JpaIntegrationTestExtension} instance. */
public JpaIntegrationTestExtension buildIntegrationTestRule() {
public JpaIntegrationTestExtension buildIntegrationTestExtension() {
return new JpaIntegrationTestExtension(
clock == null ? new FakeClock(DateTime.now(UTC)) : clock,
ImmutableList.copyOf(extraEntityClasses),
@ -163,14 +163,14 @@ public class JpaTestRules {
*/
public JpaIntegrationWithCoverageExtension buildIntegrationWithCoverageExtension() {
checkState(initScript == null, "Integration tests do not accept initScript");
return new JpaIntegrationWithCoverageExtension(buildIntegrationTestRule());
return new JpaIntegrationWithCoverageExtension(buildIntegrationTestExtension());
}
/**
* Builds a {@link JpaUnitTestExtension} instance that can also be used as an extension for
* JUnit5.
*/
public JpaUnitTestExtension buildUnitTestRule() {
public JpaUnitTestExtension buildUnitTestExtension() {
checkState(
!Objects.equals(GOLDEN_SCHEMA_SQL_PATH, initScript),
"Unit tests must not depend on the Nomulus schema.");

View file

@ -18,7 +18,7 @@ import static com.google.common.truth.Truth.assertThat;
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
import static java.nio.charset.StandardCharsets.UTF_8;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
@ -27,13 +27,13 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
/** Unit test for {@link JpaTestRules.Builder#withSqlLogging()}. */
class JpaTestRulesSqlLoggingTest {
/** Unit test for {@link JpaTestExtensions.Builder#withSqlLogging()}. */
class JpaTestExtensionsSqlLoggingTest {
// Entity under test: configured to log SQL statements to Stdout.
@RegisterExtension
JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withSqlLogging().buildUnitTestRule();
new JpaTestExtensions.Builder().withSqlLogging().buildUnitTestExtension();
private PrintStream orgStdout;
private ByteArrayOutputStream stdoutBuffer;

View file

@ -32,8 +32,8 @@ import google.registry.persistence.HibernateSchemaExporter;
import google.registry.persistence.NomulusPostgreSql;
import google.registry.persistence.PersistenceModule;
import google.registry.persistence.PersistenceXmlUtility;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.util.Clock;
import java.io.File;
import java.io.IOException;
@ -71,8 +71,8 @@ import org.testcontainers.containers.PostgreSQLContainer;
* <p>This class is not for direct use. Use the specialized subclasses {@link
* JpaIntegrationTestExtension} or {@link JpaUnitTestExtension} as befits the use case.
*
* <p>This rule also replaces the {@link JpaTransactionManagerImpl} provided by {@link
* TransactionManagerFactory} with the {@link JpaTransactionManagerImpl} generated by the rule
* <p>This extension also replaces the {@link JpaTransactionManagerImpl} provided by {@link
* TransactionManagerFactory} with the {@link JpaTransactionManagerImpl} generated by the extension
* itself, so that all SQL queries will be sent to the database instance created by {@link
* PostgreSQLContainer} to achieve test purpose.
*/
@ -102,11 +102,11 @@ abstract class JpaTransactionManagerExtension implements BeforeEachCallback, Aft
private static int emfEntityHash;
private JpaTransactionManager cachedTm;
// Hash of the ORM entity names requested by this rule instance.
// Hash of the ORM entity names requested by this extension instance.
private final int entityHash;
// Whether to create nomulus tables in the test db. Right now, only the JpaTestRules set this to
// false.
// Whether to create nomulus tables in the test db. Right now, only the JpaTestExtensions set this
// to false.
private boolean includeNomulusSchema = true;
JpaTransactionManagerExtension(

View file

@ -20,7 +20,7 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import static org.junit.jupiter.api.Assertions.assertThrows;
import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
@ -32,14 +32,14 @@ import org.junit.jupiter.api.extension.RegisterExtension;
* JUnit test for {@link JpaTransactionManagerExtension}, with {@link JpaUnitTestExtension} as
* proxy.
*/
public class JpaTransactionManagerRuleTest {
public class JpaTransactionManagerExtensionTest {
@RegisterExtension
public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule();
new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test
void verifiesRuleWorks() {
void verifiesExtensionWorks() {
assertThrows(
PersistenceException.class,
() ->

View file

@ -31,7 +31,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import google.registry.model.ImmutableObject;
import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.testing.DatabaseHelper;
import google.registry.testing.FakeClock;
import java.io.Serializable;
@ -73,12 +73,12 @@ class JpaTransactionManagerImplTest {
@RegisterExtension
final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder()
new JpaTestExtensions.Builder()
.withInitScript(fileClassPath(getClass(), "test_schema.sql"))
.withClock(fakeClock)
.withEntityClass(
TestEntity.class, TestCompoundIdEntity.class, TestNamedCompoundIdEntity.class)
.buildUnitTestRule();
.buildUnitTestExtension();
@Test
void transact_succeeds() {

View file

@ -78,7 +78,7 @@ public final class UpdateRegistrarRdapBaseUrlsActionTest {
+ "\"version\":\"1.0\"}";
@RegisterExtension
public AppEngineExtension appEngineRule =
public AppEngineExtension appEngineExtension =
new AppEngineExtension.Builder().withDatastoreAndCloudSql().build();
private static class TestHttpTransport extends MockHttpTransport {

View file

@ -54,14 +54,14 @@ class RdeStagingMapperTest {
ArgumentCaptor.forClass(DepositFragment.class);
@RegisterExtension
AppEngineExtension appEngineRule =
AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().build();
private RdeStagingMapper rdeStagingMapper;
@BeforeEach
void beforeEach() {
// Two real registrars have been created by AppEngineRule, named "New Registrar" and "The
// Two real registrars have been created by AppEngineExtension, named "New Registrar" and "The
// Registrar". Create one included registrar (external_monitoring) and two excluded ones.
Registrar monitoringRegistrar =
persistNewRegistrar("monitoring", "monitoring", Registrar.Type.MONITORING, null);

View file

@ -64,7 +64,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
class RdeStagingReducerTest {
@RegisterExtension
AppEngineExtension appEngineRule =
AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().withTaskQueue().build();
private static final String GCS_BUCKET = "test-rde-bucket";

View file

@ -49,7 +49,7 @@ class IcannHttpReporterTest {
private MockLowLevelHttpRequest mockRequest;
@RegisterExtension
AppEngineExtension appEngineRule =
AppEngineExtension appEngineExtension =
new AppEngineExtension.Builder().withDatastoreAndCloudSql().build();
private MockHttpTransport createMockTransport(

View file

@ -38,7 +38,7 @@ import google.registry.model.tld.label.ReservedListDaoTest;
import google.registry.model.tmch.ClaimsListDaoTest;
import google.registry.model.tmch.TmchCrlTest;
import google.registry.persistence.transaction.JpaEntityCoverageExtension;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.schema.integration.SqlIntegrationTestSuite.AfterSuiteTest;
import google.registry.schema.integration.SqlIntegrationTestSuite.BeforeSuiteTest;
import google.registry.schema.registrar.RegistrarDaoTest;

View file

@ -23,8 +23,8 @@ import static google.registry.testing.SqlHelper.saveRegistrar;
import com.google.common.collect.ImmutableSet;
import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.RegistrarContact;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.DatastoreEntityExtension;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Order;
@ -40,7 +40,7 @@ class RegistrarContactTest {
@RegisterExtension
JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().buildIntegrationWithCoverageExtension();
new JpaTestExtensions.Builder().buildIntegrationWithCoverageExtension();
private Registrar testRegistrar;

View file

@ -24,8 +24,8 @@ import com.google.common.collect.ImmutableList;
import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.RegistrarAddress;
import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock;
import org.joda.time.DateTime;
@ -45,7 +45,7 @@ public class RegistrarDaoTest {
@RegisterExtension
JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
private final VKey<Registrar> registrarKey = VKey.createSql(Registrar.class, "registrarId");

View file

@ -19,7 +19,7 @@ import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.collect.ImmutableList;
import com.google.common.net.HostAndPort;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.testing.AppEngineExtension;
import google.registry.testing.UserInfo;
import google.registry.tools.params.HostAndPortParameter;
@ -134,7 +134,7 @@ public final class RegistryTestServerMain {
final RegistryTestServer server = new RegistryTestServer(address);
System.out.printf("%sLoading SQL fixtures and AppEngineRule...%s\n", BLUE, RESET);
System.out.printf("%sLoading SQL fixtures and AppEngineExtension...%s\n", BLUE, RESET);
AppEngineExtension appEngine =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
@ -148,7 +148,7 @@ public final class RegistryTestServerMain {
.build();
appEngine.setUp();
AppEngineExtension.loadInitialData();
new JpaTestRules.Builder().buildIntegrationTestRule().beforeEach(null);
new JpaTestExtensions.Builder().buildIntegrationTestExtension().beforeEach(null);
System.out.printf("%sLoading Datastore fixtures...%s\n", BLUE, RESET);
for (Fixture fixture : fixtures) {
fixture.load();

View file

@ -50,10 +50,10 @@ import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.Registrar.State;
import google.registry.model.registrar.RegistrarAddress;
import google.registry.model.registrar.RegistrarContact;
import google.registry.persistence.transaction.JpaTestRules;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.util.Clock;
import java.io.ByteArrayInputStream;
import java.io.File;
@ -106,7 +106,8 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
private LocalServiceTestHelper helper;
/**
* A temporary directory for AppEngineRule's internal temp files that is different for each test.
* A temporary directory for AppEngineExtension's internal temp files that is different for each
* test.
*
* <p>Note that we can't use {@link TempDir} here because that only works in test classes, not
* extensions.
@ -117,7 +118,7 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
* Sets up a SQL database. This is for test classes that are not a member of the {@code
* SqlIntegrationTestSuite}.
*/
private JpaIntegrationTestExtension jpaIntegrationTestRule = null;
private JpaIntegrationTestExtension jpaIntegrationTestExtension = null;
/**
* Sets up a SQL database and records the JPA entities tested by each test class. This is for
@ -125,7 +126,7 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
*/
private JpaIntegrationWithCoverageExtension jpaIntegrationWithCoverageExtension = null;
private JpaUnitTestExtension jpaUnitTestRule;
private JpaUnitTestExtension jpaUnitTestExtension;
private boolean withDatastore;
private boolean withoutCannedData;
@ -141,34 +142,34 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
private String taskQueueXml;
private UserInfo userInfo;
// Test Objectify entity classes to be used with this AppEngineRule instance.
// Test Objectify entity classes to be used with this AppEngineExtension instance.
private ImmutableList<Class<?>> ofyTestEntities;
private ImmutableList<Class<?>> jpaTestEntities;
/** Builder for {@link AppEngineExtension}. */
public static class Builder {
private AppEngineExtension rule = new AppEngineExtension();
private AppEngineExtension extension = new AppEngineExtension();
private ImmutableList.Builder<Class<?>> ofyTestEntities = new ImmutableList.Builder<>();
private ImmutableList.Builder<Class<?>> jpaTestEntities = new ImmutableList.Builder<>();
/** Turn on the Datastore service and the Cloud SQL service. */
public Builder withDatastoreAndCloudSql() {
rule.withDatastore = true;
rule.withCloudSql = true;
extension.withDatastore = true;
extension.withCloudSql = true;
return this;
}
/** Turns on Cloud SQL only, for use by test data generators. */
public Builder withCloudSql() {
rule.withCloudSql = true;
rule.withDatastore = false;
extension.withCloudSql = true;
extension.withDatastore = false;
return this;
}
/** Disables insertion of canned data. */
public Builder withoutCannedData() {
rule.withoutCannedData = true;
extension.withoutCannedData = true;
return this;
}
@ -177,13 +178,13 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
* members of SqlIntegrationTestSuite.
*/
public Builder enableJpaEntityCoverageCheck(boolean enabled) {
rule.enableJpaEntityCoverageCheck = enabled;
extension.enableJpaEntityCoverageCheck = enabled;
return this;
}
/** Turn on the use of local modules. */
public Builder withLocalModules() {
rule.withLocalModules = true;
extension.withLocalModules = true;
return this;
}
@ -194,25 +195,25 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
/** Turn on the task queue service with a specified set of queues. */
public Builder withTaskQueue(String taskQueueXml) {
rule.withTaskQueue = true;
rule.taskQueueXml = taskQueueXml;
extension.withTaskQueue = true;
extension.taskQueueXml = taskQueueXml;
return this;
}
/** Turn on the URL Fetch service. */
public Builder withUrlFetch() {
rule.withUrlFetch = true;
extension.withUrlFetch = true;
return this;
}
public Builder withClock(Clock clock) {
rule.clock = clock;
extension.clock = clock;
return this;
}
public Builder withUserService(UserInfo userInfo) {
rule.withUserService = true;
rule.userInfo = userInfo;
extension.withUserService = true;
extension.userInfo = userInfo;
return this;
}
@ -236,23 +237,23 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
public Builder withJpaUnitTestEntities(Class<?>... entities) {
jpaTestEntities.add(entities);
rule.withJpaUnitTest = true;
extension.withJpaUnitTest = true;
return this;
}
public AppEngineExtension build() {
checkState(
!rule.enableJpaEntityCoverageCheck || rule.withCloudSql,
!extension.enableJpaEntityCoverageCheck || extension.withCloudSql,
"withJpaEntityCoverageCheck enabled without Cloud SQL");
checkState(
!rule.withJpaUnitTest || rule.withCloudSql,
!extension.withJpaUnitTest || extension.withCloudSql,
"withJpaUnitTestEntities enabled without Cloud SQL");
checkState(
!rule.withJpaUnitTest || !rule.enableJpaEntityCoverageCheck,
!extension.withJpaUnitTest || !extension.enableJpaEntityCoverageCheck,
"withJpaUnitTestEntities cannot be set when enableJpaEntityCoverageCheck");
rule.ofyTestEntities = this.ofyTestEntities.build();
rule.jpaTestEntities = this.jpaTestEntities.build();
return rule;
extension.ofyTestEntities = this.ofyTestEntities.build();
extension.jpaTestEntities = this.jpaTestEntities.build();
return extension;
}
}
@ -366,8 +367,8 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
checkArgumentNotNull(context, "The ExtensionContext must not be null");
setUp();
if (withCloudSql) {
JpaTestRules.Builder builder =
new JpaTestRules.Builder().withEntityClass(jpaTestEntities.toArray(new Class[0]));
JpaTestExtensions.Builder builder =
new JpaTestExtensions.Builder().withEntityClass(jpaTestEntities.toArray(new Class[0]));
if (clock != null) {
builder.withClock(clock);
}
@ -375,11 +376,11 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
jpaIntegrationWithCoverageExtension = builder.buildIntegrationWithCoverageExtension();
jpaIntegrationWithCoverageExtension.beforeEach(context);
} else if (withJpaUnitTest) {
jpaUnitTestRule = builder.buildUnitTestRule();
jpaUnitTestRule.beforeEach(context);
jpaUnitTestExtension = builder.buildUnitTestExtension();
jpaUnitTestExtension.beforeEach(context);
} else {
jpaIntegrationTestRule = builder.buildIntegrationTestRule();
jpaIntegrationTestRule.beforeEach(context);
jpaIntegrationTestExtension = builder.buildIntegrationTestExtension();
jpaIntegrationTestExtension.beforeEach(context);
}
}
if (isWithDatastoreAndCloudSql()) {
@ -491,9 +492,9 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
if (enableJpaEntityCoverageCheck) {
jpaIntegrationWithCoverageExtension.afterEach(context);
} else if (withJpaUnitTest) {
jpaUnitTestRule.afterEach(context);
jpaUnitTestExtension.afterEach(context);
} else {
jpaIntegrationTestRule.afterEach(context);
jpaIntegrationTestExtension.afterEach(context);
}
}
tearDown();

View file

@ -123,7 +123,7 @@ class AppEngineExtensionTest {
@Test
void testRegisterOfyEntities_duplicateEntitiesWithSameName_fails() throws Exception {
AppEngineExtension appEngineRule =
AppEngineExtension appEngineExtension =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.withOfyTestEntities(google.registry.testing.TestObject.class, TestObject.class)
@ -131,7 +131,7 @@ class AppEngineExtensionTest {
// Thrown before JPA is set up, therefore no need to call afterEach.
IllegalStateException thrown =
assertThrows(
IllegalStateException.class, () -> appEngineRule.beforeEach(context.getContext()));
IllegalStateException.class, () -> appEngineExtension.beforeEach(context.getContext()));
assertThat(thrown)
.hasMessageThat()
.isEqualTo(
@ -167,7 +167,7 @@ class AppEngineExtensionTest {
.collect(entriesToImmutableMap());
assertWithMessage(
"Conflicting Ofy kinds found. Tests will break if they are registered with "
+ " AppEngineRule in the same test executor.")
+ " AppEngineExtension in the same test executor.")
.that(conflictingKinds)
.isEmpty();
}

View file

@ -115,9 +115,9 @@ class DualDatabaseTestInvocationContextProvider implements TestTemplateInvocatio
appEngineExtensionFields.size()));
}
appEngineExtensionFields.get(0).setAccessible(true);
AppEngineExtension appEngineRule =
AppEngineExtension appEngineExtension =
(AppEngineExtension) appEngineExtensionFields.get(0).get(testInstance);
if (!appEngineRule.isWithDatastoreAndCloudSql()) {
if (!appEngineExtension.isWithDatastoreAndCloudSql()) {
throw new IllegalStateException(
"AppEngineExtension in @DualDatabaseTest test must set withDatastoreAndCloudSql()");
}

View file

@ -23,7 +23,7 @@ import google.registry.flows.EppException;
import google.registry.model.eppinput.EppInput;
import java.util.Map;
/** Test rule that loads an Epp object from a file. */
/** Test extension that loads an Epp object from a file. */
public class EppLoader {
private String eppXml;

View file

@ -19,7 +19,7 @@ import com.google.appengine.api.users.UserService;
import java.util.Set;
import javax.annotation.Nullable;
// TODO: Consider reconciling this with AppEngineRule.withUserService()
// TODO: Consider reconciling this with AppEngineExtension.withUserService()
/** Fake implementation of {@link UserService} for testing. */
public class FakeUserService implements UserService {

View file

@ -37,9 +37,9 @@ import org.junit.jupiter.api.extension.ExtensionContext;
/**
* GnuPG system command JUnit extension.
*
* <p>This rule creates a isolated environment for running the {@code gpg} command inside system
* integration tests. It reduces a lot of the boilerplate of setting up the shell environment and
* importing your keyrings into a temporary config folder.
* <p>This extension creates a isolated environment for running the {@code gpg} command inside
* system integration tests. It reduces a lot of the boilerplate of setting up the shell environment
* and importing your keyrings into a temporary config folder.
*/
public final class GpgSystemCommandExtension implements BeforeEachCallback, AfterEachCallback {

View file

@ -29,11 +29,11 @@ import org.junit.jupiter.api.extension.ExtensionContext;
/**
* JUnit extension for overriding {@code private static} fields during a test.
*
* <p>This rule uses reflection to change the value of a field while your test is running and then
* restore it to its original value after it's done (even if the test fails). The injection will
* work even if the field is marked {@code private} (but not if it's {@code final}). The downside is
* that if you rename the field in the future, IDE refactoring won't be smart enough to update the
* injection site.
* <p>This extension uses reflection to change the value of a field while your test is running and
* then restore it to its original value after it's done (even if the test fails). The injection
* will work even if the field is marked {@code private} (but not if it's {@code final}). The
* downside is that if you rename the field in the future, IDE refactoring won't be smart enough to
* update the injection site.
*
* <p>We encourage you to consider using {@link google.registry.util.NonFinalForTesting
* &#064;NonFinalForTesting} to document your injected fields.

View file

@ -31,8 +31,8 @@ import org.junit.jupiter.api.extension.ExtensionContext;
/**
* JUnit extension for overriding the values Java system properties during tests.
*
* <p>In most scenarios this class should be the last rule/extension to apply. In JUnit 5, apply
* {@code @Order(value = Integer.MAX_VALUE)} to the extension.
* <p>In most scenarios this class should be the last extension/extension to apply. In JUnit 5,
* apply {@code @Order(value = Integer.MAX_VALUE)} to the extension.
*/
public final class SystemPropertyExtension
implements SystemPropertySetter, BeforeEachCallback, AfterEachCallback {
@ -66,7 +66,8 @@ public final class SystemPropertyExtension
* <p>It's safe to call this method multiple times with the same {@code key} within a single test.
* Only the truly original property value will be restored at the end.
*
* <p>This method can be called fluently when declaring the Rule field, or within a Test method.
* <p>This method can be called fluently when declaring the Extension field, or within a Test
* method.
*
* @see java.lang.System#setProperty(String, String)
*/

View file

@ -29,8 +29,8 @@ import org.junit.jupiter.api.extension.ExtensionContext;
/**
* A JUnit extension that overloads cache expiry for tests.
*
* <p>This rule is necessary because many caches in the system are singleton and referenced through
* static fields.
* <p>This extension is necessary because many caches in the system are singleton and referenced
* through static fields.
*/
public class TestCacheExtension implements BeforeEachCallback, AfterEachCallback {

View file

@ -1705,7 +1705,7 @@ class CreateRegistrarCommandTest extends CommandTestCase<CreateRegistrarCommand>
@TestOfyAndSql
void testFailure_registrarNameSimilarToExisting() {
// Note that "tHeRe GiStRaR" normalizes identically to "The Registrar", which is created by
// AppEngineRule.
// AppEngineExtension.
IllegalArgumentException thrown =
assertThrows(
IllegalArgumentException.class,

View file

@ -76,7 +76,7 @@ public final class DomainLockUtilsTest {
private DomainLockUtils domainLockUtils;
@RegisterExtension
public final AppEngineExtension appEngineRule =
public final AppEngineExtension appEngineExtension =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.withClock(clock)

View file

@ -25,13 +25,13 @@ class GetRegistrarCommandTest extends CommandTestCase<GetRegistrarCommand> {
@Test
void testSuccess() throws Exception {
// This registrar is created by AppEngineRule.
// This registrar is created by AppEngineExtension.
runCommand("NewRegistrar");
}
@Test
void testSuccess_multipleArguments() throws Exception {
// Registrars are created by AppEngineRule.
// Registrars are created by AppEngineExtension.
runCommand("NewRegistrar", "TheRegistrar");
}

View file

@ -67,7 +67,7 @@ class ResaveEnvironmentEntitiesCommandTest
loadRegistrar("TheRegistrar").getContacts();
assertThat(savedEntities)
.containsExactly(
// The Registrars and RegistrarContacts are created by AppEngineRule.
// The Registrars and RegistrarContacts are created by AppEngineExtension.
loadRegistrar("TheRegistrar"),
loadRegistrar("NewRegistrar"),
Registry.get("tld"),

View file

@ -877,7 +877,7 @@ class UpdateRegistrarCommandTest extends CommandTestCase<UpdateRegistrarCommand>
@Test
void testFailure_registrarNameSimilarToExisting() {
// Note that "tHeRe GiStRaR" normalizes identically to "The Registrar", which is created by
// AppEngineRule.
// AppEngineExtension.
assertThrows(
IllegalArgumentException.class,
() -> runCommand("--name tHeRe GiStRaR", "--force", "NewRegistrar"));

View file

@ -63,7 +63,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
public final class ConsoleOteSetupActionTest {
@RegisterExtension
public final AppEngineExtension appEngineRule =
public final AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().build();
@RegisterExtension

View file

@ -66,7 +66,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
final class ConsoleRegistrarCreatorActionTest {
@RegisterExtension
final AppEngineExtension appEngineRule =
final AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().build();
@RegisterExtension

View file

@ -104,7 +104,7 @@ public abstract class RegistrarSettingsActionTestCase {
disallowRegistrarAccess(CLIENT_ID, "newtld");
// Add a technical contact to the registrar (in addition to the default admin contact created by
// AppEngineRule).
// AppEngineExtension).
techContact =
getOnlyElement(loadRegistrar(CLIENT_ID).getContactsOfType(RegistrarContact.Type.TECH));

View file

@ -58,7 +58,7 @@ final class RegistryLockGetActionTest {
private final FakeClock fakeClock = new FakeClock();
@RegisterExtension
final AppEngineExtension appEngineRule =
final AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().withClock(fakeClock).build();
private final FakeResponse response = new FakeResponse();

View file

@ -68,7 +68,7 @@ final class RegistryLockVerifyActionTest {
private final FakeClock fakeClock = new FakeClock();
@RegisterExtension
final AppEngineExtension appEngineRule =
final AppEngineExtension appEngineExtension =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.withClock(fakeClock)

View file

@ -58,7 +58,7 @@ final class RequestStatusCheckerImplTest {
});
}
@RegisterExtension AppEngineExtension appEngineRule = AppEngineExtension.builder().build();
@RegisterExtension AppEngineExtension appEngineExtension = AppEngineExtension.builder().build();
@BeforeEach
void beforeEach() {

View file

@ -61,8 +61,8 @@ class RegistrarConsoleScreenshotTest extends WebDriverTestCase {
route("/registry-lock-verify", FrontendServlet.class))
.setFilters(ObjectifyFilter.class, OfyFilter.class)
.setFixtures(BASIC)
.setEmail("Marla.Singer@crr.com") // from AppEngineRule.makeRegistrarContact3
.setGaeUserId("12345") // from AppEngineRule.makeRegistrarContact3
.setEmail("Marla.Singer@crr.com") // from AppEngineExtension.makeRegistrarContact3
.setGaeUserId("12345") // from AppEngineExtension.makeRegistrarContact3
.build();
@RetryingTest(3)

View file

@ -46,15 +46,15 @@ import org.junit.jupiter.api.extension.ExtensionContext;
/**
* JUnit extension that sets up and tears down {@link TestServer}.
*
* <p><b>Warning:</b> App Engine testing environments are thread local. This rule will spawn that
* testing environment in a separate thread from your unit tests. Therefore any modifications you
* need to make to that testing environment (e.g. Datastore interactions) must be done through the
* {@link #runInAppEngineEnvironment(Callable)} method.
* <p><b>Warning:</b> App Engine testing environments are thread local. This extension will spawn
* that testing environment in a separate thread from your unit tests. Therefore any modifications
* you need to make to that testing environment (e.g. Datastore interactions) must be done through
* the {@link #runInAppEngineEnvironment(Callable)} method.
*/
public final class TestServerExtension implements BeforeEachCallback, AfterEachCallback {
private final ImmutableList<Fixture> fixtures;
private final AppEngineExtension appEngineRule;
private final AppEngineExtension appEngineExtension;
private final BlockingQueue<FutureTask<?>> jobs = new LinkedBlockingDeque<>();
private final ImmutableMap<String, Path> runfiles;
private final ImmutableList<Route> routes;
@ -76,7 +76,7 @@ public final class TestServerExtension implements BeforeEachCallback, AfterEachC
this.fixtures = fixtures;
// We create an GAE-Admin user, and then use AuthenticatedRegistrarAccessor.bypassAdminCheck to
// choose whether the user is an admin or not.
this.appEngineRule =
this.appEngineExtension =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.withLocalModules()
@ -177,12 +177,12 @@ public final class TestServerExtension implements BeforeEachCallback, AfterEachC
public void run() {
try {
try {
appEngineRule.beforeEach(context);
appEngineExtension.beforeEach(context);
this.runInner();
} catch (InterruptedException e) {
// This is what we expect to happen.
} finally {
appEngineRule.afterEach(context);
appEngineExtension.afterEach(context);
}
} catch (Throwable e) {
throw new RuntimeException(e);
@ -194,7 +194,7 @@ public final class TestServerExtension implements BeforeEachCallback, AfterEachC
fixture.load();
}
testServer.start();
System.out.printf("TestServerRule is listening on: %s\n", testServer.getUrl("/"));
System.out.printf("TestServerExtension is listening on: %s\n", testServer.getUrl("/"));
synchronized (TestServerExtension.this) {
isRunning = true;
TestServerExtension.this.notify();

View file

@ -117,7 +117,7 @@ public final class NettyExtension implements AfterEachCallback {
}
void checkReady() {
checkState(clientChannel != null, "Must call setUpClient to finish NettyRule setup");
checkState(clientChannel != null, "Must call setUpClient to finish NettyExtension setup");
}
/**