Remove ofy scaffolding from DomainContent and core classes (#1660)

This removes the code that converts between ofy fields and SQL fields in DomainContent and a number of related core classes (basically anything that also needed modification to support the removal from DomainContent).
This commit is contained in:
Michael Muller
2022-06-29 14:39:25 -04:00
committed by GitHub
parent 18d51738ce
commit 9b8f10c595
62 changed files with 740 additions and 914 deletions
@@ -191,7 +191,8 @@ class DeleteExpiredDomainsActionTest {
.asBuilder()
.setAutorenewEndTime(Optional.of(clock.nowUtc().minusDays(10)))
.setAutorenewBillingEvent(autorenewBillingEvent.createVKey())
.setAutorenewPollMessage(autorenewPollMessage.createVKey())
.setAutorenewPollMessage(
autorenewPollMessage.createVKey(), autorenewPollMessage.getHistoryRevisionId())
.build());
return pendingExpirationDomain;
@@ -216,6 +217,6 @@ class DeleteExpiredDomainsActionTest {
.setRegistrarId("TheRegistrar")
.setEventTime(clock.nowUtc().plusYears(1))
.setAutorenewEndTime(END_OF_TIME)
.setParent(createHistoryEntry);
.setHistoryEntry(createHistoryEntry);
}
}
@@ -316,7 +316,7 @@ class DeleteProberDataActionTest {
PollMessage.OneTime pollMessage =
persistSimpleResource(
new PollMessage.OneTime.Builder()
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setEventTime(DELETION_TIME)
.setRegistrarId("TheRegistrar")
.setMsg("Domain registered")
@@ -311,6 +311,10 @@ public class RdePipelineTest {
persistDomainHistory(
helloDomain
.asBuilder()
.removeContacts(
helloDomain.getContacts().stream()
.filter(dc -> dc.getType() == DesignatedContact.Type.ADMIN)
.collect(toImmutableSet()))
.addContacts(
ImmutableSet.of(
DesignatedContact.create(DesignatedContact.Type.ADMIN, contact3.createVKey())))
@@ -107,6 +107,8 @@ class ContactTransferRequestFlowTest
// Make the server-approve entities field a no-op comparison; it's easier to
// do this comparison separately below.
.setServerApproveEntities(
contact.getRepoId(),
contact.getTransferData().getHistoryEntryId(),
forceEmptyToNull(contact.getTransferData().getServerApproveEntities()))
.build());
assertNoBillingEvents();
@@ -34,7 +34,7 @@ public class TestDomainCreateFlowCustomLogic extends DomainCreateFlowCustomLogic
if (parameters.newDomain().getDomainName().startsWith("custom-logic-test")) {
PollMessage extraPollMessage =
new PollMessage.OneTime.Builder()
.setParent(parameters.historyEntry())
.setHistoryEntry(parameters.historyEntry())
.setEventTime(tm().getTransactionTime())
.setRegistrarId(getSessionMetadata().get().getRegistrarId())
.setMsg("Custom logic was triggered")
@@ -348,7 +348,7 @@ class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow, Domain
.setRegistrarId("TheRegistrar")
.setEventTime(domain.getRegistrationExpirationTime())
.setMsg("Domain was auto-renewed.")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build());
assertGracePeriods(
@@ -1656,10 +1656,10 @@ class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow, Domain
.setRegistrarId("TheRegistrar")
.setEventTime(domain.getRegistrationExpirationTime())
.setMsg("Domain was auto-renewed.")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build(),
new PollMessage.OneTime.Builder()
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setEventTime(domain.getCreationTime())
.setRegistrarId("TheRegistrar")
.setMsg(DomainFlowUtils.COLLISION_MESSAGE)
@@ -1811,10 +1811,10 @@ class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow, Domain
.setRegistrarId("TheRegistrar")
.setEventTime(domain.getRegistrationExpirationTime())
.setMsg("Domain was auto-renewed.")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build(),
new PollMessage.OneTime.Builder()
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setEventTime(domain.getCreationTime())
.setRegistrarId("TheRegistrar")
.setMsg("Custom logic was triggered")
@@ -149,7 +149,8 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
domain
.asBuilder()
.setAutorenewBillingEvent(autorenewBillingEvent.createVKey())
.setAutorenewPollMessage(autorenewPollMessage.createVKey())
.setAutorenewPollMessage(
autorenewPollMessage.createVKey(), autorenewPollMessage.getHistoryRevisionId())
.build());
assertTransactionalFlow(true);
@@ -215,7 +216,8 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
"TheRegistrar",
autorenewBillingEvent.createVKey())))
.setAutorenewBillingEvent(autorenewBillingEvent.createVKey())
.setAutorenewPollMessage(autorenewPollMessage.createVKey())
.setAutorenewPollMessage(
autorenewPollMessage.createVKey(), autorenewPollMessage.getHistoryRevisionId())
.build());
assertTransactionalFlow(true);
}
@@ -281,7 +283,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
.setRegistrarId(registrarId)
.setEventTime(A_MONTH_FROM_NOW)
.setAutorenewEndTime(END_OF_TIME)
.setParent(earlierHistoryEntry);
.setHistoryEntry(earlierHistoryEntry);
}
@TestOfyAndSql
@@ -481,8 +483,8 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
DateTime deletionTime = domain.getDeletionTime();
assertThat(getPollMessages("TheRegistrar", deletionTime.minusMinutes(1))).isEmpty();
assertThat(getPollMessages("TheRegistrar", deletionTime)).hasSize(1);
assertThat(domain.getDeletePollMessage().getOfyKey())
.isEqualTo(getOnlyPollMessage("TheRegistrar").createVKey().getOfyKey());
assertThat(domain.getDeletePollMessage())
.isEqualTo(getOnlyPollMessage("TheRegistrar").createVKey());
PollMessage.OneTime deletePollMessage = loadByKey(domain.getDeletePollMessage());
assertThat(deletePollMessage.getMsg()).isEqualTo(expectedMessage);
}
@@ -841,7 +843,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
assertPollMessages(
new PollMessage.OneTime.Builder()
.setRegistrarId("TheRegistrar")
.setParent(deleteHistoryEntry)
.setHistoryEntry(deleteHistoryEntry)
.setEventTime(now)
.setMsg(
"Domain example.tld was deleted by registry administrator with final deletion"
@@ -853,7 +855,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
.build(),
new PollMessage.OneTime.Builder()
.setRegistrarId("TheRegistrar")
.setParent(deleteHistoryEntry)
.setHistoryEntry(deleteHistoryEntry)
.setEventTime(DateTime.parse("2000-07-11T22:00:00.012Z"))
.setMsg("Deleted by registry administrator.")
.setResponseData(
@@ -169,7 +169,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, DomainBa
.setEventTime(expirationTime)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainCreate)
.setHistoryEntry(historyEntryDomainCreate)
.build();
DomainBase newDomain =
domain
@@ -177,7 +177,9 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, DomainBa
.setRegistrationExpirationTime(expirationTime)
.setStatusValues(ImmutableSet.copyOf(statusValues))
.setAutorenewBillingEvent(autorenewEvent.createVKey())
.setAutorenewPollMessage(autorenewPollMessage.createVKey())
.setAutorenewPollMessage(
autorenewPollMessage.createVKey(),
autorenewPollMessage.getHistoryRevisionId())
.build();
persistResources(
ImmutableSet.of(
@@ -307,7 +309,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, DomainBa
.setEventTime(domain.getRegistrationExpirationTime())
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainRenew)
.setHistoryEntry(historyEntryDomainRenew)
.build());
assertGracePeriods(
domain.getGracePeriods(),
@@ -647,7 +649,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, DomainBa
.setEventTime(expirationTime.minusYears(1))
.setAutorenewEndTime(clock.nowUtc())
.setMsg("Domain was auto-renewed.")
.setParent(
.setHistoryEntry(
getOnlyHistoryEntryOfType(
reloadResourceByForeignKey(), HistoryEntry.Type.DOMAIN_CREATE))
.build(),
@@ -657,7 +659,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, DomainBa
.setEventTime(reloadResourceByForeignKey().getRegistrationExpirationTime())
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainRenew)
.setHistoryEntry(historyEntryDomainRenew)
.build());
}
@@ -139,7 +139,7 @@ class DomainRestoreRequestFlowTest
new PollMessage.OneTime.Builder()
.setRegistrarId("TheRegistrar")
.setEventTime(clock.nowUtc().plusDays(5))
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build())
.createVKey())
.build());
@@ -202,7 +202,7 @@ class DomainRestoreRequestFlowTest
.setEventTime(domain.getRegistrationExpirationTime())
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainRestore)
.setHistoryEntry(historyEntryDomainRestore)
.build());
// There should be a onetime for the restore and a new recurring billing event, but no renew
// onetime.
@@ -271,7 +271,7 @@ class DomainRestoreRequestFlowTest
.setEventTime(domain.getRegistrationExpirationTime())
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainRestore)
.setHistoryEntry(historyEntryDomainRestore)
.build());
// There should be a bill for the restore and an explicit renew, along with a new recurring
// autorenew event.
@@ -97,7 +97,7 @@ class DomainTransferCancelFlowTest
.setEventTime(EXTENDED_REGISTRATION_EXPIRATION_TIME)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainTransferRequest)
.setHistoryEntry(historyEntryDomainTransferRequest)
.build(),
createPollMessageForImplicitTransfer(
domain,
@@ -164,7 +164,7 @@ class DomainTransferCancelFlowTest
.setEventTime(originalExpirationTime)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(getOnlyHistoryEntryOfType(domain, DOMAIN_CREATE))
.setHistoryEntry(getOnlyHistoryEntryOfType(domain, DOMAIN_CREATE))
.build(),
new PollMessage.OneTime.Builder()
.setRegistrarId("TheRegistrar")
@@ -180,7 +180,7 @@ class DomainTransferCancelFlowTest
.setPendingTransferExpirationTime(clock.nowUtc())
.build()))
.setMsg("Transfer cancelled.")
.setParent(getOnlyHistoryEntryOfType(domain, DOMAIN_TRANSFER_CANCEL))
.setHistoryEntry(getOnlyHistoryEntryOfType(domain, DOMAIN_TRANSFER_CANCEL))
.build());
// The original grace periods should remain untouched.
@@ -1160,7 +1160,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
updatedDomain,
new PollMessage.OneTime.Builder()
.setEventTime(clock.nowUtc())
.setParent(getOnlyHistoryEntryOfType(updatedDomain, DOMAIN_UPDATE))
.setHistoryEntry(getOnlyHistoryEntryOfType(updatedDomain, DOMAIN_UPDATE))
.setRegistrarId("NewRegistrar")
.setMsg("The registry administrator has added the status(es) [serverHold].")
.setResponseData(
@@ -1199,7 +1199,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
updatedDomain,
new PollMessage.OneTime.Builder()
.setEventTime(clock.nowUtc())
.setParent(getOnlyHistoryEntryOfType(updatedDomain, DOMAIN_UPDATE))
.setHistoryEntry(getOnlyHistoryEntryOfType(updatedDomain, DOMAIN_UPDATE))
.setRegistrarId("NewRegistrar")
.setMsg(
"The registry administrator has removed the status(es) [serverHold,"
@@ -1237,7 +1237,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase<DomainUpdateFlow, Domain
updatedDomain,
new PollMessage.OneTime.Builder()
.setEventTime(clock.nowUtc())
.setParent(getOnlyHistoryEntryOfType(updatedDomain, DOMAIN_UPDATE))
.setHistoryEntry(getOnlyHistoryEntryOfType(updatedDomain, DOMAIN_UPDATE))
.setRegistrarId("NewRegistrar")
.setMsg(
"The registry administrator has added the status(es) [serverHold,"
@@ -70,7 +70,7 @@ class PollAckFlowTest extends FlowTestCase<PollAckFlow> {
.setRegistrarId(getRegistrarIdForFlow())
.setEventTime(clock.nowUtc().minusDays(1))
.setMsg("Some poll message.")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
}
@@ -83,7 +83,7 @@ class PollAckFlowTest extends FlowTestCase<PollAckFlow> {
.setAutorenewEndTime(endTime)
.setMsg("Domain was auto-renewed.")
.setTargetId("example.com")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
}
@@ -102,7 +102,7 @@ class PollAckFlowTest extends FlowTestCase<PollAckFlow> {
.setRegistrarId(getRegistrarIdForFlow())
.setEventTime(clock.nowUtc().minusDays(1))
.setMsg("Some poll message.")
.setParent(createHistoryEntryForEppResource(contact))
.setHistoryEntry(createHistoryEntryForEppResource(contact))
.build());
assertTransactionalFlow(true);
runFlowAssertResponse(loadFile("poll_ack_response_empty.xml"));
@@ -117,7 +117,7 @@ class PollAckFlowTest extends FlowTestCase<PollAckFlow> {
.setRegistrarId(getRegistrarIdForFlow())
.setEventTime(clock.nowUtc().minusDays(1))
.setMsg("Some poll message.")
.setParent(createHistoryEntryForEppResource(contact))
.setHistoryEntry(createHistoryEntryForEppResource(contact))
.build());
assertTransactionalFlow(true);
assertThrows(MessageDoesNotExistException.class, this::runFlow);
@@ -205,7 +205,7 @@ class PollAckFlowTest extends FlowTestCase<PollAckFlow> {
.setRegistrarId(getRegistrarIdForFlow())
.setEventTime(clock.nowUtc().minusDays(1))
.setMsg("Some poll message.")
.setParent(createHistoryEntryForEppResource(contact))
.setHistoryEntry(createHistoryEntryForEppResource(contact))
.build());
assertTransactionalFlow(true);
assertThrows(InvalidMessageIdException.class, this::runFlow);
@@ -240,7 +240,7 @@ class PollAckFlowTest extends FlowTestCase<PollAckFlow> {
.setRegistrarId("TheRegistrar")
.setEventTime(clock.nowUtc().minusDays(1))
.setMsg("Some poll message.")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
assertTransactionalFlow(true);
assertThrows(NotAuthorizedToAckMessageException.class, this::runFlow);
@@ -254,7 +254,7 @@ class PollAckFlowTest extends FlowTestCase<PollAckFlow> {
.setRegistrarId(getRegistrarIdForFlow())
.setEventTime(clock.nowUtc().plusDays(1))
.setMsg("Some poll message.")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
assertTransactionalFlow(true);
Exception e = assertThrows(MessageDoesNotExistException.class, this::runFlow);
@@ -87,7 +87,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
.setPendingTransferExpirationTime(clock.nowUtc().minusDays(1))
.setExtendedRegistrationExpirationTime(clock.nowUtc().plusYears(1))
.build()))
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
}
@@ -125,7 +125,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
.setLosingRegistrarId("NewRegistrar")
.setPendingTransferExpirationTime(clock.nowUtc())
.build()))
.setParent(createHistoryEntryForEppResource(contact))
.setHistoryEntry(createHistoryEntryForEppResource(contact))
.build());
assertTransactionalFlow(false);
runFlowAssertResponse(loadFile("poll_response_contact_transfer.xml"));
@@ -145,7 +145,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
true,
Trid.create("ABC-12345", "other-trid"),
clock.nowUtc())))
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
assertTransactionalFlow(false);
runFlowAssertResponse(loadFile("poll_response_domain_pending_notification.xml"));
@@ -169,7 +169,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
true,
Trid.create("ABC-12345", "other-trid"),
clock.nowUtc())))
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
assertTransactionalFlow(false);
runFlowAssertResponse(loadFile("poll_message_domain_pending_action_immediate_delete.xml"));
@@ -183,7 +183,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
.setEventTime(clock.nowUtc().minusDays(1))
.setMsg("Domain was auto-renewed.")
.setTargetId("test.example")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
assertTransactionalFlow(false);
runFlowAssertResponse(loadFile("poll_response_autorenew.xml"));
@@ -201,7 +201,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
.setRegistrarId("BadRegistrar")
.setEventTime(clock.nowUtc().minusDays(1))
.setMsg("Poll message")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
runFlowAssertResponse(loadFile("poll_response_empty.xml"));
}
@@ -213,7 +213,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
.setRegistrarId(getRegistrarIdForFlow())
.setEventTime(clock.nowUtc().plusDays(1))
.setMsg("Poll message")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
runFlowAssertResponse(loadFile("poll_response_empty.xml"));
}
@@ -226,7 +226,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
.setEventTime(clock.nowUtc().plusDays(1))
.setMsg("Domain was auto-renewed.")
.setTargetId("target.example")
.setParent(createHistoryEntryForEppResource(domain))
.setHistoryEntry(createHistoryEntryForEppResource(domain))
.build());
assertTransactionalFlow(false);
runFlowAssertResponse(loadFile("poll_response_empty.xml"));
@@ -248,7 +248,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
new PollMessage.OneTime.Builder()
.setRegistrarId("NewRegistrar")
.setMsg("Deleted contact jd1234")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setEventTime(clock.nowUtc().minusDays(1))
.build());
assertTransactionalFlow(false);
@@ -271,7 +271,7 @@ class PollRequestFlowTest extends FlowTestCase<PollRequestFlow> {
new PollMessage.OneTime.Builder()
.setRegistrarId("NewRegistrar")
.setMsg("Deleted host ns1.test.example")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setEventTime(clock.nowUtc().minusDays(1))
.build());
clock.advanceOneMilli();
@@ -156,7 +156,7 @@ public class ContactResourceTest extends EntityTestCase {
originalContact
.getTransferData()
.asBuilder()
.setServerApproveEntities(null)
.setServerApproveEntities(null, null, null)
.build())
.build();
assertAboutImmutableObjects().that(persisted).isEqualExceptFields(fixed, "updateTimestamp");
@@ -422,14 +422,14 @@ public class DomainBaseSqlTest {
.setId(300L)
.setRegistrarId("registrar1")
.setEventTime(DateTime.now(UTC).plusYears(1))
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build();
PollMessage.OneTime deletePollMessage =
new PollMessage.OneTime.Builder()
.setId(400L)
.setRegistrarId("registrar1")
.setEventTime(DateTime.now(UTC).plusYears(1))
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build();
BillingEvent.OneTime oneTimeBillingEvent =
new BillingEvent.OneTime.Builder()
@@ -469,7 +469,8 @@ public class DomainBaseSqlTest {
domain
.asBuilder()
.setAutorenewBillingEvent(billEvent.createVKey())
.setAutorenewPollMessage(autorenewPollMessage.createVKey())
.setAutorenewPollMessage(
autorenewPollMessage.createVKey(), autorenewPollMessage.getHistoryRevisionId())
.setDeletePollMessage(deletePollMessage.createVKey())
.setTransferData(transferData)
.setGracePeriods(gracePeriods)
@@ -548,14 +549,14 @@ public class DomainBaseSqlTest {
.setId(300L)
.setRegistrarId("registrar1")
.setEventTime(DateTime.now(UTC).plusYears(1))
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build();
PollMessage.OneTime deletePollMessage =
new PollMessage.OneTime.Builder()
.setId(400L)
.setRegistrarId("registrar1")
.setEventTime(DateTime.now(UTC).plusYears(1))
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build();
BillingEvent.OneTime oneTimeBillingEvent =
new BillingEvent.OneTime.Builder()
@@ -572,6 +573,8 @@ public class DomainBaseSqlTest {
.build();
DomainTransferData transferData =
createPendingTransferData(
domain.getRepoId(),
historyEntry.getId(),
new DomainTransferData.Builder()
.setTransferRequestTrid(Trid.create("foo", "bar"))
.setTransferRequestTime(fakeClock.nowUtc())
@@ -601,7 +604,8 @@ public class DomainBaseSqlTest {
.setAutorenewBillingEvent(
createLegacyVKey(BillingEvent.Recurring.class, billEvent.getId()))
.setAutorenewPollMessage(
createLegacyVKey(PollMessage.Autorenew.class, autorenewPollMessage.getId()))
createLegacyVKey(PollMessage.Autorenew.class, autorenewPollMessage.getId()),
autorenewPollMessage.getHistoryRevisionId())
.setDeletePollMessage(
createLegacyVKey(PollMessage.OneTime.class, deletePollMessage.getId()))
.setTransferData(transferData)
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth8.assertThat;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.testing.DatabaseHelper.cloneAndSetAutoTimestamps;
import static google.registry.testing.DatabaseHelper.createTld;
import static google.registry.testing.DatabaseHelper.insertInDb;
import static google.registry.testing.DatabaseHelper.newDomainBase;
import static google.registry.testing.DatabaseHelper.newHostResource;
import static google.registry.testing.DatabaseHelper.persistActiveContact;
@@ -28,6 +29,7 @@ import static google.registry.testing.DatabaseHelper.persistActiveDomain;
import static google.registry.testing.DatabaseHelper.persistActiveHost;
import static google.registry.testing.DatabaseHelper.persistResource;
import static google.registry.testing.DomainBaseSubject.assertAboutDomains;
import static google.registry.testing.SqlHelper.saveRegistrar;
import static google.registry.util.DateTimeUtils.END_OF_TIME;
import static google.registry.util.DateTimeUtils.START_OF_TIME;
import static org.joda.money.CurrencyUnit.USD;
@@ -41,7 +43,6 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Ordering;
import com.google.common.collect.Streams;
import com.googlecode.objectify.Key;
import google.registry.model.EntityTestCase;
import google.registry.model.ImmutableObject;
import google.registry.model.ImmutableObjectSubject;
import google.registry.model.billing.BillingEvent;
@@ -62,15 +63,28 @@ import google.registry.model.tld.Registry;
import google.registry.model.transfer.DomainTransferData;
import google.registry.model.transfer.TransferStatus;
import google.registry.persistence.VKey;
import google.registry.testing.AppEngineExtension;
import google.registry.testing.FakeClock;
import java.util.Optional;
import org.joda.money.Money;
import org.joda.time.DateTime;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
/** Unit tests for {@link DomainBase}. */
@SuppressWarnings("WeakerAccess") // Referred to by EppInputTest.
public class DomainBaseTest extends EntityTestCase {
public class DomainBaseTest {
protected FakeClock fakeClock = new FakeClock(DateTime.now(UTC));
@RegisterExtension
public final AppEngineExtension appEngine =
AppEngineExtension.builder()
.withDatastoreAndCloudSql()
.enableJpaEntityCoverageCheck(true)
.withClock(fakeClock)
.build();
private DomainBase domain;
private VKey<BillingEvent.OneTime> oneTimeBillKey;
@@ -80,6 +94,10 @@ public class DomainBaseTest extends EntityTestCase {
@BeforeEach
void setUp() {
saveRegistrar("registrar1");
saveRegistrar("registrar2");
saveRegistrar("losing");
saveRegistrar("gaining");
createTld("com");
domain = persistActiveDomain("example.com");
VKey<HostResource> hostKey = persistActiveHost("ns1.example.com").createVKey();
@@ -107,19 +125,48 @@ public class DomainBaseTest extends EntityTestCase {
.setParent(domainHistory)
.build())
.createVKey();
recurringBillKey =
persistResource(
new BillingEvent.Recurring.Builder()
.setReason(Reason.RENEW)
.setFlags(ImmutableSet.of(Flag.AUTO_RENEW))
.setTargetId(domain.getDomainName())
.setRegistrarId(domain.getCurrentSponsorRegistrarId())
.setDomainRepoId(domain.getRepoId())
.setEventTime(DateTime.now(UTC).plusYears(1))
.setRecurrenceEndTime(END_OF_TIME)
.setParent(domainHistory)
.build())
.createVKey();
DomainHistory historyEntry =
new DomainHistory.Builder()
.setId(100L)
.setType(HistoryEntry.Type.DOMAIN_CREATE)
.setPeriod(Period.create(1, Period.Unit.YEARS))
.setModificationTime(DateTime.now(UTC))
.setDomainRepoId(domain.getRepoId())
.setRegistrarId(domain.getCurrentSponsorRegistrarId())
// These are non-null, but I don't think some tests set them.
.setReason("felt like it")
.setRequestedByRegistrar(false)
.setXmlBytes(new byte[0])
.build();
BillingEvent.OneTime oneTimeBill =
new BillingEvent.OneTime.Builder()
.setId(500L)
// Use SERVER_STATUS so we don't have to add a period.
.setReason(Reason.SERVER_STATUS)
.setTargetId("example.com")
.setRegistrarId("registrar1")
.setDomainRepoId("4-COM")
.setBillingTime(DateTime.now(UTC))
.setCost(Money.of(USD, 100))
.setEventTime(DateTime.now(UTC).plusYears(1))
.setParent(historyEntry)
.build();
oneTimeBillKey = oneTimeBill.createVKey();
BillingEvent.Recurring recurringBill =
new BillingEvent.Recurring.Builder()
.setId(200L)
.setReason(Reason.RENEW)
.setFlags(ImmutableSet.of(Flag.AUTO_RENEW))
.setTargetId(domain.getDomainName())
.setRegistrarId(domain.getCurrentSponsorRegistrarId())
.setDomainRepoId(domain.getRepoId())
.setDomainHistoryRevisionId(historyEntry.getId())
.setEventTime(DateTime.now(UTC).plusYears(1))
.setRecurrenceEndTime(END_OF_TIME)
.setParent(historyEntry)
.build();
insertInDb(historyEntry, oneTimeBill, recurringBill);
recurringBillKey = recurringBill.createVKey();
VKey<PollMessage.Autorenew> autorenewPollKey =
VKey.from(Key.create(Key.create(domainHistory), PollMessage.Autorenew.class, 3));
VKey<PollMessage.OneTime> onetimePollKey =
@@ -134,6 +181,7 @@ public class DomainBaseTest extends EntityTestCase {
.setCreationRegistrarId("TheRegistrar")
.setLastEppUpdateTime(fakeClock.nowUtc())
.setLastEppUpdateRegistrarId("NewRegistrar")
.setPersistedCurrentSponsorRegistrarId("NewRegistrar")
.setLastTransferTime(fakeClock.nowUtc())
.setStatusValues(
ImmutableSet.of(
@@ -144,7 +192,6 @@ public class DomainBaseTest extends EntityTestCase {
StatusValue.SERVER_RENEW_PROHIBITED,
StatusValue.SERVER_HOLD))
.setRegistrant(contact1Key)
.setContacts(ImmutableSet.of(DesignatedContact.create(Type.ADMIN, contact2Key)))
.setNameservers(ImmutableSet.of(hostKey))
.setSubordinateHosts(ImmutableSet.of("ns1.example.com"))
.setPersistedCurrentSponsorRegistrarId("NewRegistrar")
@@ -160,6 +207,8 @@ public class DomainBaseTest extends EntityTestCase {
.setLosingRegistrarId("NewRegistrar")
.setPendingTransferExpirationTime(fakeClock.nowUtc())
.setServerApproveEntities(
historyEntry.getDomainRepoId(),
historyEntry.getId(),
ImmutableSet.of(oneTimeBillKey, recurringBillKey, autorenewPollKey))
.setServerApproveBillingEvent(oneTimeBillKey)
.setServerApproveAutorenewEvent(recurringBillKey)
@@ -170,7 +219,7 @@ public class DomainBaseTest extends EntityTestCase {
.build())
.setDeletePollMessage(onetimePollKey)
.setAutorenewBillingEvent(recurringBillKey)
.setAutorenewPollMessage(autorenewPollKey)
.setAutorenewPollMessage(autorenewPollKey, historyEntry.getId())
.setSmdId("smdid")
.addGracePeriod(
GracePeriod.create(
@@ -200,19 +249,6 @@ public class DomainBaseTest extends EntityTestCase {
.hasValue(domain);
}
@Test
void testVKeyRestoration() {
assertThat(domain.deletePollMessageHistoryId).isEqualTo(domainHistory.getId());
assertThat(domain.autorenewBillingEventHistoryId).isEqualTo(domainHistory.getId());
assertThat(domain.autorenewPollMessageHistoryId).isEqualTo(domainHistory.getId());
assertThat(domain.getTransferData().getServerApproveBillingEventHistoryId())
.isEqualTo(domainHistory.getId());
assertThat(domain.getTransferData().getServerApproveAutorenewEventHistoryId())
.isEqualTo(domainHistory.getId());
assertThat(domain.getTransferData().getServerApproveAutorenewPollMessageHistoryId())
.isEqualTo(domainHistory.getId());
}
@Test
void testEmptyStringsBecomeNull() {
assertThat(
@@ -238,7 +274,6 @@ public class DomainBaseTest extends EntityTestCase {
.isNotNull();
}
@Test
void testEmptySetsAndArraysBecomeNull() {
assertThat(
newDomainBase("example.com")
@@ -407,7 +442,10 @@ public class DomainBaseTest extends EntityTestCase {
.setPendingTransferExpirationTime(fakeClock.nowUtc().plusDays(1))
.setGainingRegistrarId("TheRegistrar")
.setServerApproveBillingEvent(transferBillingEvent.createVKey())
.setServerApproveEntities(ImmutableSet.of(transferBillingEvent.createVKey()))
.setServerApproveEntities(
domain.getRepoId(),
historyEntry.getId(),
ImmutableSet.of(transferBillingEvent.createVKey()))
.build())
.addGracePeriod(
// Okay for billing event to be null since the point of this grace period is just
@@ -83,7 +83,7 @@ public class PollMessageExternalKeyConverterTest {
.setRegistrarId("TheRegistrar")
.setEventTime(clock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build());
assertThat(makePollMessageExternalId(pollMessage)).isEqualTo("1-2-FOOBAR-4-5-2007");
assertVKeysEqual(parsePollMessageExternalId("1-2-FOOBAR-4-5-2007"), pollMessage.createVKey());
@@ -100,7 +100,7 @@ public class PollMessageExternalKeyConverterTest {
.setRegistrarId("TheRegistrar")
.setEventTime(clock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build());
assertThat(makePollMessageExternalId(pollMessage)).isEqualTo("2-5-ROID-6-7-2007");
assertVKeysEqual(parsePollMessageExternalId("2-5-ROID-6-7-2007"), pollMessage.createVKey());
@@ -117,7 +117,7 @@ public class PollMessageExternalKeyConverterTest {
.setRegistrarId("TheRegistrar")
.setEventTime(clock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build());
assertThat(makePollMessageExternalId(pollMessage)).isEqualTo("3-5-ROID-6-7-2007");
assertVKeysEqual(parsePollMessageExternalId("3-5-ROID-6-7-2007"), pollMessage.createVKey());
@@ -170,6 +170,5 @@ public class PollMessageExternalKeyConverterTest {
|| two.getKind().isAssignableFrom(one.getKind()))
.isTrue();
assertThat(one.getSqlKey()).isEqualTo(two.getSqlKey());
assertThat(one.getOfyKey()).isEqualTo(two.getOfyKey());
}
}
@@ -80,7 +80,7 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build();
autoRenew =
new PollMessage.Autorenew.Builder()
@@ -88,7 +88,7 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setAutorenewEndTime(fakeClock.nowUtc().plusDays(365))
.setTargetId("foobar.foo")
.build();
@@ -116,7 +116,7 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build());
assertThat(tm().transact(() -> tm().loadByEntity(pollMessage))).isEqualTo(pollMessage);
}
@@ -135,16 +135,15 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setResponseData(ImmutableList.of(hostPendingActionNotificationResponse))
.build();
persistResource(pollMessage);
assertThat(tm().transact(() -> tm().loadByEntity(pollMessage).getMsg()))
.isEqualTo(pollMessage.msg);
assertThat(
tm().transact(() -> tm().loadByEntity(pollMessage))
.hostPendingActionNotificationResponses)
.contains(hostPendingActionNotificationResponse);
tm().transact(() -> tm().loadByEntity(pollMessage)).pendingActionNotificationResponse)
.isEqualTo(hostPendingActionNotificationResponse);
}
@TestSqlOnly
@@ -155,7 +154,7 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build());
PollMessage persisted = tm().transact(() -> tm().loadByEntity(pollMessage));
assertThat(SerializeUtils.serializeDeserialize(persisted)).isEqualTo(persisted);
@@ -169,7 +168,7 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setAutorenewEndTime(fakeClock.nowUtc().plusDays(365))
.setTargetId("foobar.foo")
.build());
@@ -184,7 +183,7 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setAutorenewEndTime(fakeClock.nowUtc().plusDays(365))
.setTargetId("foobar.foo")
.build());
@@ -200,7 +199,7 @@ public class PollMessageTest extends EntityTestCase {
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
.setMsg("Test poll message")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.setAutorenewEndTime(fakeClock.nowUtc().plusDays(365))
.setTargetId("foobar.foo")
.build());
@@ -95,6 +95,8 @@ public class TransferDataTest {
.setPendingTransferExpirationTime(now)
.setTransferStatus(TransferStatus.PENDING)
.setServerApproveEntities(
"4-TLD",
1356L,
ImmutableSet.of(
transferBillingEventKey,
otherServerApproveBillingEventKey,
@@ -55,17 +55,10 @@ class DomainHistoryVKeyTest {
TestEntity persisted = tm().transact(() -> tm().loadByKey(original.createVKey()));
assertThat(persisted).isEqualTo(original);
// Double check that the persisted.domainHistoryVKey is a symmetric VKey
assertThat(persisted.domainHistoryVKey.createOfyKey())
.isEqualTo(
Key.create(Key.create(DomainBase.class, "domainRepoId"), HistoryEntry.class, 10L));
assertThat(persisted.domainHistoryVKey.createSqlKey())
.isEqualTo(new DomainHistoryId("domainRepoId", 10L));
assertThat(persisted.domainHistoryVKey.createVKey())
.isEqualTo(
VKey.create(
HistoryEntry.class,
new DomainHistoryId("domainRepoId", 10L),
Key.create(Key.create(DomainBase.class, "domainRepoId"), HistoryEntry.class, 10L)));
.isEqualTo(VKey.createSql(HistoryEntry.class, new DomainHistoryId("domainRepoId", 10L)));
}
@TestOfyAndSql
@@ -73,7 +66,6 @@ class DomainHistoryVKeyTest {
Key<HistoryEntry> ofyKey =
Key.create(Key.create(DomainBase.class, "domainRepoId"), HistoryEntry.class, 10L);
DomainHistoryVKey domainHistoryVKey = DomainHistoryVKey.create(ofyKey);
assertThat(domainHistoryVKey.createOfyKey()).isEqualTo(ofyKey);
assertThat(domainHistoryVKey.createSqlKey())
.isEqualTo(new DomainHistoryId("domainRepoId", 10L));
assertThat(domainHistoryVKey.createVKey())
@@ -333,9 +333,10 @@ public class DomainBaseToXjcConverterTest {
.setEventTime(END_OF_TIME)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(domainHistory)
.setHistoryEntry(domainHistory)
.build())
.createVKey())
.createVKey(),
domainHistory.getId())
.setTransferData(
new DomainTransferData.Builder()
.setGainingRegistrarId("NewRegistrar")
@@ -362,10 +363,13 @@ public class DomainBaseToXjcConverterTest {
.setEventTime(END_OF_TIME)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(domainHistory)
.setHistoryEntry(domainHistory)
.build())
.createVKey())
.setServerApproveEntities(ImmutableSet.of(billingEvent.createVKey()))
.setServerApproveEntities(
domain.getRepoId(),
domainHistory.getId(),
ImmutableSet.of(billingEvent.createVKey()))
.setTransferRequestTime(DateTime.parse("1919-01-01T00:00:00Z"))
.setTransferStatus(TransferStatus.PENDING)
.setTransferredRegistrationExpirationTime(
@@ -174,9 +174,10 @@ final class RdeFixtures {
.setEventTime(END_OF_TIME)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build())
.createVKey())
.createVKey(),
historyEntry.getId())
.setTransferData(
new DomainTransferData.Builder()
.setGainingRegistrarId("gaining")
@@ -203,10 +204,13 @@ final class RdeFixtures {
.setEventTime(END_OF_TIME)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build())
.createVKey())
.setServerApproveEntities(ImmutableSet.of(billingEvent.createVKey()))
.setServerApproveEntities(
historyEntry.getDomainRepoId(),
historyEntry.getId(),
ImmutableSet.of(billingEvent.createVKey()))
.setTransferRequestTime(DateTime.parse("1991-01-01T00:00:00Z"))
.setTransferStatus(TransferStatus.PENDING)
.setTransferredRegistrationExpirationTime(
@@ -510,7 +510,7 @@ public class DatabaseHelper {
.setEventTime(expirationTime)
.setMsg("Transfer server approved.")
.setResponseData(ImmutableList.of(createTransferResponse(resource, transferData)))
.setParent(historyEntry)
.setHistoryEntry(historyEntry)
.build();
}
@@ -549,6 +549,8 @@ public class DatabaseHelper {
createContactTransferDataBuilder(requestTime, expirationTime)
.setPendingTransferExpirationTime(now.plus(getContactAutomaticTransferLength()))
.setServerApproveEntities(
((ContactHistory) historyEntryContactTransfer).getContactRepoId(),
historyEntryContactTransfer.getId(),
ImmutableSet.of(
// Pretend it's 3 days since the request
persistResource(
@@ -630,13 +632,14 @@ public class DatabaseHelper {
.setEventTime(expirationTime)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainCreate)
.setHistoryEntry(historyEntryDomainCreate)
.build());
return persistResource(
domain
.asBuilder()
.setAutorenewBillingEvent(autorenewEvent.createVKey())
.setAutorenewPollMessage(autorenewPollMessage.createVKey())
.setAutorenewPollMessage(
autorenewPollMessage.createVKey(), autorenewPollMessage.getHistoryRevisionId())
.build());
}
@@ -676,7 +679,7 @@ public class DatabaseHelper {
.setEventTime(extendedRegistrationExpirationTime)
.setAutorenewEndTime(END_OF_TIME)
.setMsg("Domain was auto-renewed.")
.setParent(historyEntryDomainTransfer)
.setHistoryEntry(historyEntryDomainTransfer)
.build());
// Modify the existing autorenew event to reflect the pending transfer.
persistResource(
@@ -711,6 +714,8 @@ public class DatabaseHelper {
.setServerApproveAutorenewPollMessage(
gainingClientAutorenewPollMessage.createVKey())
.setServerApproveEntities(
historyEntryDomainTransfer.getDomainRepoId(),
historyEntryDomainTransfer.getId(),
ImmutableSet.of(
transferBillingEvent.createVKey(),
gainingClientAutorenewEvent.createVKey(),
@@ -887,9 +892,7 @@ public class DatabaseHelper {
return transactIfJpaTm(
() ->
tm().loadAllOf(PollMessage.class).stream()
.filter(
pollMessage ->
pollMessage.getParentKey().getParent().getName().equals(domain.getRepoId()))
.filter(pollMessage -> pollMessage.getDomainRepoId().equals(domain.getRepoId()))
.collect(toImmutableList()));
}
@@ -909,13 +912,7 @@ public class DatabaseHelper {
return transactIfJpaTm(
() ->
tm().loadAllOf(PollMessage.class).stream()
.filter(
pollMessage ->
pollMessage
.getParentKey()
.getParent()
.getName()
.equals(resource.getRepoId()))
.filter(pollMessage -> pollMessage.getDomainRepoId().equals(resource.getRepoId()))
.filter(pollMessage -> pollMessage.getRegistrarId().equals(registrarId))
.filter(
pollMessage ->
@@ -1176,7 +1173,14 @@ public class DatabaseHelper {
() ->
tm().loadAllOf(PollMessage.class).stream()
.filter(
pollMessage -> pollMessage.getParentKey().equals(Key.create(historyEntry)))
pollMessage ->
pollMessage.getResourceName().equals(historyEntry.getParent().getName())
&& pollMessage.getHistoryRevisionId() == historyEntry.getId()
&& pollMessage
.getType()
.getResourceClass()
.getName()
.equals(historyEntry.getParent().getKind()))
.collect(toImmutableList())));
}
@@ -23,9 +23,9 @@ import static google.registry.testing.DatabaseHelper.newDomainBase;
import static google.registry.testing.DatabaseHelper.persistResource;
import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.Key;
import google.registry.model.domain.DomainBase;
import google.registry.model.domain.DomainHistory;
import google.registry.model.domain.DomainHistory.DomainHistoryId;
import google.registry.model.ofy.Ofy;
import google.registry.model.poll.PollMessage;
import google.registry.model.poll.PollMessage.Autorenew;
@@ -100,7 +100,7 @@ public class AckPollMessagesCommandTest extends CommandTestCase<AckPollMessagesC
persistResource(
new PollMessage.Autorenew.Builder()
.setId(625L)
.setParentKey(domainHistory.createVKey().getOfyKey())
.setHistoryEntry(domainHistory)
.setEventTime(DateTime.parse("2011-04-15T22:33:44Z"))
.setRegistrarId("TheRegistrar")
.setMsg("autorenew")
@@ -127,7 +127,7 @@ public class AckPollMessagesCommandTest extends CommandTestCase<AckPollMessagesC
persistResource(
new PollMessage.Autorenew.Builder()
.setId(625L)
.setParentKey(domainHistory.createVKey().getOfyKey())
.setHistoryEntry(domainHistory)
.setEventTime(DateTime.parse("2011-04-15T22:33:44Z"))
.setAutorenewEndTime(DateTime.parse("2012-01-01T22:33:44Z"))
.setRegistrarId("TheRegistrar")
@@ -172,7 +172,7 @@ public class AckPollMessagesCommandTest extends CommandTestCase<AckPollMessagesC
persistResource(
new PollMessage.OneTime.Builder()
.setId(2474L)
.setParentKey(domainHistory.createVKey().getOfyKey())
.setHistoryEntry(domainHistory)
.setRegistrarId("NewRegistrar")
.setEventTime(DateTime.parse("2013-06-01T22:33:44Z"))
.setMsg("baaaahh")
@@ -202,11 +202,7 @@ public class AckPollMessagesCommandTest extends CommandTestCase<AckPollMessagesC
return persistResource(
new PollMessage.OneTime.Builder()
.setId(id)
.setParentKey(
Key.create(
Key.create(DomainBase.class, "FSDGS-TLD"),
HistoryEntry.class,
domainHistory.getId()))
.setDomainHistoryId(new DomainHistoryId("FSDGS-TLD", domainHistory.getId()))
.setRegistrarId("TheRegistrar")
.setEventTime(eventTime)
.setMsg(message)
@@ -75,7 +75,7 @@ class EnqueuePollMessageCommandTest extends CommandTestCase<EnqueuePollMessageCo
assertPollMessages(
"TheRegistrar",
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setMsg("This domain is bad")
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
@@ -107,7 +107,7 @@ class EnqueuePollMessageCommandTest extends CommandTestCase<EnqueuePollMessageCo
assertPollMessages(
"TheRegistrar",
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setMsg("This domain needs work")
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
@@ -115,7 +115,7 @@ class EnqueuePollMessageCommandTest extends CommandTestCase<EnqueuePollMessageCo
assertPollMessages(
"NewRegistrar",
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setMsg("This domain needs work")
.setRegistrarId("NewRegistrar")
.setEventTime(fakeClock.nowUtc())
@@ -123,7 +123,7 @@ class EnqueuePollMessageCommandTest extends CommandTestCase<EnqueuePollMessageCo
assertPollMessages(
"foobaz",
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setMsg("This domain needs work")
.setRegistrarId("foobaz")
.setEventTime(fakeClock.nowUtc())
@@ -152,7 +152,7 @@ class EnqueuePollMessageCommandTest extends CommandTestCase<EnqueuePollMessageCo
assertPollMessages(
"TheRegistrar",
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setMsg("This domain needs work")
.setRegistrarId("TheRegistrar")
.setEventTime(fakeClock.nowUtc())
@@ -160,7 +160,7 @@ class EnqueuePollMessageCommandTest extends CommandTestCase<EnqueuePollMessageCo
assertPollMessages(
"NewRegistrar",
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setMsg("This domain needs work")
.setRegistrarId("NewRegistrar")
.setEventTime(fakeClock.nowUtc())
@@ -168,7 +168,7 @@ class EnqueuePollMessageCommandTest extends CommandTestCase<EnqueuePollMessageCo
assertPollMessages(
"foobaz",
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setMsg("This domain needs work")
.setRegistrarId("foobaz")
.setEventTime(fakeClock.nowUtc())
@@ -38,7 +38,7 @@ class GetDomainCommandTest extends CommandTestCase<GetDomainCommand> {
persistActiveDomain("example.tld");
runCommand("example.tld");
assertInStdout("fullyQualifiedDomainName=example.tld");
assertInStdout("contact=Key<?>(ContactResource(\"3-ROID\"))");
assertInStdout("Contact=VKey<ContactResource>(sql:3-ROID");
assertInStdout(
"Websafe key: "
+ "kind:DomainBase"
@@ -51,7 +51,7 @@ class GetDomainCommandTest extends CommandTestCase<GetDomainCommand> {
persistActiveDomain("example.tld");
runCommand("example.tld", "--expand");
assertInStdout("fullyQualifiedDomainName=example.tld");
assertInStdout("contact=Key<?>(ContactResource(\"3-ROID\"))");
assertInStdout("sqlKey=3-ROID");
assertInStdout(
"Websafe key: "
+ "kind:DomainBase"
@@ -66,7 +66,7 @@ class GetDomainCommandTest extends CommandTestCase<GetDomainCommand> {
persistActiveDomain("xn--aualito-txac.xn--q9jyb4c");
runCommand("çauçalito.みんな", "--expand");
assertInStdout("fullyQualifiedDomainName=xn--aualito-txac.xn--q9jyb4c");
assertInStdout("contact=Key<?>(ContactResource(\"4-ROID\"))");
assertInStdout("sqlKey=4-ROID");
}
@Test
@@ -35,7 +35,6 @@ import static google.registry.testing.HistoryEntrySubject.assertAboutHistoryEntr
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
import google.registry.model.billing.BillingEvent;
import google.registry.model.billing.BillingEvent.Flag;
import google.registry.model.billing.BillingEvent.Reason;
@@ -148,7 +147,7 @@ public class UnrenewDomainCommandTest extends CommandTestCase<UnrenewDomainComma
getPollMessages(domain),
ImmutableSet.of(
new PollMessage.OneTime.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setRegistrarId("TheRegistrar")
.setMsg(
"Domain foo.tld was unrenewed by 2 years; "
@@ -156,7 +155,7 @@ public class UnrenewDomainCommandTest extends CommandTestCase<UnrenewDomainComma
.setEventTime(unrenewTime)
.build(),
new PollMessage.Autorenew.Builder()
.setParent(synthetic)
.setHistoryEntry(synthetic)
.setTargetId("foo.tld")
.setRegistrarId("TheRegistrar")
.setEventTime(newExpirationTime)
@@ -164,8 +163,7 @@ public class UnrenewDomainCommandTest extends CommandTestCase<UnrenewDomainComma
.build()));
// Check that fields on domain were updated correctly.
assertThat(domain.getAutorenewPollMessage().getOfyKey().getParent())
.isEqualTo(Key.create(synthetic));
assertThat(domain.getAutorenewPollMessageHistoryId()).isEqualTo(synthetic.getId());
assertThat(domain.getRegistrationExpirationTime()).isEqualTo(newExpirationTime);
assertThat(domain.getLastEppUpdateTime()).isEqualTo(unrenewTime);
assertThat(domain.getLastEppUpdateRegistrarId()).isEqualTo("TheRegistrar");
@@ -186,16 +186,6 @@ enum google.registry.model.contact.PostalInfo$Type {
INTERNATIONALIZED;
LOCALIZED;
}
class google.registry.model.domain.DesignatedContact {
com.googlecode.objectify.Key<google.registry.model.contact.ContactResource> contact;
google.registry.model.domain.DesignatedContact$Type type;
}
enum google.registry.model.domain.DesignatedContact$Type {
ADMIN;
BILLING;
REGISTRANT;
TECH;
}
class google.registry.model.domain.DomainAuthInfo {
google.registry.model.eppcommon.AuthInfo$PasswordAuth pw;
}
@@ -207,6 +197,10 @@ class google.registry.model.domain.DomainBase {
google.registry.model.domain.launch.LaunchNotice launchNotice;
google.registry.model.transfer.DomainTransferData transferData;
google.registry.persistence.VKey<google.registry.model.billing.BillingEvent$Recurring> autorenewBillingEvent;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> adminContact;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> billingContact;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> registrantContact;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> techContact;
google.registry.persistence.VKey<google.registry.model.poll.PollMessage$Autorenew> autorenewPollMessage;
google.registry.persistence.VKey<google.registry.model.poll.PollMessage$OneTime> deletePollMessage;
java.lang.String creationClientId;
@@ -216,7 +210,6 @@ class google.registry.model.domain.DomainBase {
java.lang.String lastEppUpdateClientId;
java.lang.String smdId;
java.lang.String tld;
java.util.Set<google.registry.model.domain.DesignatedContact> allContacts;
java.util.Set<google.registry.model.domain.GracePeriod> gracePeriods;
java.util.Set<google.registry.model.domain.secdns.DelegationSignerData> dsData;
java.util.Set<google.registry.model.eppcommon.StatusValue> status;
@@ -236,6 +229,10 @@ class google.registry.model.domain.DomainContent {
google.registry.model.domain.launch.LaunchNotice launchNotice;
google.registry.model.transfer.DomainTransferData transferData;
google.registry.persistence.VKey<google.registry.model.billing.BillingEvent$Recurring> autorenewBillingEvent;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> adminContact;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> billingContact;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> registrantContact;
google.registry.persistence.VKey<google.registry.model.contact.ContactResource> techContact;
google.registry.persistence.VKey<google.registry.model.poll.PollMessage$Autorenew> autorenewPollMessage;
google.registry.persistence.VKey<google.registry.model.poll.PollMessage$OneTime> deletePollMessage;
java.lang.String creationClientId;
@@ -245,7 +242,6 @@ class google.registry.model.domain.DomainContent {
java.lang.String lastEppUpdateClientId;
java.lang.String smdId;
java.lang.String tld;
java.util.Set<google.registry.model.domain.DesignatedContact> allContacts;
java.util.Set<google.registry.model.domain.GracePeriod> gracePeriods;
java.util.Set<google.registry.model.domain.secdns.DelegationSignerData> dsData;
java.util.Set<google.registry.model.eppcommon.StatusValue> status;
@@ -278,16 +274,16 @@ class google.registry.model.domain.DomainHistory {
}
class google.registry.model.domain.GracePeriod {
google.registry.model.domain.rgp.GracePeriodStatus type;
google.registry.persistence.BillingVKey$BillingEventVKey billingEventOneTime;
google.registry.persistence.BillingVKey$BillingRecurrenceVKey billingEventRecurring;
google.registry.persistence.VKey<google.registry.model.billing.BillingEvent$OneTime> billingEventOneTime;
google.registry.persistence.VKey<google.registry.model.billing.BillingEvent$Recurring> billingEventRecurring;
java.lang.String clientId;
long gracePeriodId;
org.joda.time.DateTime expirationTime;
}
class google.registry.model.domain.GracePeriod$GracePeriodHistory {
google.registry.model.domain.rgp.GracePeriodStatus type;
google.registry.persistence.BillingVKey$BillingEventVKey billingEventOneTime;
google.registry.persistence.BillingVKey$BillingRecurrenceVKey billingEventRecurring;
google.registry.persistence.VKey<google.registry.model.billing.BillingEvent$OneTime> billingEventOneTime;
google.registry.persistence.VKey<google.registry.model.billing.BillingEvent$Recurring> billingEventRecurring;
java.lang.Long domainHistoryRevisionId;
java.lang.Long gracePeriodHistoryRevisionId;
java.lang.String clientId;
@@ -469,35 +465,14 @@ class google.registry.model.index.ForeignKeyIndex$ForeignKeyHostIndex {
google.registry.persistence.VKey<E> topReference;
org.joda.time.DateTime deletionTime;
}
class google.registry.model.poll.PendingActionNotificationResponse$ContactPendingActionNotificationResponse {
google.registry.model.eppcommon.Trid trid;
google.registry.model.poll.PendingActionNotificationResponse$NameOrId nameOrId;
org.joda.time.DateTime processedDate;
}
class google.registry.model.poll.PendingActionNotificationResponse$DomainPendingActionNotificationResponse {
google.registry.model.eppcommon.Trid trid;
google.registry.model.poll.PendingActionNotificationResponse$NameOrId nameOrId;
org.joda.time.DateTime processedDate;
}
class google.registry.model.poll.PendingActionNotificationResponse$HostPendingActionNotificationResponse {
google.registry.model.eppcommon.Trid trid;
google.registry.model.poll.PendingActionNotificationResponse$NameOrId nameOrId;
org.joda.time.DateTime processedDate;
}
class google.registry.model.poll.PendingActionNotificationResponse$NameOrId {
boolean actionResult;
java.lang.String value;
}
class google.registry.model.poll.PollMessage {
@Id java.lang.Long id;
@Parent com.googlecode.objectify.Key<? extends google.registry.model.reporting.HistoryEntry> parent;
java.lang.String clientId;
java.lang.String msg;
org.joda.time.DateTime eventTime;
}
class google.registry.model.poll.PollMessage$Autorenew {
@Id java.lang.Long id;
@Parent com.googlecode.objectify.Key<? extends google.registry.model.reporting.HistoryEntry> parent;
java.lang.String clientId;
java.lang.String msg;
java.lang.String targetId;
@@ -506,14 +481,8 @@ class google.registry.model.poll.PollMessage$Autorenew {
}
class google.registry.model.poll.PollMessage$OneTime {
@Id java.lang.Long id;
@Parent com.googlecode.objectify.Key<? extends google.registry.model.reporting.HistoryEntry> parent;
java.lang.String clientId;
java.lang.String msg;
java.util.List<google.registry.model.poll.PendingActionNotificationResponse$ContactPendingActionNotificationResponse> contactPendingActionNotificationResponses;
java.util.List<google.registry.model.poll.PendingActionNotificationResponse$DomainPendingActionNotificationResponse> domainPendingActionNotificationResponses;
java.util.List<google.registry.model.poll.PendingActionNotificationResponse$HostPendingActionNotificationResponse> hostPendingActionNotificationResponses;
java.util.List<google.registry.model.transfer.TransferResponse$ContactTransferResponse> contactTransferResponses;
java.util.List<google.registry.model.transfer.TransferResponse$DomainTransferResponse> domainTransferResponses;
org.joda.time.DateTime eventTime;
}
class google.registry.model.rde.RdeRevision {
@@ -745,7 +714,6 @@ class google.registry.model.transfer.ContactTransferData {
google.registry.model.transfer.TransferStatus transferStatus;
java.lang.String gainingClientId;
java.lang.String losingClientId;
java.util.Set<google.registry.persistence.VKey<? extends google.registry.model.transfer.TransferData$TransferServerApproveEntity>> serverApproveEntities;
org.joda.time.DateTime pendingTransferExpirationTime;
org.joda.time.DateTime transferRequestTime;
}
@@ -758,28 +726,10 @@ class google.registry.model.transfer.DomainTransferData {
google.registry.persistence.VKey<google.registry.model.poll.PollMessage$Autorenew> serverApproveAutorenewPollMessage;
java.lang.String gainingClientId;
java.lang.String losingClientId;
java.util.Set<google.registry.persistence.VKey<? extends google.registry.model.transfer.TransferData$TransferServerApproveEntity>> serverApproveEntities;
org.joda.time.DateTime pendingTransferExpirationTime;
org.joda.time.DateTime transferRequestTime;
org.joda.time.DateTime transferredRegistrationExpirationTime;
}
class google.registry.model.transfer.TransferResponse$ContactTransferResponse {
google.registry.model.transfer.TransferStatus transferStatus;
java.lang.String contactId;
java.lang.String gainingClientId;
java.lang.String losingClientId;
org.joda.time.DateTime pendingTransferExpirationTime;
org.joda.time.DateTime transferRequestTime;
}
class google.registry.model.transfer.TransferResponse$DomainTransferResponse {
google.registry.model.transfer.TransferStatus transferStatus;
java.lang.String fullyQualifiedDomainName;
java.lang.String gainingClientId;
java.lang.String losingClientId;
org.joda.time.DateTime extendedRegistrationExpirationTime;
org.joda.time.DateTime pendingTransferExpirationTime;
org.joda.time.DateTime transferRequestTime;
}
enum google.registry.model.transfer.TransferStatus {
CLIENT_APPROVED;
CLIENT_CANCELLED;