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) { public AppEngineEnvironment(String appId) {
isPlaceHolderNeeded = ApiProxy.getCurrentEnvironment() == null; 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) { if (isPlaceHolderNeeded) {
ApiProxy.setEnvironmentForCurrentThread(createAppEngineEnvironment(appId)); 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 * A dummy implementation for {@link JpaTransactionManager} which throws exception when any of its
* method is invoked. * 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. * 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 * <p>If a unit test needs to access the Cloud SQL database, it must add {@code
* as a JUnit rule in the test class. * JpaTransactionManagerExtension} as a JUnit extension in the test class.
*/ */
public class DummyJpaTransactionManager { public class DummyJpaTransactionManager {
@ -37,7 +37,7 @@ public class DummyJpaTransactionManager {
(proxy, method, args) -> { (proxy, method, args) -> {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"JpaTransactionManager was not initialized as the runtime is detected as" "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."); + " initialization.");
}); });
} }

View file

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

View file

@ -40,8 +40,8 @@ import google.registry.model.registrar.Registrar;
import google.registry.model.tld.Registry; import google.registry.model.tld.Registry;
import google.registry.model.transfer.ContactTransferData; import google.registry.model.transfer.ContactTransferData;
import google.registry.persistence.transaction.CriteriaQueryBuilder; import google.registry.persistence.transaction.CriteriaQueryBuilder;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.AppEngineExtension; import google.registry.testing.AppEngineExtension;
import google.registry.testing.DatabaseHelper; import google.registry.testing.DatabaseHelper;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
@ -67,7 +67,7 @@ public class RegistryJpaReadTest {
@RegisterExtension @RegisterExtension
final transient JpaIntegrationTestExtension database = final transient JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule(); new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
@RegisterExtension @RegisterExtension
final transient TestPipelineExtension testPipeline = 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.contact.ContactResource;
import google.registry.model.ofy.Ofy; import google.registry.model.ofy.Ofy;
import google.registry.model.registrar.Registrar; import google.registry.model.registrar.Registrar;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.AppEngineExtension; import google.registry.testing.AppEngineExtension;
import google.registry.testing.DatabaseHelper; import google.registry.testing.DatabaseHelper;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
@ -56,11 +56,11 @@ class RegistryJpaWriteTest implements Serializable {
@Order(Order.DEFAULT - 1) @Order(Order.DEFAULT - 1)
final transient DatastoreEntityExtension datastore = new DatastoreEntityExtension(); final transient DatastoreEntityExtension datastore = new DatastoreEntityExtension();
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension(); @RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension @RegisterExtension
final transient JpaIntegrationTestExtension database = final transient JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule(); new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
@RegisterExtension @RegisterExtension
final transient TestPipelineExtension testPipeline = final transient TestPipelineExtension testPipeline =
@ -71,7 +71,7 @@ class RegistryJpaWriteTest implements Serializable {
@BeforeEach @BeforeEach
void beforeEach() throws Exception { void beforeEach() throws Exception {
try (BackupTestStore store = new BackupTestStore(fakeClock)) { try (BackupTestStore store = new BackupTestStore(fakeClock)) {
injectRule.setStaticField(Ofy.class, "clock", fakeClock); injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
// Required for contacts created below. // Required for contacts created below.
Registrar ofyRegistrar = AppEngineExtension.makeRegistrar2(); 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.ofy.Ofy;
import google.registry.model.tld.Registry; import google.registry.model.tld.Registry;
import google.registry.persistence.VKey; import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension; import google.registry.testing.InjectExtension;
@ -62,14 +62,14 @@ public class BackupTestStoreTest {
@RegisterExtension @RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension = final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().buildIntegrationTestRule(); new JpaTestExtensions.Builder().buildIntegrationTestExtension();
@RegisterExtension @RegisterExtension
@Order(value = 1) @Order(value = 1)
final transient DatastoreEntityExtension datastoreEntityExtension = final transient DatastoreEntityExtension datastoreEntityExtension =
new DatastoreEntityExtension(); new DatastoreEntityExtension();
@RegisterExtension InjectExtension injectRule = new InjectExtension(); @RegisterExtension InjectExtension injectExtension = new InjectExtension();
private FakeClock fakeClock; private FakeClock fakeClock;
private BackupTestStore store; private BackupTestStore store;
@ -83,7 +83,7 @@ public class BackupTestStoreTest {
void beforeEach() throws Exception { void beforeEach() throws Exception {
fakeClock = new FakeClock(START_TIME); fakeClock = new FakeClock(START_TIME);
store = new BackupTestStore(fakeClock); store = new BackupTestStore(fakeClock);
injectRule.setStaticField(Ofy.class, "clock", fakeClock); injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
registry = newRegistry("tld1", "TLD1"); registry = newRegistry("tld1", "TLD1");
store.insertOrUpdate(registry); 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.domain.DomainBase;
import google.registry.model.ofy.Ofy; import google.registry.model.ofy.Ofy;
import google.registry.model.tld.Registry; import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension; import google.registry.testing.InjectExtension;
@ -62,11 +62,11 @@ class CommitLogTransformsTest implements Serializable {
@TempDir @TempDir
transient Path tmpDir; transient Path tmpDir;
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension(); @RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension @RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension = final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule(); new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
@RegisterExtension @RegisterExtension
@Order(value = 1) @Order(value = 1)
@ -89,7 +89,7 @@ class CommitLogTransformsTest implements Serializable {
@BeforeEach @BeforeEach
void beforeEach() throws Exception { void beforeEach() throws Exception {
store = new BackupTestStore(fakeClock); store = new BackupTestStore(fakeClock);
injectRule.setStaticField(Ofy.class, "clock", fakeClock); injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
registry = newRegistry("tld1", "TLD1"); registry = newRegistry("tld1", "TLD1");
store.insertOrUpdate(registry); store.insertOrUpdate(registry);

View file

@ -68,14 +68,14 @@ public class DomainBaseUtilTest {
private Key<DomainBase> domainKey; private Key<DomainBase> domainKey;
@RegisterExtension @RegisterExtension
AppEngineExtension appEngineRule = AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().withClock(fakeClock).build(); AppEngineExtension.builder().withDatastoreAndCloudSql().withClock(fakeClock).build();
@RegisterExtension InjectExtension injectRule = new InjectExtension(); @RegisterExtension InjectExtension injectExtension = new InjectExtension();
@BeforeEach @BeforeEach
void beforeEach() { void beforeEach() {
injectRule.setStaticField(Ofy.class, "clock", fakeClock); injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
createTld("com"); createTld("com");
domainKey = Key.create(null, DomainBase.class, "4-COM"); domainKey = Key.create(null, DomainBase.class, "4-COM");
VKey<HostResource> hostKey = 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.domain.DomainBase;
import google.registry.model.ofy.Ofy; import google.registry.model.ofy.Ofy;
import google.registry.model.tld.Registry; import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension; import google.registry.testing.InjectExtension;
@ -70,11 +70,11 @@ class ExportLoadingTransformsTest implements Serializable {
@TempDir @TempDir
transient Path tmpDir; transient Path tmpDir;
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension(); @RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension @RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension = final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().buildIntegrationTestRule(); new JpaTestExtensions.Builder().buildIntegrationTestExtension();
@RegisterExtension @RegisterExtension
@Order(value = 1) @Order(value = 1)
@ -98,7 +98,7 @@ class ExportLoadingTransformsTest implements Serializable {
void beforeEach() throws Exception { void beforeEach() throws Exception {
fakeClock = new FakeClock(START_TIME); fakeClock = new FakeClock(START_TIME);
store = new BackupTestStore(fakeClock); store = new BackupTestStore(fakeClock);
injectRule.setStaticField(Ofy.class, "clock", fakeClock); injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
registry = newRegistry("tld1", "TLD1"); registry = newRegistry("tld1", "TLD1");
store.insertOrUpdate(registry); 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.DomainTransferData;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import google.registry.persistence.VKey; import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.AppEngineExtension; import google.registry.testing.AppEngineExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
@ -108,7 +108,7 @@ class InitSqlPipelineTest {
@Order(Order.DEFAULT - 1) @Order(Order.DEFAULT - 1)
final transient DatastoreEntityExtension datastore = new DatastoreEntityExtension(); final transient DatastoreEntityExtension datastore = new DatastoreEntityExtension();
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension(); @RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@SuppressWarnings("WeakerAccess") @SuppressWarnings("WeakerAccess")
@TempDir @TempDir
@ -120,7 +120,7 @@ class InitSqlPipelineTest {
@RegisterExtension @RegisterExtension
final transient JpaIntegrationTestExtension database = final transient JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationTestRule(); new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationTestExtension();
private File exportRootDir; private File exportRootDir;
private File exportDir; private File exportDir;
@ -141,7 +141,7 @@ class InitSqlPipelineTest {
@BeforeEach @BeforeEach
void beforeEach() throws Exception { void beforeEach() throws Exception {
try (BackupTestStore store = new BackupTestStore(fakeClock)) { 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(); exportRootDir = Files.createDirectory(tmpDir.resolve("exports")).toFile();
persistResource(newRegistry("com", "COM")); 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.eppcommon.AuthInfo.PasswordAuth;
import google.registry.model.ofy.Ofy; import google.registry.model.ofy.Ofy;
import google.registry.model.tld.Registry; import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import google.registry.testing.InjectExtension; import google.registry.testing.InjectExtension;
@ -86,11 +86,11 @@ class LoadDatastoreSnapshotTest {
@TempDir @TempDir
transient Path tmpDir; transient Path tmpDir;
@RegisterExtension final transient InjectExtension injectRule = new InjectExtension(); @RegisterExtension final transient InjectExtension injectExtension = new InjectExtension();
@RegisterExtension @RegisterExtension
final transient JpaIntegrationTestExtension jpaIntegrationTestExtension = final transient JpaIntegrationTestExtension jpaIntegrationTestExtension =
new JpaTestRules.Builder().buildIntegrationTestRule(); new JpaTestExtensions.Builder().buildIntegrationTestExtension();
@RegisterExtension @RegisterExtension
@Order(value = 1) @Order(value = 1)
@ -119,7 +119,7 @@ class LoadDatastoreSnapshotTest {
void beforeEach() throws Exception { void beforeEach() throws Exception {
fakeClock = new FakeClock(START_TIME); fakeClock = new FakeClock(START_TIME);
try (BackupTestStore store = new BackupTestStore(fakeClock)) { 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(); exportRootDir = Files.createDirectory(tmpDir.resolve("export_root")).toFile();
commitLogsDir = Files.createDirectory(tmpDir.resolve("commit_logs")).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.registrar.Registrar;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.tld.Registry; import google.registry.model.tld.Registry;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import google.registry.testing.TestDataHelper; import google.registry.testing.TestDataHelper;
@ -235,7 +235,7 @@ class InvoicingPipelineTest {
@RegisterExtension @RegisterExtension
final JpaIntegrationTestExtension database = final JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(new FakeClock()).buildIntegrationTestRule(); new JpaTestExtensions.Builder().withClock(new FakeClock()).buildIntegrationTestExtension();
@TempDir Path tmpDir; @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.registrar.Registrar.State;
import google.registry.model.tld.Registry; import google.registry.model.tld.Registry;
import google.registry.persistence.VKey; import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.TransactionManagerFactory; import google.registry.persistence.transaction.TransactionManagerFactory;
import google.registry.rde.DepositFragment; import google.registry.rde.DepositFragment;
import google.registry.rde.Ghostryde; import google.registry.rde.Ghostryde;
@ -150,7 +150,7 @@ public class RdePipelineTest {
@RegisterExtension @RegisterExtension
final JpaIntegrationTestExtension database = final JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(clock).buildIntegrationTestRule(); new JpaTestExtensions.Builder().withClock(clock).buildIntegrationTestExtension();
@RegisterExtension @RegisterExtension
final TestPipelineExtension pipeline = 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;
import google.registry.model.reporting.Spec11ThreatMatch.ThreatType; import google.registry.model.reporting.Spec11ThreatMatch.ThreatType;
import google.registry.model.reporting.Spec11ThreatMatchDao; import google.registry.model.reporting.Spec11ThreatMatchDao;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import google.registry.testing.FakeSleeper; import google.registry.testing.FakeSleeper;
@ -126,7 +126,7 @@ class Spec11PipelineTest {
@RegisterExtension @RegisterExtension
final JpaIntegrationTestExtension database = final JpaIntegrationTestExtension database =
new JpaTestRules.Builder().withClock(new FakeClock()).buildIntegrationTestRule(); new JpaTestExtensions.Builder().withClock(new FakeClock()).buildIntegrationTestExtension();
private final Spec11PipelineOptions options = private final Spec11PipelineOptions options =
PipelineOptionsFactory.create().as(Spec11PipelineOptions.class); PipelineOptionsFactory.create().as(Spec11PipelineOptions.class);

View file

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

View file

@ -81,7 +81,7 @@ public class SyncRegistrarsSheetTest {
void beforeEach() { void beforeEach() {
inject.setStaticField(Ofy.class, "clock", clock); inject.setStaticField(Ofy.class, "clock", clock);
createTld("example"); 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 // 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. // _must_ be called in a transaction in JPA.
if (!tm().isOfy()) { if (!tm().isOfy()) {

View file

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

View file

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

View file

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

View file

@ -46,7 +46,7 @@ public class CommitLogMutationTest {
@BeforeEach @BeforeEach
void before() { 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); manifestKey = CommitLogManifest.createKey(CommitLogBucket.getBucketKey(1), NOW);
createTld("tld"); createTld("tld");
someObject = Registry.get("tld"); someObject = Registry.get("tld");

View file

@ -38,7 +38,7 @@ class OfyFilterTest {
private LocalServiceTestHelper helper; private LocalServiceTestHelper helper;
private ObjectifyFactory factory; 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 @BeforeEach
void beforeEach() { void beforeEach() {

View file

@ -83,7 +83,7 @@ public class OfyTest {
.setTrid(Trid.create("client", "server")) .setTrid(Trid.create("client", "server"))
.setXmlBytes("<xml></xml>".getBytes(UTF_8)) .setXmlBytes("<xml></xml>".getBytes(UTF_8))
.build(); .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) { 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 com.google.common.collect.ImmutableMap;
import google.registry.model.tld.label.ReservedList.ReservedListEntry; import google.registry.model.tld.label.ReservedList.ReservedListEntry;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
@ -39,7 +39,7 @@ public class ReservedListDaoTest {
@RegisterExtension @RegisterExtension
JpaIntegrationWithCoverageExtension jpa = JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension(); new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
private ImmutableMap<String, ReservedListEntry> testReservations; 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 static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import javax.persistence.PersistenceException; import javax.persistence.PersistenceException;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -32,7 +32,7 @@ public class ClaimsListDaoTest {
@RegisterExtension @RegisterExtension
final JpaIntegrationWithCoverageExtension jpa = final JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension(); new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
@Test @Test
void save_insertsClaimsListSuccessfully() { void save_insertsClaimsListSuccessfully() {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.util.CidrAddressBlock; import google.registry.util.CidrAddressBlock;
import java.util.List; import java.util.List;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -34,7 +34,7 @@ public class CidrAddressBlockListConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test @Test
void roundTripConversion_returnsSameCidrAddressBlock() { 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.CreateAutoTimestamp;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting; import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@ -36,10 +36,10 @@ public class CreateAutoTimestampConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder() new JpaTestExtensions.Builder()
.withClock(fakeClock) .withClock(fakeClock)
.withEntityClass(TestEntity.class) .withEntityClass(TestEntity.class)
.buildUnitTestRule(); .buildUnitTestExtension();
@Test @Test
void testTypeConversion() { void testTypeConversion() {

View file

@ -21,8 +21,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.registrar.Registrar.BillingAccountEntry; import google.registry.model.registrar.Registrar.BillingAccountEntry;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Map; import java.util.Map;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@ -35,9 +35,7 @@ public class CurrencyToBillingConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder() new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
.withEntityClass(TestEntity.class)
.buildUnitTestRule();
@Test @Test
void roundTripConversion_returnsSameCurrencyToBillingMap() { 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.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting; import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.PersistenceException; import javax.persistence.PersistenceException;
@ -35,7 +35,7 @@ public class CurrencyUnitConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test @Test
void roundTripConversion() { 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.MigrationState;
import google.registry.model.common.DatabaseMigrationStateSchedule.MigrationStateTransition; import google.registry.model.common.DatabaseMigrationStateSchedule.MigrationStateTransition;
import google.registry.model.common.TimedTransitionProperty; import google.registry.model.common.TimedTransitionProperty;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -37,9 +37,9 @@ public class DatabaseMigrationScheduleTransitionConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpa = public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder() new JpaTestExtensions.Builder()
.withEntityClass(DatabaseMigrationScheduleTransitionConverterTestEntity.class) .withEntityClass(DatabaseMigrationScheduleTransitionConverterTestEntity.class)
.buildUnitTestRule(); .buildUnitTestExtension();
private static final ImmutableSortedMap<DateTime, MigrationState> values = private static final ImmutableSortedMap<DateTime, MigrationState> values =
ImmutableSortedMap.of( ImmutableSortedMap.of(

View file

@ -19,8 +19,8 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
import static google.registry.testing.DatabaseHelper.insertInDb; import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.sql.Timestamp; import java.sql.Timestamp;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@ -34,7 +34,7 @@ public class DateTimeConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
private final DateTimeConverter converter = new DateTimeConverter(); 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.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting; import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import org.joda.time.Duration; import org.joda.time.Duration;
@ -34,7 +34,9 @@ public class DurationConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(DurationTestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder()
.withEntityClass(DurationTestEntity.class)
.buildUnitTestExtension();
private final DurationConverter converter = new DurationConverter(); 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 com.google.common.collect.ImmutableMap;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest.EntityForTesting; import google.registry.model.replay.EntityTest.EntityForTesting;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -64,9 +64,9 @@ public class JodaMoneyConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder() new JpaTestExtensions.Builder()
.withEntityClass(TestEntity.class, ComplexTestEntity.class) .withEntityClass(TestEntity.class, ComplexTestEntity.class)
.buildUnitTestRule(); .buildUnitTestExtension();
@Test @Test
void roundTripConversion() { void roundTripConversion() {

View file

@ -21,8 +21,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.replay.EntityTest; import google.registry.model.replay.EntityTest;
import google.registry.persistence.VKey; import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import org.joda.time.LocalDate; import org.joda.time.LocalDate;
@ -35,9 +35,9 @@ public class LocalDateConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder() new JpaTestExtensions.Builder()
.withEntityClass(LocalDateConverterTestEntity.class) .withEntityClass(LocalDateConverterTestEntity.class)
.buildUnitTestRule(); .buildUnitTestExtension();
private final LocalDate exampleDate = LocalDate.parse("2020-06-10", ISODateTimeFormat.date()); 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 com.google.common.collect.ImmutableSet;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.eppcommon.StatusValue; import google.registry.model.eppcommon.StatusValue;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Set; import java.util.Set;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@ -34,7 +34,7 @@ public class StatusValueSetConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test @Test
void testRoundTrip() { void testRoundTrip() {

View file

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

View file

@ -20,8 +20,8 @@ import static google.registry.testing.DatabaseHelper.insertInDb;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Set; import java.util.Set;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@ -33,7 +33,7 @@ public class StringSetConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test @Test
void roundTripConversion_returnsSameStringList() { 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.ImmutableObject;
import google.registry.model.registrar.Registrar.State; import google.registry.model.registrar.Registrar.State;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.EnumType; import javax.persistence.EnumType;
import javax.persistence.Enumerated; import javax.persistence.Enumerated;
@ -34,7 +34,7 @@ public class StringValueEnumeratedTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
@Test @Test
void roundTripConversion_returnsSameEnum() { void roundTripConversion_returnsSameEnum() {

View file

@ -25,8 +25,8 @@ import com.google.common.collect.Maps;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.common.TimedTransitionProperty; import google.registry.model.common.TimedTransitionProperty;
import google.registry.model.common.TimedTransitionProperty.TimedTransition; import google.registry.model.common.TimedTransitionProperty.TimedTransition;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.util.Map; import java.util.Map;
import javax.persistence.Converter; import javax.persistence.Converter;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -41,9 +41,9 @@ class TimedTransitionPropertyConverterBaseTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpa = public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder() new JpaTestExtensions.Builder()
.withEntityClass(TestTimedTransitionPropertyConverter.class, TestEntity.class) .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_1 = DateTime.parse("2001-01-01T00:00:00.000Z");
private static final DateTime DATE_2 = DateTime.parse("2002-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.common.TimedTransitionProperty;
import google.registry.model.tld.Registry.TldState; import google.registry.model.tld.Registry.TldState;
import google.registry.model.tld.Registry.TldStateTransition; import google.registry.model.tld.Registry.TldStateTransition;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -37,9 +37,7 @@ class TldStateTransitionConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpa = public final JpaUnitTestExtension jpa =
new JpaTestRules.Builder() new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
.withEntityClass(TestEntity.class)
.buildUnitTestRule();
private static final ImmutableSortedMap<DateTime, TldState> values = private static final ImmutableSortedMap<DateTime, TldState> values =
ImmutableSortedMap.of( ImmutableSortedMap.of(

View file

@ -19,8 +19,8 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
import static google.registry.testing.DatabaseHelper.insertInDb; import static google.registry.testing.DatabaseHelper.insertInDb;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.time.Instant; import java.time.Instant;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
@ -34,7 +34,7 @@ public class ZonedDateTimeConverterTest {
@RegisterExtension @RegisterExtension
public final JpaUnitTestExtension jpaExtension = public final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withEntityClass(TestEntity.class).buildUnitTestRule(); new JpaTestExtensions.Builder().withEntityClass(TestEntity.class).buildUnitTestExtension();
private final ZonedDateTimeConverter converter = new ZonedDateTimeConverter(); 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 com.google.common.collect.ImmutableList;
import google.registry.model.ImmutableObject; 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 google.registry.testing.FakeClock;
import java.util.List; import java.util.List;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -42,10 +42,10 @@ class CriteriaQueryBuilderTest {
@RegisterExtension @RegisterExtension
final JpaUnitTestExtension jpaExtension = final JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder() new JpaTestExtensions.Builder()
.withClock(fakeClock) .withClock(fakeClock)
.withEntityClass(CriteriaQueryBuilderTestEntity.class) .withEntityClass(CriteriaQueryBuilderTestEntity.class)
.buildUnitTestRule(); .buildUnitTestExtension();
@BeforeEach @BeforeEach
void beforeEach() { void beforeEach() {

View file

@ -35,18 +35,18 @@ import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext; 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. * 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 GOLDEN_SCHEMA_SQL_PATH = "sql/schema/nomulus.golden.sql";
private static final String HSTORE_EXTENSION_SQL_PATH = private static final String HSTORE_EXTENSION_SQL_PATH =
"sql/flyway/V14__load_extension_for_hstore.sql"; "sql/flyway/V14__load_extension_for_hstore.sql";
/** /**
* Junit rule for integration tests with JPA framework, when the underlying database is populated * JUnit extension for integration tests with JPA framework, when the underlying database is
* with the Nomulus Cloud SQL schema. * populated with the Nomulus Cloud SQL schema.
*/ */
public static class JpaIntegrationTestExtension extends JpaTransactionManagerExtension { public static class JpaIntegrationTestExtension extends JpaTransactionManagerExtension {
private JpaIntegrationTestExtension( private JpaIntegrationTestExtension(
@ -83,26 +83,26 @@ public class JpaTestRules {
implements BeforeEachCallback, AfterEachCallback { implements BeforeEachCallback, AfterEachCallback {
private final JpaEntityCoverageExtension jpaEntityCoverage = new JpaEntityCoverageExtension(); private final JpaEntityCoverageExtension jpaEntityCoverage = new JpaEntityCoverageExtension();
private final JpaIntegrationTestExtension integrationTestRule; private final JpaIntegrationTestExtension integrationTestExtension;
JpaIntegrationWithCoverageExtension(JpaIntegrationTestExtension integrationTestRule) { JpaIntegrationWithCoverageExtension(JpaIntegrationTestExtension integrationTestExtension) {
this.integrationTestRule = integrationTestRule; this.integrationTestExtension = integrationTestExtension;
} }
@Override @Override
public void beforeEach(ExtensionContext context) throws Exception { public void beforeEach(ExtensionContext context) throws Exception {
integrationTestRule.beforeEach(context); integrationTestExtension.beforeEach(context);
jpaEntityCoverage.beforeEach(context); jpaEntityCoverage.beforeEach(context);
} }
@Override @Override
public void afterEach(ExtensionContext context) { public void afterEach(ExtensionContext context) {
jpaEntityCoverage.afterEach(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 { public static class Builder {
private String initScript; private String initScript;
@ -150,7 +150,7 @@ public class JpaTestRules {
} }
/** Builds a {@link JpaIntegrationTestExtension} instance. */ /** Builds a {@link JpaIntegrationTestExtension} instance. */
public JpaIntegrationTestExtension buildIntegrationTestRule() { public JpaIntegrationTestExtension buildIntegrationTestExtension() {
return new JpaIntegrationTestExtension( return new JpaIntegrationTestExtension(
clock == null ? new FakeClock(DateTime.now(UTC)) : clock, clock == null ? new FakeClock(DateTime.now(UTC)) : clock,
ImmutableList.copyOf(extraEntityClasses), ImmutableList.copyOf(extraEntityClasses),
@ -163,14 +163,14 @@ public class JpaTestRules {
*/ */
public JpaIntegrationWithCoverageExtension buildIntegrationWithCoverageExtension() { public JpaIntegrationWithCoverageExtension buildIntegrationWithCoverageExtension() {
checkState(initScript == null, "Integration tests do not accept initScript"); 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 * Builds a {@link JpaUnitTestExtension} instance that can also be used as an extension for
* JUnit5. * JUnit5.
*/ */
public JpaUnitTestExtension buildUnitTestRule() { public JpaUnitTestExtension buildUnitTestExtension() {
checkState( checkState(
!Objects.equals(GOLDEN_SCHEMA_SQL_PATH, initScript), !Objects.equals(GOLDEN_SCHEMA_SQL_PATH, initScript),
"Unit tests must not depend on the Nomulus schema."); "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 google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
import static java.nio.charset.StandardCharsets.UTF_8; 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.ByteArrayOutputStream;
import java.io.PrintStream; import java.io.PrintStream;
import java.io.UnsupportedEncodingException; 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.Test;
import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.extension.RegisterExtension;
/** Unit test for {@link JpaTestRules.Builder#withSqlLogging()}. */ /** Unit test for {@link JpaTestExtensions.Builder#withSqlLogging()}. */
class JpaTestRulesSqlLoggingTest { class JpaTestExtensionsSqlLoggingTest {
// Entity under test: configured to log SQL statements to Stdout. // Entity under test: configured to log SQL statements to Stdout.
@RegisterExtension @RegisterExtension
JpaUnitTestExtension jpaExtension = JpaUnitTestExtension jpaExtension =
new JpaTestRules.Builder().withSqlLogging().buildUnitTestRule(); new JpaTestExtensions.Builder().withSqlLogging().buildUnitTestExtension();
private PrintStream orgStdout; private PrintStream orgStdout;
private ByteArrayOutputStream stdoutBuffer; private ByteArrayOutputStream stdoutBuffer;

View file

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

View file

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

View file

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

View file

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

View file

@ -54,14 +54,14 @@ class RdeStagingMapperTest {
ArgumentCaptor.forClass(DepositFragment.class); ArgumentCaptor.forClass(DepositFragment.class);
@RegisterExtension @RegisterExtension
AppEngineExtension appEngineRule = AppEngineExtension appEngineExtension =
AppEngineExtension.builder().withDatastoreAndCloudSql().build(); AppEngineExtension.builder().withDatastoreAndCloudSql().build();
private RdeStagingMapper rdeStagingMapper; private RdeStagingMapper rdeStagingMapper;
@BeforeEach @BeforeEach
void 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". Create one included registrar (external_monitoring) and two excluded ones.
Registrar monitoringRegistrar = Registrar monitoringRegistrar =
persistNewRegistrar("monitoring", "monitoring", Registrar.Type.MONITORING, null); persistNewRegistrar("monitoring", "monitoring", Registrar.Type.MONITORING, null);

View file

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

View file

@ -49,7 +49,7 @@ class IcannHttpReporterTest {
private MockLowLevelHttpRequest mockRequest; private MockLowLevelHttpRequest mockRequest;
@RegisterExtension @RegisterExtension
AppEngineExtension appEngineRule = AppEngineExtension appEngineExtension =
new AppEngineExtension.Builder().withDatastoreAndCloudSql().build(); new AppEngineExtension.Builder().withDatastoreAndCloudSql().build();
private MockHttpTransport createMockTransport( 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.ClaimsListDaoTest;
import google.registry.model.tmch.TmchCrlTest; import google.registry.model.tmch.TmchCrlTest;
import google.registry.persistence.transaction.JpaEntityCoverageExtension; 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.AfterSuiteTest;
import google.registry.schema.integration.SqlIntegrationTestSuite.BeforeSuiteTest; import google.registry.schema.integration.SqlIntegrationTestSuite.BeforeSuiteTest;
import google.registry.schema.registrar.RegistrarDaoTest; 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 com.google.common.collect.ImmutableSet;
import google.registry.model.registrar.Registrar; import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.RegistrarContact; import google.registry.model.registrar.RegistrarContact;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Order;
@ -40,7 +40,7 @@ class RegistrarContactTest {
@RegisterExtension @RegisterExtension
JpaIntegrationWithCoverageExtension jpa = JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().buildIntegrationWithCoverageExtension(); new JpaTestExtensions.Builder().buildIntegrationWithCoverageExtension();
private Registrar testRegistrar; 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.Registrar;
import google.registry.model.registrar.RegistrarAddress; import google.registry.model.registrar.RegistrarAddress;
import google.registry.persistence.VKey; import google.registry.persistence.VKey;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.DatastoreEntityExtension;
import google.registry.testing.FakeClock; import google.registry.testing.FakeClock;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -45,7 +45,7 @@ public class RegistrarDaoTest {
@RegisterExtension @RegisterExtension
JpaIntegrationWithCoverageExtension jpa = JpaIntegrationWithCoverageExtension jpa =
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension(); new JpaTestExtensions.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
private final VKey<Registrar> registrarKey = VKey.createSql(Registrar.class, "registrarId"); 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.beust.jcommander.Parameters;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.net.HostAndPort; 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.AppEngineExtension;
import google.registry.testing.UserInfo; import google.registry.testing.UserInfo;
import google.registry.tools.params.HostAndPortParameter; import google.registry.tools.params.HostAndPortParameter;
@ -134,7 +134,7 @@ public final class RegistryTestServerMain {
final RegistryTestServer server = new RegistryTestServer(address); 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 appEngine =
AppEngineExtension.builder() AppEngineExtension.builder()
.withDatastoreAndCloudSql() .withDatastoreAndCloudSql()
@ -148,7 +148,7 @@ public final class RegistryTestServerMain {
.build(); .build();
appEngine.setUp(); appEngine.setUp();
AppEngineExtension.loadInitialData(); AppEngineExtension.loadInitialData();
new JpaTestRules.Builder().buildIntegrationTestRule().beforeEach(null); new JpaTestExtensions.Builder().buildIntegrationTestExtension().beforeEach(null);
System.out.printf("%sLoading Datastore fixtures...%s\n", BLUE, RESET); System.out.printf("%sLoading Datastore fixtures...%s\n", BLUE, RESET);
for (Fixture fixture : fixtures) { for (Fixture fixture : fixtures) {
fixture.load(); 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.Registrar.State;
import google.registry.model.registrar.RegistrarAddress; import google.registry.model.registrar.RegistrarAddress;
import google.registry.model.registrar.RegistrarContact; import google.registry.model.registrar.RegistrarContact;
import google.registry.persistence.transaction.JpaTestRules; import google.registry.persistence.transaction.JpaTestExtensions;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension;
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
import google.registry.persistence.transaction.JpaTestRules.JpaUnitTestExtension; import google.registry.persistence.transaction.JpaTestExtensions.JpaUnitTestExtension;
import google.registry.util.Clock; import google.registry.util.Clock;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
@ -106,7 +106,8 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
private LocalServiceTestHelper helper; 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 * <p>Note that we can't use {@link TempDir} here because that only works in test classes, not
* extensions. * 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 * Sets up a SQL database. This is for test classes that are not a member of the {@code
* SqlIntegrationTestSuite}. * 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 * 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 JpaIntegrationWithCoverageExtension jpaIntegrationWithCoverageExtension = null;
private JpaUnitTestExtension jpaUnitTestRule; private JpaUnitTestExtension jpaUnitTestExtension;
private boolean withDatastore; private boolean withDatastore;
private boolean withoutCannedData; private boolean withoutCannedData;
@ -141,34 +142,34 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
private String taskQueueXml; private String taskQueueXml;
private UserInfo userInfo; 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<?>> ofyTestEntities;
private ImmutableList<Class<?>> jpaTestEntities; private ImmutableList<Class<?>> jpaTestEntities;
/** Builder for {@link AppEngineExtension}. */ /** Builder for {@link AppEngineExtension}. */
public static class Builder { 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<?>> ofyTestEntities = new ImmutableList.Builder<>();
private ImmutableList.Builder<Class<?>> jpaTestEntities = new ImmutableList.Builder<>(); private ImmutableList.Builder<Class<?>> jpaTestEntities = new ImmutableList.Builder<>();
/** Turn on the Datastore service and the Cloud SQL service. */ /** Turn on the Datastore service and the Cloud SQL service. */
public Builder withDatastoreAndCloudSql() { public Builder withDatastoreAndCloudSql() {
rule.withDatastore = true; extension.withDatastore = true;
rule.withCloudSql = true; extension.withCloudSql = true;
return this; return this;
} }
/** Turns on Cloud SQL only, for use by test data generators. */ /** Turns on Cloud SQL only, for use by test data generators. */
public Builder withCloudSql() { public Builder withCloudSql() {
rule.withCloudSql = true; extension.withCloudSql = true;
rule.withDatastore = false; extension.withDatastore = false;
return this; return this;
} }
/** Disables insertion of canned data. */ /** Disables insertion of canned data. */
public Builder withoutCannedData() { public Builder withoutCannedData() {
rule.withoutCannedData = true; extension.withoutCannedData = true;
return this; return this;
} }
@ -177,13 +178,13 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
* members of SqlIntegrationTestSuite. * members of SqlIntegrationTestSuite.
*/ */
public Builder enableJpaEntityCoverageCheck(boolean enabled) { public Builder enableJpaEntityCoverageCheck(boolean enabled) {
rule.enableJpaEntityCoverageCheck = enabled; extension.enableJpaEntityCoverageCheck = enabled;
return this; return this;
} }
/** Turn on the use of local modules. */ /** Turn on the use of local modules. */
public Builder withLocalModules() { public Builder withLocalModules() {
rule.withLocalModules = true; extension.withLocalModules = true;
return this; 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. */ /** Turn on the task queue service with a specified set of queues. */
public Builder withTaskQueue(String taskQueueXml) { public Builder withTaskQueue(String taskQueueXml) {
rule.withTaskQueue = true; extension.withTaskQueue = true;
rule.taskQueueXml = taskQueueXml; extension.taskQueueXml = taskQueueXml;
return this; return this;
} }
/** Turn on the URL Fetch service. */ /** Turn on the URL Fetch service. */
public Builder withUrlFetch() { public Builder withUrlFetch() {
rule.withUrlFetch = true; extension.withUrlFetch = true;
return this; return this;
} }
public Builder withClock(Clock clock) { public Builder withClock(Clock clock) {
rule.clock = clock; extension.clock = clock;
return this; return this;
} }
public Builder withUserService(UserInfo userInfo) { public Builder withUserService(UserInfo userInfo) {
rule.withUserService = true; extension.withUserService = true;
rule.userInfo = userInfo; extension.userInfo = userInfo;
return this; return this;
} }
@ -236,23 +237,23 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
public Builder withJpaUnitTestEntities(Class<?>... entities) { public Builder withJpaUnitTestEntities(Class<?>... entities) {
jpaTestEntities.add(entities); jpaTestEntities.add(entities);
rule.withJpaUnitTest = true; extension.withJpaUnitTest = true;
return this; return this;
} }
public AppEngineExtension build() { public AppEngineExtension build() {
checkState( checkState(
!rule.enableJpaEntityCoverageCheck || rule.withCloudSql, !extension.enableJpaEntityCoverageCheck || extension.withCloudSql,
"withJpaEntityCoverageCheck enabled without Cloud SQL"); "withJpaEntityCoverageCheck enabled without Cloud SQL");
checkState( checkState(
!rule.withJpaUnitTest || rule.withCloudSql, !extension.withJpaUnitTest || extension.withCloudSql,
"withJpaUnitTestEntities enabled without Cloud SQL"); "withJpaUnitTestEntities enabled without Cloud SQL");
checkState( checkState(
!rule.withJpaUnitTest || !rule.enableJpaEntityCoverageCheck, !extension.withJpaUnitTest || !extension.enableJpaEntityCoverageCheck,
"withJpaUnitTestEntities cannot be set when enableJpaEntityCoverageCheck"); "withJpaUnitTestEntities cannot be set when enableJpaEntityCoverageCheck");
rule.ofyTestEntities = this.ofyTestEntities.build(); extension.ofyTestEntities = this.ofyTestEntities.build();
rule.jpaTestEntities = this.jpaTestEntities.build(); extension.jpaTestEntities = this.jpaTestEntities.build();
return rule; return extension;
} }
} }
@ -366,8 +367,8 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
checkArgumentNotNull(context, "The ExtensionContext must not be null"); checkArgumentNotNull(context, "The ExtensionContext must not be null");
setUp(); setUp();
if (withCloudSql) { if (withCloudSql) {
JpaTestRules.Builder builder = JpaTestExtensions.Builder builder =
new JpaTestRules.Builder().withEntityClass(jpaTestEntities.toArray(new Class[0])); new JpaTestExtensions.Builder().withEntityClass(jpaTestEntities.toArray(new Class[0]));
if (clock != null) { if (clock != null) {
builder.withClock(clock); builder.withClock(clock);
} }
@ -375,11 +376,11 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
jpaIntegrationWithCoverageExtension = builder.buildIntegrationWithCoverageExtension(); jpaIntegrationWithCoverageExtension = builder.buildIntegrationWithCoverageExtension();
jpaIntegrationWithCoverageExtension.beforeEach(context); jpaIntegrationWithCoverageExtension.beforeEach(context);
} else if (withJpaUnitTest) { } else if (withJpaUnitTest) {
jpaUnitTestRule = builder.buildUnitTestRule(); jpaUnitTestExtension = builder.buildUnitTestExtension();
jpaUnitTestRule.beforeEach(context); jpaUnitTestExtension.beforeEach(context);
} else { } else {
jpaIntegrationTestRule = builder.buildIntegrationTestRule(); jpaIntegrationTestExtension = builder.buildIntegrationTestExtension();
jpaIntegrationTestRule.beforeEach(context); jpaIntegrationTestExtension.beforeEach(context);
} }
} }
if (isWithDatastoreAndCloudSql()) { if (isWithDatastoreAndCloudSql()) {
@ -491,9 +492,9 @@ public final class AppEngineExtension implements BeforeEachCallback, AfterEachCa
if (enableJpaEntityCoverageCheck) { if (enableJpaEntityCoverageCheck) {
jpaIntegrationWithCoverageExtension.afterEach(context); jpaIntegrationWithCoverageExtension.afterEach(context);
} else if (withJpaUnitTest) { } else if (withJpaUnitTest) {
jpaUnitTestRule.afterEach(context); jpaUnitTestExtension.afterEach(context);
} else { } else {
jpaIntegrationTestRule.afterEach(context); jpaIntegrationTestExtension.afterEach(context);
} }
} }
tearDown(); tearDown();

View file

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

View file

@ -115,9 +115,9 @@ class DualDatabaseTestInvocationContextProvider implements TestTemplateInvocatio
appEngineExtensionFields.size())); appEngineExtensionFields.size()));
} }
appEngineExtensionFields.get(0).setAccessible(true); appEngineExtensionFields.get(0).setAccessible(true);
AppEngineExtension appEngineRule = AppEngineExtension appEngineExtension =
(AppEngineExtension) appEngineExtensionFields.get(0).get(testInstance); (AppEngineExtension) appEngineExtensionFields.get(0).get(testInstance);
if (!appEngineRule.isWithDatastoreAndCloudSql()) { if (!appEngineExtension.isWithDatastoreAndCloudSql()) {
throw new IllegalStateException( throw new IllegalStateException(
"AppEngineExtension in @DualDatabaseTest test must set withDatastoreAndCloudSql()"); "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 google.registry.model.eppinput.EppInput;
import java.util.Map; 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 { public class EppLoader {
private String eppXml; private String eppXml;

View file

@ -19,7 +19,7 @@ import com.google.appengine.api.users.UserService;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; 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. */ /** Fake implementation of {@link UserService} for testing. */
public class FakeUserService implements UserService { public class FakeUserService implements UserService {

View file

@ -37,9 +37,9 @@ import org.junit.jupiter.api.extension.ExtensionContext;
/** /**
* GnuPG system command JUnit extension. * GnuPG system command JUnit extension.
* *
* <p>This rule creates a isolated environment for running the {@code gpg} command inside system * <p>This extension creates a isolated environment for running the {@code gpg} command inside
* integration tests. It reduces a lot of the boilerplate of setting up the shell environment and * system integration tests. It reduces a lot of the boilerplate of setting up the shell environment
* importing your keyrings into a temporary config folder. * and importing your keyrings into a temporary config folder.
*/ */
public final class GpgSystemCommandExtension implements BeforeEachCallback, AfterEachCallback { 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. * 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 * <p>This extension uses reflection to change the value of a field while your test is running and
* restore it to its original value after it's done (even if the test fails). The injection will * then restore it to its original value after it's done (even if the test fails). The injection
* work even if the field is marked {@code private} (but not if it's {@code final}). The downside is * will work even if the field is marked {@code private} (but not if it's {@code final}). The
* that if you rename the field in the future, IDE refactoring won't be smart enough to update the * downside is that if you rename the field in the future, IDE refactoring won't be smart enough to
* injection site. * update the injection site.
* *
* <p>We encourage you to consider using {@link google.registry.util.NonFinalForTesting * <p>We encourage you to consider using {@link google.registry.util.NonFinalForTesting
* &#064;NonFinalForTesting} to document your injected fields. * &#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. * 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 * <p>In most scenarios this class should be the last extension/extension to apply. In JUnit 5,
* {@code @Order(value = Integer.MAX_VALUE)} to the extension. * apply {@code @Order(value = Integer.MAX_VALUE)} to the extension.
*/ */
public final class SystemPropertyExtension public final class SystemPropertyExtension
implements SystemPropertySetter, BeforeEachCallback, AfterEachCallback { 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. * <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. * 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) * @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. * 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 * <p>This extension is necessary because many caches in the system are singleton and referenced
* static fields. * through static fields.
*/ */
public class TestCacheExtension implements BeforeEachCallback, AfterEachCallback { public class TestCacheExtension implements BeforeEachCallback, AfterEachCallback {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -61,8 +61,8 @@ class RegistrarConsoleScreenshotTest extends WebDriverTestCase {
route("/registry-lock-verify", FrontendServlet.class)) route("/registry-lock-verify", FrontendServlet.class))
.setFilters(ObjectifyFilter.class, OfyFilter.class) .setFilters(ObjectifyFilter.class, OfyFilter.class)
.setFixtures(BASIC) .setFixtures(BASIC)
.setEmail("Marla.Singer@crr.com") // from AppEngineRule.makeRegistrarContact3 .setEmail("Marla.Singer@crr.com") // from AppEngineExtension.makeRegistrarContact3
.setGaeUserId("12345") // from AppEngineRule.makeRegistrarContact3 .setGaeUserId("12345") // from AppEngineExtension.makeRegistrarContact3
.build(); .build();
@RetryingTest(3) @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}. * 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 * <p><b>Warning:</b> App Engine testing environments are thread local. This extension will spawn
* testing environment in a separate thread from your unit tests. Therefore any modifications you * that testing environment in a separate thread from your unit tests. Therefore any modifications
* need to make to that testing environment (e.g. Datastore interactions) must be done through the * you need to make to that testing environment (e.g. Datastore interactions) must be done through
* {@link #runInAppEngineEnvironment(Callable)} method. * the {@link #runInAppEngineEnvironment(Callable)} method.
*/ */
public final class TestServerExtension implements BeforeEachCallback, AfterEachCallback { public final class TestServerExtension implements BeforeEachCallback, AfterEachCallback {
private final ImmutableList<Fixture> fixtures; private final ImmutableList<Fixture> fixtures;
private final AppEngineExtension appEngineRule; private final AppEngineExtension appEngineExtension;
private final BlockingQueue<FutureTask<?>> jobs = new LinkedBlockingDeque<>(); private final BlockingQueue<FutureTask<?>> jobs = new LinkedBlockingDeque<>();
private final ImmutableMap<String, Path> runfiles; private final ImmutableMap<String, Path> runfiles;
private final ImmutableList<Route> routes; private final ImmutableList<Route> routes;
@ -76,7 +76,7 @@ public final class TestServerExtension implements BeforeEachCallback, AfterEachC
this.fixtures = fixtures; this.fixtures = fixtures;
// We create an GAE-Admin user, and then use AuthenticatedRegistrarAccessor.bypassAdminCheck to // We create an GAE-Admin user, and then use AuthenticatedRegistrarAccessor.bypassAdminCheck to
// choose whether the user is an admin or not. // choose whether the user is an admin or not.
this.appEngineRule = this.appEngineExtension =
AppEngineExtension.builder() AppEngineExtension.builder()
.withDatastoreAndCloudSql() .withDatastoreAndCloudSql()
.withLocalModules() .withLocalModules()
@ -177,12 +177,12 @@ public final class TestServerExtension implements BeforeEachCallback, AfterEachC
public void run() { public void run() {
try { try {
try { try {
appEngineRule.beforeEach(context); appEngineExtension.beforeEach(context);
this.runInner(); this.runInner();
} catch (InterruptedException e) { } catch (InterruptedException e) {
// This is what we expect to happen. // This is what we expect to happen.
} finally { } finally {
appEngineRule.afterEach(context); appEngineExtension.afterEach(context);
} }
} catch (Throwable e) { } catch (Throwable e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -194,7 +194,7 @@ public final class TestServerExtension implements BeforeEachCallback, AfterEachC
fixture.load(); fixture.load();
} }
testServer.start(); 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) { synchronized (TestServerExtension.this) {
isRunning = true; isRunning = true;
TestServerExtension.this.notify(); TestServerExtension.this.notify();

View file

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