mirror of
https://github.com/google/nomulus
synced 2026-08-18 13:16:20 +00:00
Begin migration of joda DateTime to java.time.Instant (#2992)
java.time has been around since Java 8 and was based on joda DateTime, so this is an overdue migration. We're migrating specifically to Instant in most places rather than ZonedDateTime because we were always using DateTimes in UTC to reference a specific instant, which is exactly what Instants are for. ZonedDateTime set to UTC may still be useful in some places that are heavy on date math (especially in tests). There is a lot more work to be done after this, but I wanted to put together a manual PR showing my overall approach for how to do the migration that I can then hopefully follow along with AI to continue making these changes throughout the codebase. The basic approach is to migrate a small number of methods at a time, marking the old methods as @Deprecated when possible (not always possible because of @InlineMe restrictions). This PR doesn't yet migrate any DateTime fields in the model classes, so that's the one remaining type of refactor to figure out after this. We won't be changing how any of the data is actually stored in the database. BUG= http://b/496985355
This commit is contained in:
@@ -24,6 +24,7 @@ import static google.registry.testing.DatabaseHelper.loadByEntity;
|
||||
import static google.registry.testing.DatabaseHelper.persistActiveDomain;
|
||||
import static google.registry.testing.DatabaseHelper.persistResource;
|
||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||
import static google.registry.util.DateTimeUtils.plusDays;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import google.registry.flows.DaggerEppTestComponent;
|
||||
@@ -117,7 +118,7 @@ class DeleteExpiredDomainsActionTest {
|
||||
assertThat(loadByEntity(notYetExpiredDomain)).isEqualTo(notYetExpiredDomain);
|
||||
Domain reloadedExpiredDomain = loadByEntity(pendingExpirationDomain);
|
||||
assertThat(reloadedExpiredDomain.getStatusValues()).contains(PENDING_DELETE);
|
||||
assertThat(reloadedExpiredDomain.getDeletionTime()).isEqualTo(clock.nowUtc().plusDays(35));
|
||||
assertThat(reloadedExpiredDomain.getDeletionTime()).isEqualTo(plusDays(clock.now(), 35));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -26,7 +26,7 @@ import static google.registry.testing.DatabaseHelper.persistActiveHost;
|
||||
import static google.registry.testing.DatabaseHelper.persistDeletedDomain;
|
||||
import static google.registry.testing.DatabaseHelper.persistDomainAsDeleted;
|
||||
import static google.registry.testing.DatabaseHelper.persistResource;
|
||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||
import static google.registry.util.DateTimeUtils.END_INSTANT;
|
||||
import static org.joda.time.DateTimeZone.UTC;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
@@ -47,6 +47,7 @@ import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationT
|
||||
import google.registry.testing.DatabaseHelper;
|
||||
import google.registry.testing.SystemPropertyExtension;
|
||||
import google.registry.util.RegistryEnvironment;
|
||||
import java.time.Instant;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import org.joda.money.Money;
|
||||
@@ -201,7 +202,7 @@ class DeleteProberDataActionTest {
|
||||
.setCreationTimeForTest(DateTime.now(UTC).minusYears(1))
|
||||
.build());
|
||||
action.run();
|
||||
DateTime timeAfterDeletion = DateTime.now(UTC);
|
||||
Instant timeAfterDeletion = Instant.now();
|
||||
assertThat(ForeignKeyUtils.loadResource(Domain.class, "blah.ib-any.test", timeAfterDeletion))
|
||||
.isEmpty();
|
||||
assertThat(loadByEntity(domain).getDeletionTime()).isLessThan(timeAfterDeletion);
|
||||
@@ -217,7 +218,7 @@ class DeleteProberDataActionTest {
|
||||
.setCreationTimeForTest(DateTime.now(UTC).minusYears(1))
|
||||
.build());
|
||||
action.run();
|
||||
DateTime timeAfterDeletion = DateTime.now(UTC);
|
||||
Instant timeAfterDeletion = Instant.now();
|
||||
resetAction();
|
||||
action.run();
|
||||
assertThat(ForeignKeyUtils.loadResource(Domain.class, "blah.ib-any.test", timeAfterDeletion))
|
||||
@@ -237,7 +238,7 @@ class DeleteProberDataActionTest {
|
||||
Optional<Domain> domain =
|
||||
ForeignKeyUtils.loadResource(Domain.class, "blah.ib-any.test", DateTime.now(UTC));
|
||||
assertThat(domain).isPresent();
|
||||
assertThat(domain.get().getDeletionTime()).isEqualTo(END_OF_TIME);
|
||||
assertThat(domain.get().getDeletionTime()).isEqualTo(END_INSTANT);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -250,7 +251,7 @@ class DeleteProberDataActionTest {
|
||||
.build());
|
||||
action.isDryRun = true;
|
||||
action.run();
|
||||
assertThat(loadByEntity(domain).getDeletionTime()).isEqualTo(END_OF_TIME);
|
||||
assertThat(loadByEntity(domain).getDeletionTime()).isEqualTo(END_INSTANT);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+5
-2
@@ -25,6 +25,8 @@ import static google.registry.testing.DatabaseHelper.persistActiveHost;
|
||||
import static google.registry.testing.DatabaseHelper.persistDomainWithDependentResources;
|
||||
import static google.registry.testing.DatabaseHelper.persistDomainWithPendingTransfer;
|
||||
import static google.registry.testing.DatabaseHelper.persistNewRegistrars;
|
||||
import static google.registry.util.DateTimeUtils.plusYears;
|
||||
import static google.registry.util.DateTimeUtils.toInstant;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -113,11 +115,12 @@ public class ResaveAllEppResourcesPipelineTest {
|
||||
DateTime now = fakeClock.nowUtc();
|
||||
Domain domain =
|
||||
persistDomainWithDependentResources("domain", "tld", now, now, now.plusYears(1));
|
||||
assertThat(domain.getRegistrationExpirationTime()).isEqualTo(now.plusYears(1));
|
||||
assertThat(domain.getRegistrationExpirationTime()).isEqualTo(plusYears(toInstant(now), 1));
|
||||
fakeClock.advanceBy(Duration.standardDays(500));
|
||||
runPipeline();
|
||||
Domain postPipeline = loadByEntity(domain);
|
||||
assertThat(postPipeline.getRegistrationExpirationTime()).isEqualTo(now.plusYears(2));
|
||||
assertThat(postPipeline.getRegistrationExpirationTime())
|
||||
.isEqualTo(plusYears(toInstant(now), 2));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -488,7 +488,7 @@ class EppLifecycleDomainTest extends EppTestCase {
|
||||
|
||||
// Make sure that in the future, the domain expiration is unchanged after deletion
|
||||
Domain clonedDomain = domain.cloneProjectedAtTime(deleteTime.plusYears(5));
|
||||
assertThat(clonedDomain.getRegistrationExpirationTime()).isEqualTo(createTime.plusYears(2));
|
||||
assertThat(clonedDomain.getRegistrationExpirationDateTime()).isEqualTo(createTime.plusYears(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -182,7 +182,7 @@ public abstract class FlowTestCase<F extends Flow> {
|
||||
GracePeriod.create(
|
||||
entry.getKey().getType(),
|
||||
entry.getKey().getDomainRepoId(),
|
||||
entry.getKey().getExpirationTime(),
|
||||
entry.getKey().getExpirationDateTime(),
|
||||
entry.getKey().getRegistrarId(),
|
||||
null,
|
||||
1L),
|
||||
|
||||
@@ -361,7 +361,7 @@ class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow, Domain
|
||||
.setFlags(ImmutableSet.of(Flag.AUTO_RENEW))
|
||||
.setTargetId(getUniqueIdFromCommand())
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setRecurrenceEndTime(END_OF_TIME)
|
||||
.setDomainHistory(historyEntry)
|
||||
.setRenewalPriceBehavior(expectedRenewalPriceBehavior)
|
||||
@@ -397,7 +397,7 @@ class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow, Domain
|
||||
new PollMessage.Autorenew.Builder()
|
||||
.setTargetId(domain.getDomainName())
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setMsg("Domain was auto-renewed.")
|
||||
.setHistoryEntry(historyEntry)
|
||||
.build());
|
||||
@@ -1720,7 +1720,7 @@ class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow, Domain
|
||||
new PollMessage.Autorenew.Builder()
|
||||
.setTargetId(domain.getDomainName())
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setMsg("Domain was auto-renewed.")
|
||||
.setHistoryEntry(historyEntry)
|
||||
.build(),
|
||||
@@ -1853,7 +1853,7 @@ class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow, Domain
|
||||
new PollMessage.Autorenew.Builder()
|
||||
.setTargetId(domain.getDomainName())
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setMsg("Domain was auto-renewed.")
|
||||
.setHistoryEntry(historyEntry)
|
||||
.build(),
|
||||
|
||||
@@ -376,7 +376,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
|
||||
runFlowAssertResponse(loadFile("domain_delete_response_pending.xml"));
|
||||
|
||||
Domain domain = reloadResourceByForeignKey();
|
||||
DateTime redemptionEndTime = domain.getLastEppUpdateTime().plusDays(3);
|
||||
DateTime redemptionEndTime = domain.getLastEppUpdateDateTime().plusDays(3);
|
||||
Domain domainAtRedemptionTime = domain.cloneProjectedAtTime(redemptionEndTime);
|
||||
assertAboutDomains()
|
||||
.that(domainAtRedemptionTime)
|
||||
@@ -418,7 +418,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
|
||||
null));
|
||||
// We should see exactly one poll message, which is for the autorenew 1 month in the future.
|
||||
assertPollMessages(createAutorenewPollMessage("TheRegistrar").build());
|
||||
DateTime expectedExpirationTime = domain.getRegistrationExpirationTime().minusYears(2);
|
||||
DateTime expectedExpirationTime = domain.getRegistrationExpirationDateTime().minusYears(2);
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(loadFile(responseFilename, substitutions));
|
||||
Domain resource = reloadResourceByForeignKey();
|
||||
@@ -462,7 +462,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
|
||||
// There should be a future poll message at the deletion time. The previous autorenew poll
|
||||
// message should now be deleted.
|
||||
assertAboutDomains().that(domain).hasDeletePollMessage();
|
||||
DateTime deletionTime = domain.getDeletionTime();
|
||||
DateTime deletionTime = domain.getDeletionDateTime();
|
||||
assertThat(getPollMessages("TheRegistrar", deletionTime.minusMinutes(1))).isEmpty();
|
||||
assertThat(getPollMessages("TheRegistrar", deletionTime)).hasSize(1);
|
||||
assertThat(domain.getDeletePollMessage())
|
||||
@@ -496,7 +496,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
|
||||
runFlowAssertResponse(loadFile("domain_delete_response_pending.xml"));
|
||||
// There should now be two poll messages; one for the delete of the domain (in the future), and
|
||||
// another for the unacked autorenew messages.
|
||||
DateTime deletionTime = reloadResourceByForeignKey().getDeletionTime();
|
||||
DateTime deletionTime = reloadResourceByForeignKey().getDeletionDateTime();
|
||||
assertThat(getPollMessages("TheRegistrar", deletionTime.minusMinutes(1))).hasSize(1);
|
||||
assertThat(getPollMessages("TheRegistrar", deletionTime)).hasSize(2);
|
||||
}
|
||||
@@ -613,7 +613,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow, Domain
|
||||
.isEqualTo(Trid.create("transferClient-trid", "transferServer-trid"));
|
||||
assertThat(panData.getActionResult()).isFalse();
|
||||
// There should be a future poll message to the losing registrar at the deletion time.
|
||||
DateTime deletionTime = domain.getDeletionTime();
|
||||
DateTime deletionTime = domain.getDeletionDateTime();
|
||||
assertThat(getPollMessages("TheRegistrar", deletionTime.minusMinutes(1))).isEmpty();
|
||||
assertThat(getPollMessages("TheRegistrar", deletionTime)).hasSize(1);
|
||||
assertOnlyBillingEventIsClosedAutorenew("TheRegistrar");
|
||||
|
||||
@@ -247,7 +247,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, Domain>
|
||||
@Nullable Money renewalPrice)
|
||||
throws Exception {
|
||||
assertMutatingFlow(true);
|
||||
DateTime currentExpiration = reloadResourceByForeignKey().getRegistrationExpirationTime();
|
||||
DateTime currentExpiration = reloadResourceByForeignKey().getRegistrationExpirationDateTime();
|
||||
DateTime newExpiration = currentExpiration.plusYears(renewalYears);
|
||||
runFlowAssertResponse(
|
||||
CommitMode.LIVE, userPrivileges, loadFile(responseFilename, substitutions));
|
||||
@@ -303,7 +303,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, Domain>
|
||||
.setFlags(ImmutableSet.of(Flag.AUTO_RENEW))
|
||||
.setTargetId(getUniqueIdFromCommand())
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setRecurrenceEndTime(END_OF_TIME)
|
||||
.setDomainHistory(historyEntryDomainRenew)
|
||||
.build());
|
||||
@@ -313,7 +313,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, Domain>
|
||||
new PollMessage.Autorenew.Builder()
|
||||
.setTargetId(getUniqueIdFromCommand())
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setAutorenewEndTime(END_OF_TIME)
|
||||
.setMsg("Domain was auto-renewed.")
|
||||
.setHistoryEntry(historyEntryDomainRenew)
|
||||
@@ -817,7 +817,7 @@ class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, Domain>
|
||||
new PollMessage.Autorenew.Builder()
|
||||
.setTargetId(getUniqueIdFromCommand())
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(reloadResourceByForeignKey().getRegistrationExpirationTime())
|
||||
.setEventTime(reloadResourceByForeignKey().getRegistrationExpirationDateTime())
|
||||
.setAutorenewEndTime(END_OF_TIME)
|
||||
.setMsg("Domain was auto-renewed.")
|
||||
.setHistoryEntry(historyEntryDomainRenew)
|
||||
|
||||
@@ -201,7 +201,7 @@ class DomainRestoreRequestFlowTest extends ResourceFlowTestCase<DomainRestoreReq
|
||||
new PollMessage.Autorenew.Builder()
|
||||
.setTargetId("example.tld")
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setAutorenewEndTime(END_OF_TIME)
|
||||
.setMsg("Domain was auto-renewed.")
|
||||
.setHistoryEntry(historyEntryDomainRestore)
|
||||
@@ -269,7 +269,7 @@ class DomainRestoreRequestFlowTest extends ResourceFlowTestCase<DomainRestoreReq
|
||||
new PollMessage.Autorenew.Builder()
|
||||
.setTargetId("example.tld")
|
||||
.setRegistrarId("TheRegistrar")
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setAutorenewEndTime(END_OF_TIME)
|
||||
.setMsg("Domain was auto-renewed.")
|
||||
.setHistoryEntry(historyEntryDomainRestore)
|
||||
|
||||
+13
-12
@@ -148,7 +148,8 @@ class DomainTransferApproveFlowTest
|
||||
.copyConstantFieldsToBuilder()
|
||||
.setTransferStatus(TransferStatus.CLIENT_APPROVED)
|
||||
.setPendingTransferExpirationTime(clock.nowUtc())
|
||||
.setTransferredRegistrationExpirationTime(domain.getRegistrationExpirationTime())
|
||||
.setTransferredRegistrationExpirationTime(
|
||||
domain.getRegistrationExpirationDateTime())
|
||||
.build());
|
||||
}
|
||||
|
||||
@@ -216,7 +217,7 @@ class DomainTransferApproveFlowTest
|
||||
// should be one at the current time to the gaining registrar, as well as one at the domain's
|
||||
// autorenew time.
|
||||
assertThat(getPollMessages(domain, "NewRegistrar", clock.nowUtc().plusMonths(1))).hasSize(1);
|
||||
assertThat(getPollMessages(domain, "NewRegistrar", domain.getRegistrationExpirationTime()))
|
||||
assertThat(getPollMessages(domain, "NewRegistrar", domain.getRegistrationExpirationDateTime()))
|
||||
.hasSize(2);
|
||||
|
||||
PollMessage gainingTransferPollMessage =
|
||||
@@ -225,11 +226,11 @@ class DomainTransferApproveFlowTest
|
||||
getOnlyPollMessage(
|
||||
domain,
|
||||
"NewRegistrar",
|
||||
domain.getRegistrationExpirationTime(),
|
||||
domain.getRegistrationExpirationDateTime(),
|
||||
PollMessage.Autorenew.class);
|
||||
assertThat(gainingTransferPollMessage.getEventTime()).isEqualTo(clock.nowUtc());
|
||||
assertThat(gainingAutorenewPollMessage.getEventTime())
|
||||
.isEqualTo(domain.getRegistrationExpirationTime());
|
||||
.isEqualTo(domain.getRegistrationExpirationDateTime());
|
||||
DomainTransferResponse transferResponse =
|
||||
gainingTransferPollMessage
|
||||
.getResponseData()
|
||||
@@ -239,7 +240,7 @@ class DomainTransferApproveFlowTest
|
||||
.collect(onlyElement());
|
||||
assertThat(transferResponse.getTransferStatus()).isEqualTo(TransferStatus.CLIENT_APPROVED);
|
||||
assertThat(transferResponse.getExtendedRegistrationExpirationTime())
|
||||
.isEqualTo(domain.getRegistrationExpirationTime());
|
||||
.isEqualTo(domain.getRegistrationExpirationDateTime());
|
||||
PendingActionNotificationResponse panData =
|
||||
gainingTransferPollMessage
|
||||
.getResponseData()
|
||||
@@ -294,9 +295,9 @@ class DomainTransferApproveFlowTest
|
||||
.build(),
|
||||
getGainingClientAutorenewEvent()
|
||||
.asBuilder()
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setRecurrenceLastExpansion(
|
||||
domain.getRegistrationExpirationTime().minusYears(1))
|
||||
domain.getRegistrationExpirationDateTime().minusYears(1))
|
||||
.setDomainHistory(historyEntryTransferApproved)
|
||||
.build()))
|
||||
.toArray(BillingBase[]::new));
|
||||
@@ -332,9 +333,9 @@ class DomainTransferApproveFlowTest
|
||||
.build(),
|
||||
getGainingClientAutorenewEvent()
|
||||
.asBuilder()
|
||||
.setEventTime(domain.getRegistrationExpirationTime())
|
||||
.setEventTime(domain.getRegistrationExpirationDateTime())
|
||||
.setRecurrenceLastExpansion(
|
||||
domain.getRegistrationExpirationTime().minusYears(1))
|
||||
domain.getRegistrationExpirationDateTime().minusYears(1))
|
||||
.setDomainHistory(historyEntryTransferApproved)
|
||||
.build()))
|
||||
.toArray(BillingBase[]::new));
|
||||
@@ -349,7 +350,7 @@ class DomainTransferApproveFlowTest
|
||||
tld,
|
||||
commandFilename,
|
||||
expectedXmlFilename,
|
||||
domain.getRegistrationExpirationTime().plusYears(1),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(1),
|
||||
1);
|
||||
}
|
||||
|
||||
@@ -821,7 +822,7 @@ class DomainTransferApproveFlowTest
|
||||
"tld",
|
||||
"domain_transfer_approve.xml",
|
||||
"domain_transfer_approve_response_zero_period.xml",
|
||||
domain.getRegistrationExpirationTime());
|
||||
domain.getRegistrationExpirationDateTime());
|
||||
assertHistoryEntriesDoNotContainTransferBillingEventsOrGracePeriods();
|
||||
}
|
||||
|
||||
@@ -854,7 +855,7 @@ class DomainTransferApproveFlowTest
|
||||
"tld",
|
||||
"domain_transfer_approve.xml",
|
||||
"domain_transfer_approve_response_zero_period_autorenew_grace.xml",
|
||||
domain.getRegistrationExpirationTime());
|
||||
domain.getRegistrationExpirationDateTime());
|
||||
assertHistoryEntriesDoNotContainTransferBillingEventsOrGracePeriods();
|
||||
}
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ class DomainTransferCancelFlowTest
|
||||
|
||||
// Setup done; run the test.
|
||||
assertMutatingFlow(true);
|
||||
DateTime originalExpirationTime = domain.getRegistrationExpirationTime();
|
||||
DateTime originalExpirationTime = domain.getRegistrationExpirationDateTime();
|
||||
ImmutableSet<GracePeriod> originalGracePeriods = domain.getGracePeriods();
|
||||
DomainTransferData originalTransferData = domain.getTransferData();
|
||||
runFlowAssertResponse(loadFile("domain_transfer_cancel_response.xml"));
|
||||
|
||||
@@ -143,7 +143,8 @@ class DomainTransferQueryFlowTest
|
||||
persistResource(
|
||||
domain
|
||||
.asBuilder()
|
||||
.setRegistrationExpirationTime(domain.getRegistrationExpirationTime().plusYears(9))
|
||||
.setRegistrationExpirationTime(
|
||||
domain.getRegistrationExpirationDateTime().plusYears(9))
|
||||
.build());
|
||||
doSuccessfulTest("domain_transfer_query.xml", "domain_transfer_query_response_10_years.xml", 1);
|
||||
}
|
||||
@@ -233,7 +234,7 @@ class DomainTransferQueryFlowTest
|
||||
// Set the clock to just past the extended registration time. We'd expect the domain to have
|
||||
// auto-renewed once, but the transfer query response should be the same.
|
||||
clock.setTo(EXTENDED_REGISTRATION_EXPIRATION_TIME.plusMillis(1));
|
||||
assertThat(domain.cloneProjectedAtTime(clock.nowUtc()).getRegistrationExpirationTime())
|
||||
assertThat(domain.cloneProjectedAtTime(clock.nowUtc()).getRegistrationExpirationDateTime())
|
||||
.isEqualTo(EXTENDED_REGISTRATION_EXPIRATION_TIME.plusYears(1));
|
||||
doSuccessfulTest(
|
||||
"domain_transfer_query.xml", "domain_transfer_query_response_server_approved.xml", 2);
|
||||
|
||||
@@ -88,7 +88,7 @@ class DomainTransferRejectFlowTest
|
||||
assertThat(getPollMessages("TheRegistrar", clock.nowUtc().plusMonths(1))).hasSize(1);
|
||||
// Setup done; run the test.
|
||||
assertMutatingFlow(true);
|
||||
DateTime originalExpirationTime = domain.getRegistrationExpirationTime();
|
||||
DateTime originalExpirationTime = domain.getRegistrationExpirationDateTime();
|
||||
ImmutableSet<GracePeriod> originalGracePeriods = domain.getGracePeriods();
|
||||
DomainTransferData originalTransferData = domain.getTransferData();
|
||||
runFlowAssertResponse(loadFile(expectedXmlFilename));
|
||||
|
||||
+15
-12
@@ -244,7 +244,8 @@ class DomainTransferRequestFlowTest
|
||||
.setTransferPeriod(expectedPeriod)
|
||||
.setTransferStatus(TransferStatus.SERVER_APPROVED)
|
||||
.setPendingTransferExpirationTime(automaticTransferTime)
|
||||
.setTransferredRegistrationExpirationTime(domain.getRegistrationExpirationTime())
|
||||
.setTransferredRegistrationExpirationTime(
|
||||
domain.getRegistrationExpirationDateTime())
|
||||
// Server-approve entity fields should all be nulled out.
|
||||
.build());
|
||||
}
|
||||
@@ -542,7 +543,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulTest(
|
||||
commandFilename,
|
||||
expectedXmlFilename,
|
||||
domain.getRegistrationExpirationTime().plusYears(1),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(1),
|
||||
substitutions,
|
||||
Optional.empty());
|
||||
}
|
||||
@@ -551,7 +552,9 @@ class DomainTransferRequestFlowTest
|
||||
throws Exception {
|
||||
clock.advanceOneMilli();
|
||||
doSuccessfulTest(
|
||||
commandFilename, expectedXmlFilename, domain.getRegistrationExpirationTime().plusYears(1));
|
||||
commandFilename,
|
||||
expectedXmlFilename,
|
||||
domain.getRegistrationExpirationDateTime().plusYears(1));
|
||||
}
|
||||
|
||||
private void doSuccessfulSuperuserExtensionTest(
|
||||
@@ -812,7 +815,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulSuperuserExtensionTest(
|
||||
"domain_transfer_request_superuser_extension.xml",
|
||||
"domain_transfer_request_response_su_ext_zero_period_nonzero_transfer_length.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(0),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(0),
|
||||
ImmutableMap.of("PERIOD", "0", "AUTOMATIC_TRANSFER_LENGTH", "5"),
|
||||
Optional.empty(),
|
||||
Period.create(0, Unit.YEARS),
|
||||
@@ -826,7 +829,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulSuperuserExtensionTest(
|
||||
"domain_transfer_request_superuser_extension.xml",
|
||||
"domain_transfer_request_response_su_ext_zero_period_zero_transfer_length.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(0),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(0),
|
||||
ImmutableMap.of("PERIOD", "0", "AUTOMATIC_TRANSFER_LENGTH", "0"),
|
||||
Optional.empty(),
|
||||
Period.create(0, Unit.YEARS),
|
||||
@@ -841,7 +844,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulSuperuserExtensionTest(
|
||||
"domain_transfer_request_superuser_extension.xml",
|
||||
"domain_transfer_request_response_su_ext_one_year_period_nonzero_transfer_length.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(1),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(1),
|
||||
ImmutableMap.of("PERIOD", "1", "AUTOMATIC_TRANSFER_LENGTH", "5"),
|
||||
Optional.empty(),
|
||||
Period.create(1, Unit.YEARS),
|
||||
@@ -873,7 +876,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulSuperuserExtensionTest(
|
||||
"domain_transfer_request_superuser_extension.xml",
|
||||
"domain_transfer_request_response_su_ext_zero_period_autorenew_grace.xml",
|
||||
domain.getRegistrationExpirationTime(),
|
||||
domain.getRegistrationExpirationDateTime(),
|
||||
ImmutableMap.of("PERIOD", "0", "AUTOMATIC_TRANSFER_LENGTH", "0"),
|
||||
Optional.empty(),
|
||||
Period.create(0, Unit.YEARS),
|
||||
@@ -922,7 +925,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulSuperuserExtensionTest(
|
||||
"domain_transfer_request_superuser_extension.xml",
|
||||
"domain_transfer_request_response_su_ext_zero_period_zero_transfer_length.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(0),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(0),
|
||||
ImmutableMap.of("PERIOD", "0", "AUTOMATIC_TRANSFER_LENGTH", "0"),
|
||||
Optional.empty(),
|
||||
Period.create(0, Unit.YEARS),
|
||||
@@ -939,7 +942,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulSuperuserExtensionTest(
|
||||
"domain_transfer_request_superuser_extension.xml",
|
||||
"domain_transfer_request_response_su_ext_zero_period_zero_transfer_length.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(0),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(0),
|
||||
ImmutableMap.of("PERIOD", "0", "AUTOMATIC_TRANSFER_LENGTH", "0"),
|
||||
Optional.empty(),
|
||||
Period.create(0, Unit.YEARS),
|
||||
@@ -977,7 +980,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulTest(
|
||||
"domain_transfer_request_separate_fees.xml",
|
||||
"domain_transfer_request_response_fees.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(1),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(1),
|
||||
new ImmutableMap.Builder<String, String>()
|
||||
.put("DOMAIN", "expensive-domain.foo")
|
||||
.put("YEARS", "1")
|
||||
@@ -1409,7 +1412,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulSuperuserExtensionTest(
|
||||
"domain_transfer_request_superuser_extension.xml",
|
||||
"domain_transfer_request_response_su_ext_zero_period_zero_transfer_length.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(0),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(0),
|
||||
ImmutableMap.of("PERIOD", "0", "AUTOMATIC_TRANSFER_LENGTH", "0"),
|
||||
Optional.empty(),
|
||||
Period.create(0, Unit.YEARS),
|
||||
@@ -2024,7 +2027,7 @@ class DomainTransferRequestFlowTest
|
||||
doSuccessfulTest(
|
||||
"domain_transfer_request_separate_fees.xml",
|
||||
"domain_transfer_request_response_fees.xml",
|
||||
domain.getRegistrationExpirationTime().plusYears(1),
|
||||
domain.getRegistrationExpirationDateTime().plusYears(1),
|
||||
new ImmutableMap.Builder<String, String>()
|
||||
.put("DOMAIN", "expensive-domain.foo")
|
||||
.put("YEARS", "1")
|
||||
|
||||
@@ -256,7 +256,7 @@ class HostUpdateFlowTest extends ResourceFlowTestCase<HostUpdateFlow, Host> {
|
||||
.and()
|
||||
.hasPersistedCurrentSponsorRegistrarId("NewRegistrar")
|
||||
.and()
|
||||
.hasLastTransferTime(domain.getTransferData().getPendingTransferExpirationTime())
|
||||
.hasLastTransferTime(domain.getTransferData().getPendingTransferExpirationDateTime())
|
||||
.and()
|
||||
.hasOnlyOneHistoryEntryWhich()
|
||||
.hasType(HistoryEntry.Type.HOST_UPDATE);
|
||||
|
||||
@@ -31,6 +31,10 @@ import static google.registry.testing.DomainSubject.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 google.registry.util.DateTimeUtils.minusDays;
|
||||
import static google.registry.util.DateTimeUtils.plusDays;
|
||||
import static google.registry.util.DateTimeUtils.plusYears;
|
||||
import static google.registry.util.DateTimeUtils.toDateTime;
|
||||
import static org.joda.money.CurrencyUnit.USD;
|
||||
import static org.joda.time.DateTimeZone.UTC;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
@@ -67,6 +71,8 @@ import google.registry.persistence.transaction.JpaTestExtensions;
|
||||
import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationWithCoverageExtension;
|
||||
import google.registry.testing.DatabaseHelper;
|
||||
import google.registry.testing.FakeClock;
|
||||
import java.time.Instant;
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.Optional;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
@@ -386,7 +392,7 @@ public class DomainTest {
|
||||
.isEqualTo(TransferStatus.SERVER_APPROVED);
|
||||
assertThat(domain.getCurrentSponsorRegistrarId()).isEqualTo("TheRegistrar");
|
||||
assertThat(domain.getLastTransferTime()).isEqualTo(fakeClock.nowUtc().plusDays(1));
|
||||
assertThat(domain.getRegistrationExpirationTime()).isEqualTo(newExpirationTime);
|
||||
assertThat(domain.getRegistrationExpirationDateTime()).isEqualTo(newExpirationTime);
|
||||
assertThat(domain.getAutorenewBillingEvent()).isEqualTo(newAutorenewEvent);
|
||||
}
|
||||
|
||||
@@ -479,56 +485,57 @@ public class DomainTest {
|
||||
}
|
||||
|
||||
private void setupPendingTransferDomain(
|
||||
DateTime oldExpirationTime, DateTime transferRequestTime, DateTime transferSuccessTime) {
|
||||
Instant oldExpirationTime, Instant transferRequestTime, Instant transferSuccessTime) {
|
||||
domain =
|
||||
domain
|
||||
.asBuilder()
|
||||
.setRegistrationExpirationTime(oldExpirationTime)
|
||||
.setRegistrationExpirationTime(toDateTime(oldExpirationTime))
|
||||
.setTransferData(
|
||||
domain
|
||||
.getTransferData()
|
||||
.asBuilder()
|
||||
.setTransferStatus(TransferStatus.PENDING)
|
||||
.setTransferRequestTime(transferRequestTime)
|
||||
.setPendingTransferExpirationTime(transferSuccessTime)
|
||||
.setTransferRequestTime(toDateTime(transferRequestTime))
|
||||
.setPendingTransferExpirationTime(toDateTime(transferSuccessTime))
|
||||
.build())
|
||||
.setLastEppUpdateTime(transferRequestTime)
|
||||
.setLastEppUpdateTime(toDateTime(transferRequestTime))
|
||||
.setLastEppUpdateRegistrarId(domain.getTransferData().getGainingRegistrarId())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEppLastUpdateTimeAndClientId_autoRenewBeforeTransferSuccess() {
|
||||
DateTime now = fakeClock.nowUtc();
|
||||
DateTime transferRequestDateTime = now.plusDays(1);
|
||||
DateTime autorenewDateTime = now.plusDays(3);
|
||||
DateTime transferSuccessDateTime = now.plusDays(5);
|
||||
Instant now = fakeClock.now();
|
||||
Instant transferRequestDateTime = plusDays(now, 1);
|
||||
Instant autorenewDateTime = plusDays(now, 3);
|
||||
Instant transferSuccessDateTime = plusDays(now, 5);
|
||||
setupPendingTransferDomain(autorenewDateTime, transferRequestDateTime, transferSuccessDateTime);
|
||||
|
||||
Domain beforeAutoRenew = domain.cloneProjectedAtTime(autorenewDateTime.minusDays(1));
|
||||
Domain beforeAutoRenew = domain.cloneProjectedAtInstant(minusDays(autorenewDateTime, 1));
|
||||
assertThat(beforeAutoRenew.getLastEppUpdateTime()).isEqualTo(transferRequestDateTime);
|
||||
assertThat(beforeAutoRenew.getLastEppUpdateRegistrarId()).isEqualTo("TheRegistrar");
|
||||
|
||||
// If autorenew happens before transfer succeeds(before transfer grace period starts as well),
|
||||
// lastEppUpdateRegistrarId should still be the current sponsor client id
|
||||
Domain afterAutoRenew = domain.cloneProjectedAtTime(autorenewDateTime.plusDays(1));
|
||||
Domain afterAutoRenew = domain.cloneProjectedAtInstant(plusDays(autorenewDateTime, 1));
|
||||
assertThat(afterAutoRenew.getLastEppUpdateTime()).isEqualTo(autorenewDateTime);
|
||||
assertThat(afterAutoRenew.getLastEppUpdateRegistrarId()).isEqualTo("NewRegistrar");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testEppLastUpdateTimeAndClientId_autoRenewAfterTransferSuccess() {
|
||||
DateTime now = fakeClock.nowUtc();
|
||||
DateTime transferRequestDateTime = now.plusDays(1);
|
||||
DateTime autorenewDateTime = now.plusDays(3);
|
||||
DateTime transferSuccessDateTime = now.plusDays(5);
|
||||
Instant now = fakeClock.now();
|
||||
Instant transferRequestDateTime = plusDays(now, 1);
|
||||
Instant autorenewDateTime = plusDays(now, 3);
|
||||
Instant transferSuccessDateTime = plusDays(now, 5);
|
||||
setupPendingTransferDomain(autorenewDateTime, transferRequestDateTime, transferSuccessDateTime);
|
||||
|
||||
Domain beforeAutoRenew = domain.cloneProjectedAtTime(autorenewDateTime.minusDays(1));
|
||||
Domain beforeAutoRenew = domain.cloneProjectedAtInstant(minusDays(autorenewDateTime, 1));
|
||||
assertThat(beforeAutoRenew.getLastEppUpdateTime()).isEqualTo(transferRequestDateTime);
|
||||
assertThat(beforeAutoRenew.getLastEppUpdateRegistrarId()).isEqualTo("TheRegistrar");
|
||||
|
||||
Domain afterTransferSuccess = domain.cloneProjectedAtTime(transferSuccessDateTime.plusDays(1));
|
||||
Domain afterTransferSuccess =
|
||||
domain.cloneProjectedAtInstant(plusDays(transferSuccessDateTime, 1));
|
||||
assertThat(afterTransferSuccess.getLastEppUpdateTime()).isEqualTo(transferSuccessDateTime);
|
||||
assertThat(afterTransferSuccess.getLastEppUpdateRegistrarId()).isEqualTo("TheRegistrar");
|
||||
}
|
||||
@@ -552,11 +559,11 @@ public class DomainTest {
|
||||
setupUnmodifiedDomain(autorenewDateTime);
|
||||
|
||||
Domain beforeAutoRenew = domain.cloneProjectedAtTime(autorenewDateTime.minusDays(1));
|
||||
assertThat(beforeAutoRenew.getLastEppUpdateTime()).isEqualTo(null);
|
||||
assertThat(beforeAutoRenew.getLastEppUpdateDateTime()).isEqualTo(null);
|
||||
assertThat(beforeAutoRenew.getLastEppUpdateRegistrarId()).isEqualTo(null);
|
||||
|
||||
Domain afterAutoRenew = domain.cloneProjectedAtTime(autorenewDateTime.plusDays(1));
|
||||
assertThat(afterAutoRenew.getLastEppUpdateTime()).isEqualTo(autorenewDateTime);
|
||||
assertThat(afterAutoRenew.getLastEppUpdateDateTime()).isEqualTo(autorenewDateTime);
|
||||
assertThat(afterAutoRenew.getLastEppUpdateRegistrarId()).isEqualTo("NewRegistrar");
|
||||
}
|
||||
|
||||
@@ -633,9 +640,9 @@ public class DomainTest {
|
||||
|
||||
@Test
|
||||
void testRenewalsHappenAtExpiration() {
|
||||
Domain renewed = domain.cloneProjectedAtTime(domain.getRegistrationExpirationTime());
|
||||
Domain renewed = domain.cloneProjectedAtInstant(domain.getRegistrationExpirationTime());
|
||||
assertThat(renewed.getRegistrationExpirationTime())
|
||||
.isEqualTo(domain.getRegistrationExpirationTime().plusYears(1));
|
||||
.isEqualTo(plusYears(domain.getRegistrationExpirationTime(), 1));
|
||||
assertThat(renewed.getLastEppUpdateTime()).isEqualTo(domain.getRegistrationExpirationTime());
|
||||
assertThat(getOnlyElement(renewed.getGracePeriods()).getType())
|
||||
.isEqualTo(GracePeriodStatus.AUTO_RENEW);
|
||||
@@ -656,15 +663,16 @@ public class DomainTest {
|
||||
.setRegistrationExpirationTime(DateTime.parse("2004-02-29T22:00:00.0Z"))
|
||||
.build();
|
||||
Domain renewed =
|
||||
domain.cloneProjectedAtTime(domain.getRegistrationExpirationTime().plusYears(4));
|
||||
assertThat(renewed.getRegistrationExpirationTime().getDayOfMonth()).isEqualTo(28);
|
||||
domain.cloneProjectedAtInstant(plusYears(domain.getRegistrationExpirationTime(), 4));
|
||||
assertThat(renewed.getRegistrationExpirationTime().atZone(ZoneOffset.UTC).getDayOfMonth())
|
||||
.isEqualTo(28);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMultipleAutoRenews() {
|
||||
// Change the registry so that renewal costs change every year to make sure we are using the
|
||||
// autorenew time as the lookup time for the cost.
|
||||
DateTime oldExpirationTime = domain.getRegistrationExpirationTime();
|
||||
DateTime oldExpirationTime = domain.getRegistrationExpirationDateTime();
|
||||
persistResource(
|
||||
Tld.get("com")
|
||||
.asBuilder()
|
||||
@@ -680,9 +688,10 @@ public class DomainTest {
|
||||
.build())
|
||||
.build());
|
||||
Domain renewedThreeTimes = domain.cloneProjectedAtTime(oldExpirationTime.plusYears(2));
|
||||
assertThat(renewedThreeTimes.getRegistrationExpirationTime())
|
||||
assertThat(renewedThreeTimes.getRegistrationExpirationDateTime())
|
||||
.isEqualTo(oldExpirationTime.plusYears(3));
|
||||
assertThat(renewedThreeTimes.getLastEppUpdateTime()).isEqualTo(oldExpirationTime.plusYears(2));
|
||||
assertThat(renewedThreeTimes.getLastEppUpdateDateTime())
|
||||
.isEqualTo(oldExpirationTime.plusYears(2));
|
||||
assertThat(renewedThreeTimes.getGracePeriods())
|
||||
.containsExactly(
|
||||
GracePeriod.createForRecurrence(
|
||||
@@ -730,7 +739,7 @@ public class DomainTest {
|
||||
.setDeletionTime(now.minusDays(10))
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.PENDING_DELETE, StatusValue.INACTIVE))
|
||||
.build());
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationTime())
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationDateTime())
|
||||
.isEqualTo(now.minusDays(1));
|
||||
}
|
||||
|
||||
@@ -746,7 +755,7 @@ public class DomainTest {
|
||||
.setDeletionTime(now.plusDays(20))
|
||||
.setStatusValues(ImmutableSet.of(StatusValue.PENDING_DELETE, StatusValue.INACTIVE))
|
||||
.build());
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationTime())
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationDateTime())
|
||||
.isEqualTo(now.plusDays(1));
|
||||
}
|
||||
|
||||
@@ -773,7 +782,7 @@ public class DomainTest {
|
||||
.setTransferData(transferData)
|
||||
.build());
|
||||
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationTime())
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationDateTime())
|
||||
.isEqualTo(newExpiration);
|
||||
}
|
||||
|
||||
@@ -801,7 +810,7 @@ public class DomainTest {
|
||||
.setTransferData(transferData)
|
||||
.build());
|
||||
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationTime())
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationDateTime())
|
||||
.isEqualTo(newExpiration);
|
||||
}
|
||||
|
||||
@@ -843,7 +852,7 @@ public class DomainTest {
|
||||
|
||||
assertThat(domain.getCurrentBulkToken()).isPresent();
|
||||
Domain clonedDomain = domain.cloneProjectedAtTime(now);
|
||||
assertThat(clonedDomain.getRegistrationExpirationTime()).isEqualTo(newExpiration);
|
||||
assertThat(clonedDomain.getRegistrationExpirationDateTime()).isEqualTo(newExpiration);
|
||||
assertThat(clonedDomain.getCurrentBulkToken()).isEmpty();
|
||||
}
|
||||
|
||||
@@ -868,7 +877,7 @@ public class DomainTest {
|
||||
.setTransferData(transferData)
|
||||
.build());
|
||||
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationTime())
|
||||
assertThat(domain.cloneProjectedAtTime(now).getRegistrationExpirationDateTime())
|
||||
.isEqualTo(previousExpiration);
|
||||
}
|
||||
|
||||
@@ -906,7 +915,7 @@ public class DomainTest {
|
||||
.build());
|
||||
|
||||
Domain clonedDomain = domain.cloneProjectedAtTime(now);
|
||||
assertThat(clonedDomain.getRegistrationExpirationTime()).isEqualTo(previousExpiration);
|
||||
assertThat(clonedDomain.getRegistrationExpirationDateTime()).isEqualTo(previousExpiration);
|
||||
assertThat(clonedDomain.getCurrentBulkToken().get()).isEqualTo(allocationToken.createVKey());
|
||||
}
|
||||
|
||||
@@ -943,8 +952,8 @@ public class DomainTest {
|
||||
.setAutorenewBillingEvent(recurrenceBillKey)
|
||||
.build());
|
||||
Domain clone = domain.cloneProjectedAtTime(now);
|
||||
assertThat(clone.getRegistrationExpirationTime())
|
||||
.isEqualTo(domain.getRegistrationExpirationTime().plusYears(1));
|
||||
assertThat(clone.getRegistrationExpirationDateTime())
|
||||
.isEqualTo(domain.getRegistrationExpirationDateTime().plusYears(1));
|
||||
// Transferring removes the AUTORENEW grace period and adds a TRANSFER grace period
|
||||
assertThat(getOnlyElement(clone.getGracePeriods()).getType())
|
||||
.isEqualTo(GracePeriodStatus.TRANSFER);
|
||||
|
||||
@@ -68,7 +68,7 @@ public class GracePeriodTest {
|
||||
assertThat(gracePeriod.getBillingEvent()).isEqualTo(onetime.createVKey());
|
||||
assertThat(gracePeriod.getBillingRecurrence()).isNull();
|
||||
assertThat(gracePeriod.getRegistrarId()).isEqualTo("TheRegistrar");
|
||||
assertThat(gracePeriod.getExpirationTime()).isEqualTo(now.plusDays(1));
|
||||
assertThat(gracePeriod.getExpirationDateTime()).isEqualTo(now.plusDays(1));
|
||||
assertThat(gracePeriod.hasBillingEvent()).isTrue();
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ public class GracePeriodTest {
|
||||
assertThat(gracePeriod.getBillingEvent()).isNull();
|
||||
assertThat(gracePeriod.getBillingRecurrence()).isEqualTo(recurrenceKey);
|
||||
assertThat(gracePeriod.getRegistrarId()).isEqualTo("TheRegistrar");
|
||||
assertThat(gracePeriod.getExpirationTime()).isEqualTo(now.plusDays(1));
|
||||
assertThat(gracePeriod.getExpirationDateTime()).isEqualTo(now.plusDays(1));
|
||||
assertThat(gracePeriod.hasBillingEvent()).isTrue();
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ public class GracePeriodTest {
|
||||
assertThat(gracePeriod.getBillingEvent()).isNull();
|
||||
assertThat(gracePeriod.getBillingRecurrence()).isNull();
|
||||
assertThat(gracePeriod.getRegistrarId()).isEqualTo("TheRegistrar");
|
||||
assertThat(gracePeriod.getExpirationTime()).isEqualTo(now);
|
||||
assertThat(gracePeriod.getExpirationDateTime()).isEqualTo(now);
|
||||
assertThat(gracePeriod.hasBillingEvent()).isFalse();
|
||||
}
|
||||
|
||||
|
||||
@@ -148,15 +148,15 @@ abstract class AbstractEppResourceSubject<
|
||||
}
|
||||
|
||||
public And<S> hasDeletionTime(DateTime deletionTime) {
|
||||
return hasValue(deletionTime, actual.getDeletionTime(), "getDeletionTime()");
|
||||
return hasValue(deletionTime, actual.getDeletionDateTime(), "getDeletionTime()");
|
||||
}
|
||||
|
||||
public And<S> hasLastEppUpdateTime(DateTime lastUpdateTime) {
|
||||
return hasValue(lastUpdateTime, actual.getLastEppUpdateTime(), "has lastEppUpdateTime");
|
||||
return hasValue(lastUpdateTime, actual.getLastEppUpdateDateTime(), "has lastEppUpdateTime");
|
||||
}
|
||||
|
||||
public And<S> hasLastEppUpdateTimeAtLeast(DateTime before) {
|
||||
DateTime lastEppUpdateTime = actual.getLastEppUpdateTime();
|
||||
DateTime lastEppUpdateTime = actual.getLastEppUpdateDateTime();
|
||||
check("getLastEppUpdateTime()").that(lastEppUpdateTime).isAtLeast(before);
|
||||
return andChainer();
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public final class DomainSubject extends AbstractEppResourceSubject<Domain, Doma
|
||||
|
||||
public And<DomainSubject> hasRegistrationExpirationTime(DateTime expiration) {
|
||||
return hasValue(
|
||||
expiration, actual.getRegistrationExpirationTime(), "getRegistrationExpirationTime()");
|
||||
expiration, actual.getRegistrationExpirationDateTime(), "getRegistrationExpirationTime()");
|
||||
}
|
||||
|
||||
public And<DomainSubject> hasLastTransferTime(DateTime lastTransferTime) {
|
||||
|
||||
@@ -78,12 +78,12 @@ public class UnrenewDomainCommandTest extends CommandTestCase<UnrenewDomainComma
|
||||
assertThat(
|
||||
ForeignKeyUtils.loadResource(Domain.class, "foo.tld", fakeClock.nowUtc())
|
||||
.get()
|
||||
.getRegistrationExpirationTime())
|
||||
.getRegistrationExpirationDateTime())
|
||||
.isEqualTo(DateTime.parse("2019-12-06T13:55:01.001Z"));
|
||||
assertThat(
|
||||
ForeignKeyUtils.loadResource(Domain.class, "bar.tld", fakeClock.nowUtc())
|
||||
.get()
|
||||
.getRegistrationExpirationTime())
|
||||
.getRegistrationExpirationDateTime())
|
||||
.isEqualTo(DateTime.parse("2018-12-06T13:55:01.002Z"));
|
||||
assertInStdout("Successfully unrenewed all domains.");
|
||||
}
|
||||
@@ -149,8 +149,8 @@ public class UnrenewDomainCommandTest extends CommandTestCase<UnrenewDomainComma
|
||||
.build()));
|
||||
|
||||
// Check that fields on domain were updated correctly.
|
||||
assertThat(domain.getRegistrationExpirationTime()).isEqualTo(newExpirationTime);
|
||||
assertThat(domain.getLastEppUpdateTime()).isEqualTo(unrenewTime);
|
||||
assertThat(domain.getRegistrationExpirationDateTime()).isEqualTo(newExpirationTime);
|
||||
assertThat(domain.getLastEppUpdateDateTime()).isEqualTo(unrenewTime);
|
||||
assertThat(domain.getLastEppUpdateRegistrarId()).isEqualTo("TheRegistrar");
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -19,6 +19,7 @@ import static google.registry.testing.DatabaseHelper.loadByEntity;
|
||||
import static google.registry.testing.DatabaseHelper.loadSingleton;
|
||||
import static google.registry.testing.DatabaseHelper.persistDomainWithDependentResources;
|
||||
import static google.registry.testing.DatabaseHelper.persistResource;
|
||||
import static google.registry.util.DateTimeUtils.plusDays;
|
||||
import static jakarta.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
|
||||
import static jakarta.servlet.http.HttpServletResponse.SC_FORBIDDEN;
|
||||
import static jakarta.servlet.http.HttpServletResponse.SC_OK;
|
||||
@@ -92,7 +93,7 @@ public class ConsoleBulkDomainActionTest extends ConsoleActionBaseTestCase {
|
||||
{"example.tld":{"message":"Command completed successfully; action pending",\
|
||||
"responseCode":1001}}\
|
||||
""");
|
||||
assertThat(loadByEntity(domain).getDeletionTime()).isEqualTo(clock.nowUtc().plusDays(35));
|
||||
assertThat(loadByEntity(domain).getDeletionTime()).isEqualTo(plusDays(clock.now(), 35));
|
||||
ConsoleUpdateHistory history = loadSingleton(ConsoleUpdateHistory.class).get();
|
||||
assertThat(history.getType()).isEqualTo(ConsoleUpdateHistory.Type.DOMAIN_DELETE);
|
||||
assertThat(history.getDescription()).hasValue("example.tld");
|
||||
@@ -162,7 +163,7 @@ public class ConsoleBulkDomainActionTest extends ConsoleActionBaseTestCase {
|
||||
"nonexistent.tld":{"message":"The domain with given ID (nonexistent.tld) doesn\\u0027t exist.",\
|
||||
"responseCode":2303}}\
|
||||
""");
|
||||
assertThat(loadByEntity(domain).getDeletionTime()).isEqualTo(clock.nowUtc().plusDays(35));
|
||||
assertThat(loadByEntity(domain).getDeletionTime()).isEqualTo(plusDays(clock.now(), 35));
|
||||
ConsoleUpdateHistory history = loadSingleton(ConsoleUpdateHistory.class).get();
|
||||
assertThat(history.getType()).isEqualTo(ConsoleUpdateHistory.Type.DOMAIN_DELETE);
|
||||
assertThat(history.getDescription()).hasValue("example.tld");
|
||||
|
||||
Reference in New Issue
Block a user