From 09f619cce2205e03e3ed6a88a410007fad7d84c8 Mon Sep 17 00:00:00 2001 From: nickfelt Date: Thu, 16 Mar 2017 15:03:18 -0700 Subject: [PATCH] Remove obsolete TransferData.extendedRegistrationYears Now that transfers are always restricted to 1 year, it's unnecessary to store extendedRegistrationYears on TransferData - it will always be equal to 1. This simplifies logic in a few other places, e.g. RdeDomainImportAction. I verified in BigQuery that no DomainBases exist with extendedRegistrationYears values that aren't either null or equal to 1. At some point we should remove the persisted fields from datastore via e.g. resaving all those domains, but it's low priority and can wait until we have some more pressing migration. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=150373897 --- .../registry/flows/ResourceFlowUtils.java | 18 +++++------ .../domain/DomainTransferApproveFlow.java | 10 +++---- .../flows/domain/DomainTransferQueryFlow.java | 7 ++--- .../domain/DomainTransferRequestFlow.java | 20 +++++-------- .../flows/domain/DomainTransferUtils.java | 15 ++++------ .../registry/model/domain/DomainResource.java | 5 ++-- .../registry/model/transfer/TransferData.java | 16 ---------- .../rde/DomainResourceToXjcConverter.java | 5 ++-- .../rde/imports/RdeDomainImportAction.java | 6 ++-- .../imports/XjcToDomainResourceConverter.java | 26 +++------------- .../domain/DomainTransferApproveFlowTest.java | 9 ++---- .../domain/DomainTransferFlowTestCase.java | 4 +-- .../domain/DomainTransferQueryFlowTest.java | 6 ++-- .../domain/DomainTransferRequestFlowTest.java | 7 ++--- ...in_transfer_approve_response_autorenew.xml | 2 +- .../flows/host/HostDeleteFlowTest.java | 2 -- .../flows/host/HostUpdateFlowTest.java | 1 - .../model/contact/ContactResourceTest.java | 1 - .../model/domain/DomainResourceTest.java | 2 -- .../registry/model/host/HostResourceTest.java | 1 - javatests/google/registry/model/schema.txt | 1 - .../registry/rdap/RdapJsonFormatterTest.java | 1 - .../ContactResourceToXjcConverterTest.java | 1 - .../rde/DomainResourceToXjcConverterTest.java | 1 - .../google/registry/rde/RdeFixtures.java | 1 - .../XjcToDomainResourceConverterTest.java | 30 ------------------- .../domain_fragment_pending_transfer_1yr.xml | 24 --------------- .../domain_fragment_pending_transfer_2yr.xml | 24 --------------- .../registry/testing/DatastoreHelper.java | 23 ++++---------- 29 files changed, 54 insertions(+), 215 deletions(-) delete mode 100644 javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_1yr.xml delete mode 100644 javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_2yr.xml diff --git a/java/google/registry/flows/ResourceFlowUtils.java b/java/google/registry/flows/ResourceFlowUtils.java index b3f674704..7f1c6bd08 100644 --- a/java/google/registry/flows/ResourceFlowUtils.java +++ b/java/google/registry/flows/ResourceFlowUtils.java @@ -96,15 +96,14 @@ public final class ResourceFlowUtils { builder = new ContactTransferResponse.Builder().setContactId(eppResource.getForeignKey()); } else { DomainResource domain = (DomainResource) eppResource; - builder = new DomainTransferResponse.Builder() - .setFullyQualifiedDomainNameName(eppResource.getForeignKey()) - .setExtendedRegistrationExpirationTime( - ADD_EXDATE_STATUSES.contains(transferData.getTransferStatus()) - ? extendRegistrationWithCap( - now, - domain.getRegistrationExpirationTime(), - transferData.getExtendedRegistrationYears()) - : null); + builder = + new DomainTransferResponse.Builder() + .setFullyQualifiedDomainNameName(eppResource.getForeignKey()) + // TODO(b/25084229): fix exDate computation logic. + .setExtendedRegistrationExpirationTime( + ADD_EXDATE_STATUSES.contains(transferData.getTransferStatus()) + ? extendRegistrationWithCap(now, domain.getRegistrationExpirationTime(), 1) + : null); } builder.setGainingClientId(transferData.getGainingClientId()) .setLosingClientId(transferData.getLosingClientId()) @@ -218,7 +217,6 @@ public final class ResourceFlowUtils { TransferData oldTransferData, TransferStatus transferStatus, DateTime now) { checkArgument(!oldTransferData.equals(TransferData.EMPTY), "No old transfer to resolve."); return oldTransferData.asBuilder() - .setExtendedRegistrationYears(null) .setServerApproveEntities(null) .setServerApproveBillingEvent(null) .setServerApproveAutorenewEvent(null) diff --git a/java/google/registry/flows/domain/DomainTransferApproveFlow.java b/java/google/registry/flows/domain/DomainTransferApproveFlow.java index 7a898928f..304f4450c 100644 --- a/java/google/registry/flows/domain/DomainTransferApproveFlow.java +++ b/java/google/registry/flows/domain/DomainTransferApproveFlow.java @@ -108,20 +108,20 @@ public final class DomainTransferApproveFlow implements TransactionalFlow { .setOtherClientId(gainingClientId) .setParent(Key.create(existingDomain)) .build(); - int extraYears = transferData.getExtendedRegistrationYears(); // Bill for the transfer. BillingEvent.OneTime billingEvent = new BillingEvent.OneTime.Builder() .setReason(Reason.TRANSFER) .setTargetId(targetId) .setClientId(gainingClientId) - .setPeriodYears(extraYears) - .setCost(getDomainRenewCost(targetId, transferData.getTransferRequestTime(), extraYears)) + .setPeriodYears(1) + .setCost(getDomainRenewCost(targetId, transferData.getTransferRequestTime(), 1)) .setEventTime(now) .setBillingTime(now.plus(Registry.get(tld).getTransferGracePeriodLength())) .setParent(historyEntry) .build(); - // If we are within an autorenew grace period, cancel the autorenew billing event and reduce - // the number of years to extend the registration by one to "subsume" the autorenew. + // If we are within an autorenew grace period, cancel the autorenew billing event and don't + // increase the registration time, since the transfer subsumes the autorenew's extra year. + int extraYears = 1; // All transfers are one year. GracePeriod autorenewGrace = getOnlyElement(existingDomain.getGracePeriodsOfType(GracePeriodStatus.AUTO_RENEW), null); if (autorenewGrace != null) { diff --git a/java/google/registry/flows/domain/DomainTransferQueryFlow.java b/java/google/registry/flows/domain/DomainTransferQueryFlow.java index 149cc110e..ff214c65f 100644 --- a/java/google/registry/flows/domain/DomainTransferQueryFlow.java +++ b/java/google/registry/flows/domain/DomainTransferQueryFlow.java @@ -85,11 +85,8 @@ public final class DomainTransferQueryFlow implements Flow { DateTime newExpirationTime = null; if (transferData.getTransferStatus().isApproved() || transferData.getTransferStatus().equals(TransferStatus.PENDING)) { - // TODO(b/25084229): This is not quite right. - newExpirationTime = extendRegistrationWithCap( - now, - domain.getRegistrationExpirationTime(), - transferData.getExtendedRegistrationYears()); + // TODO(b/25084229): fix exDate computation logic. + newExpirationTime = extendRegistrationWithCap(now, domain.getRegistrationExpirationTime(), 1); } return responseBuilder .setResData(createTransferResponse(targetId, transferData, newExpirationTime)) diff --git a/java/google/registry/flows/domain/DomainTransferRequestFlow.java b/java/google/registry/flows/domain/DomainTransferRequestFlow.java index 9af6d26b9..5c93d550a 100644 --- a/java/google/registry/flows/domain/DomainTransferRequestFlow.java +++ b/java/google/registry/flows/domain/DomainTransferRequestFlow.java @@ -128,7 +128,6 @@ public final class DomainTransferRequestFlow implements TransactionalFlow { extensionManager.validate(); validateClientIsLoggedIn(gainingClientId); Period period = ((Transfer) resourceCommand).getPeriod(); - int years = period.getValue(); DateTime now = ofy().getTransactionTime(); DomainResource existingDomain = loadAndVerifyExistence(DomainResource.class, targetId, now); verifyTransferAllowed(existingDomain, period, now); @@ -143,25 +142,24 @@ public final class DomainTransferRequestFlow implements TransactionalFlow { DateTime automaticTransferTime = now.plus(registry.getAutomaticTransferLength()); // If the domain will be in the auto-renew grace period at the moment of transfer, the transfer - // will subsume the autorenew, so we reduce by 1 the number of years to extend the registration. - // Note that the regular "years" remains the same since it affects the transfer charge amount. - // The gaining registrar is still billed for the full years; the losing registrar will get a + // will subsume the autorenew, so we don't add the normal extra year from the transfer. + // The gaining registrar is still billed for the extra year; the losing registrar will get a // cancellation for the autorenew written out within createTransferServerApproveEntities(). // // See b/19430703#comment17 and https://www.icann.org/news/advisory-2002-06-06-en for the // policy documentation for transfers subsuming autorenews within the autorenew grace period. - int registrationExtensionYears = years; + int extraYears = 1; DomainResource domainAtTransferTime = existingDomain.cloneProjectedAtTime(automaticTransferTime); if (!domainAtTransferTime.getGracePeriodsOfType(GracePeriodStatus.AUTO_RENEW).isEmpty()) { - registrationExtensionYears--; + extraYears--; } // The new expiration time if there is a server approval. DateTime serverApproveNewExpirationTime = extendRegistrationWithCap( automaticTransferTime, domainAtTransferTime.getRegistrationExpirationTime(), - registrationExtensionYears); + extraYears); // Create speculative entities in anticipation of an automatic server approval. ImmutableSet serverApproveEntities = createTransferServerApproveEntities( @@ -172,11 +170,10 @@ public final class DomainTransferRequestFlow implements TransactionalFlow { trid, gainingClientId, feesAndCredits.getTotalCost(), - years, now); // Create the transfer data that represents the pending transfer. TransferData pendingTransferData = createPendingTransferData( - createTransferDataBuilder(existingDomain, automaticTransferTime, years, now), + createTransferDataBuilder(existingDomain, automaticTransferTime, now), serverApproveEntities); // Create a poll message to notify the losing registrar that a transfer was requested. PollMessage requestPollMessage = createLosingTransferPollMessage( @@ -262,14 +259,13 @@ public final class DomainTransferRequestFlow implements TransactionalFlow { } private Builder createTransferDataBuilder( - DomainResource existingDomain, DateTime automaticTransferTime, int years, DateTime now) { + DomainResource existingDomain, DateTime automaticTransferTime, DateTime now) { return new TransferData.Builder() .setTransferRequestTrid(trid) .setTransferRequestTime(now) .setGainingClientId(gainingClientId) .setLosingClientId(existingDomain.getCurrentSponsorClientId()) - .setPendingTransferExpirationTime(automaticTransferTime) - .setExtendedRegistrationYears(years); + .setPendingTransferExpirationTime(automaticTransferTime); } private DomainTransferResponse createResponse( diff --git a/java/google/registry/flows/domain/DomainTransferUtils.java b/java/google/registry/flows/domain/DomainTransferUtils.java index b4cc21876..fdaf48e34 100644 --- a/java/google/registry/flows/domain/DomainTransferUtils.java +++ b/java/google/registry/flows/domain/DomainTransferUtils.java @@ -92,13 +92,12 @@ public final class DomainTransferUtils { Trid trid, String gainingClientId, Money transferCost, - int years, DateTime now) { String targetId = existingDomain.getFullyQualifiedDomainName(); // Create a TransferData for the server-approve case to use for the speculative poll messages. TransferData serverApproveTransferData = createTransferDataBuilder( - existingDomain, trid, gainingClientId, automaticTransferTime, years, now) + existingDomain, trid, gainingClientId, automaticTransferTime, now) .setTransferStatus(TransferStatus.SERVER_APPROVED) .build(); Registry registry = Registry.get(existingDomain.getTld()); @@ -110,8 +109,7 @@ public final class DomainTransferUtils { targetId, gainingClientId, registry, - transferCost, - years)) + transferCost)) .addAll( createOptionalAutorenewCancellation( automaticTransferTime, historyEntry, targetId, existingDomain) @@ -255,14 +253,13 @@ public final class DomainTransferUtils { String targetId, String gainingClientId, Registry registry, - Money transferCost, - int years) { + Money transferCost) { return new BillingEvent.OneTime.Builder() .setReason(Reason.TRANSFER) .setTargetId(targetId) .setClientId(gainingClientId) .setCost(transferCost) - .setPeriodYears(years) + .setPeriodYears(1) .setEventTime(automaticTransferTime) .setBillingTime(automaticTransferTime.plus(registry.getTransferGracePeriodLength())) .setParent(historyEntry) @@ -274,15 +271,13 @@ public final class DomainTransferUtils { Trid trid, String gainingClientId, DateTime automaticTransferTime, - int years, DateTime now) { return new TransferData.Builder() .setTransferRequestTrid(trid) .setTransferRequestTime(now) .setGainingClientId(gainingClientId) .setLosingClientId(existingDomain.getCurrentSponsorClientId()) - .setPendingTransferExpirationTime(automaticTransferTime) - .setExtendedRegistrationYears(years); + .setPendingTransferExpirationTime(automaticTransferTime); } private DomainTransferUtils() {} diff --git a/java/google/registry/model/domain/DomainResource.java b/java/google/registry/model/domain/DomainResource.java index cda8e6006..ac628b274 100644 --- a/java/google/registry/model/domain/DomainResource.java +++ b/java/google/registry/model/domain/DomainResource.java @@ -247,9 +247,8 @@ public class DomainResource extends DomainBase cloneProjectedAtTime(transferExpirationTime.minusMillis(1)); // If we are within an autorenew grace period, the transfer will subsume the autorenew. There // will already be a cancellation written in advance by the transfer request flow, so we don't - // need to worry about billing, but we do need to reduce the number of years added to the - // expiration time by one to account for the year added by the autorenew. - int extraYears = transferData.getExtendedRegistrationYears(); + // need to worry about billing, but we do need to cancel out the expiration time increase. + int extraYears = 1; // All transfers are one year. if (domainAtTransferTime.getGracePeriodStatuses().contains(GracePeriodStatus.AUTO_RENEW)) { extraYears--; } diff --git a/java/google/registry/model/transfer/TransferData.java b/java/google/registry/model/transfer/TransferData.java index 44059ef6d..b56ec843d 100644 --- a/java/google/registry/model/transfer/TransferData.java +++ b/java/google/registry/model/transfer/TransferData.java @@ -81,12 +81,6 @@ public class TransferData extends BaseTransferObject implements Buildable { /** The transaction id of the most recent transfer request (or null if there never was one). */ Trid transferRequestTrid; - /** - * The number of years to add to the registration expiration time if this transfer is approved. - * Can be null if never transferred, or for resource types where it's not applicable. - */ - Integer extendedRegistrationYears; - public ImmutableSet> getServerApproveEntities() { return nullToEmptyImmutableCopy(serverApproveEntities); } @@ -107,10 +101,6 @@ public class TransferData extends BaseTransferObject implements Buildable { return transferRequestTrid; } - public Integer getExtendedRegistrationYears() { - return extendedRegistrationYears; - } - @Override public Builder asBuilder() { return new Builder(clone(this)); @@ -155,12 +145,6 @@ public class TransferData extends BaseTransferObject implements Buildable { getInstance().transferRequestTrid = transferRequestTrid; return this; } - - /** Set the years to add to the registration if this transfer completes. */ - public Builder setExtendedRegistrationYears(Integer extendedRegistrationYears) { - getInstance().extendedRegistrationYears = extendedRegistrationYears; - return thisCastToDerived(); - } } /** diff --git a/java/google/registry/rde/DomainResourceToXjcConverter.java b/java/google/registry/rde/DomainResourceToXjcConverter.java index 458474532..4b1680655 100644 --- a/java/google/registry/rde/DomainResourceToXjcConverter.java +++ b/java/google/registry/rde/DomainResourceToXjcConverter.java @@ -17,7 +17,6 @@ package google.registry.rde; import static google.registry.model.ofy.ObjectifyService.ofy; import com.google.common.base.Ascii; -import com.google.common.base.Optional; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.googlecode.objectify.Key; @@ -257,9 +256,9 @@ final class DomainResourceToXjcConverter { bean.setAcRr(RdeUtil.makeXjcRdeRrType(model.getLosingClientId())); bean.setReDate(model.getTransferRequestTime()); bean.setAcDate(model.getPendingTransferExpirationTime()); + // TODO(b/25084229): fix exDate computation logic. if (model.getTransferStatus() == TransferStatus.PENDING) { - int years = Optional.fromNullable(model.getExtendedRegistrationYears()).or(0); - bean.setExDate(domainExpires.plusYears(years)); + bean.setExDate(domainExpires.plusYears(1)); } else { bean.setExDate(domainExpires); } diff --git a/java/google/registry/rde/imports/RdeDomainImportAction.java b/java/google/registry/rde/imports/RdeDomainImportAction.java index 3eaa4d636..47218e0d5 100644 --- a/java/google/registry/rde/imports/RdeDomainImportAction.java +++ b/java/google/registry/rde/imports/RdeDomainImportAction.java @@ -189,19 +189,17 @@ public class RdeDomainImportAction implements Runnable { Money transferCost = getDomainRenewCost( domain.getFullyQualifiedDomainName(), transferData.getPendingTransferExpirationTime(), - transferData.getExtendedRegistrationYears()); + 1); // Create speculative entities in anticipation of an automatic server approval. ImmutableSet serverApproveEntities = createTransferServerApproveEntities( transferData.getPendingTransferExpirationTime(), - domain.getRegistrationExpirationTime() - .plusYears(transferData.getExtendedRegistrationYears()), + domain.getRegistrationExpirationTime().plusYears(1), historyEntry, domain, historyEntry.getTrid(), transferData.getGainingClientId(), transferCost, - transferData.getExtendedRegistrationYears(), transferData.getTransferRequestTime()); transferData = createPendingTransferData(transferData.asBuilder(), serverApproveEntities); diff --git a/java/google/registry/rde/imports/XjcToDomainResourceConverter.java b/java/google/registry/rde/imports/XjcToDomainResourceConverter.java index 571d46d51..586462bb3 100644 --- a/java/google/registry/rde/imports/XjcToDomainResourceConverter.java +++ b/java/google/registry/rde/imports/XjcToDomainResourceConverter.java @@ -60,7 +60,6 @@ import java.security.ProviderException; import java.security.SecureRandom; import java.util.Random; import org.joda.time.DateTime; -import org.joda.time.Years; /** Utility class that converts an {@link XjcRdeDomainElement} into a {@link DomainResource}. */ final class XjcToDomainResourceConverter extends XjcToEppResourceConverter { @@ -208,7 +207,7 @@ final class XjcToDomainResourceConverter extends XjcToEppResourceConverter { ? ImmutableSet.of() : ImmutableSet.copyOf( transform(domain.getSecDNS().getDsDatas(), SECDNS_CONVERTER))) - .setTransferData(convertDomainTransferData(domain.getTrnData(), domain.getExDate())) + .setTransferData(convertDomainTransferData(domain.getTrnData())) // authInfo pw must be a token between 6 and 16 characters in length // generate a token of 16 characters as the default authInfo pw .setAuthInfo(DomainAuthInfo @@ -241,34 +240,17 @@ final class XjcToDomainResourceConverter extends XjcToEppResourceConverter { } /** Converts {@link XjcRdeDomainTransferDataType} to {@link TransferData}. */ - private static TransferData convertDomainTransferData(XjcRdeDomainTransferDataType data, - DateTime domainExpiration) { + private static TransferData convertDomainTransferData(XjcRdeDomainTransferDataType data) { if (data == null) { return TransferData.EMPTY; } - // If the transfer is pending, calculate the number of years to add to the domain expiration - // on approval of the transfer. - TransferStatus transferStatus = TRANSFER_STATUS_MAPPER.xmlToEnum(data.getTrStatus().value()); - // Get new expiration date - DateTime newExpirationTime = domainExpiration; - if (transferStatus == TransferStatus.PENDING) { - // Default to domain expiration time plus one year if no expiration is specified - if (data.getExDate() == null) { - newExpirationTime = newExpirationTime.plusYears(1); - } else { - newExpirationTime = data.getExDate(); - } - } + // TODO(b/25084229): read in the exDate and store it somewhere. return new TransferData.Builder() - .setTransferStatus(transferStatus) + .setTransferStatus(TRANSFER_STATUS_MAPPER.xmlToEnum(data.getTrStatus().value())) .setGainingClientId(data.getReRr().getValue()) .setLosingClientId(data.getAcRr().getValue()) .setTransferRequestTime(data.getReDate()) .setPendingTransferExpirationTime(data.getAcDate()) - // This will be wrong for domains that are not in pending transfer, - // but there isn't a reliable way to calculate it. - .setExtendedRegistrationYears( - Years.yearsBetween(domainExpiration, newExpirationTime).getYears()) .build(); } diff --git a/javatests/google/registry/flows/domain/DomainTransferApproveFlowTest.java b/javatests/google/registry/flows/domain/DomainTransferApproveFlowTest.java index 48caad212..626fe9668 100644 --- a/javatests/google/registry/flows/domain/DomainTransferApproveFlowTest.java +++ b/javatests/google/registry/flows/domain/DomainTransferApproveFlowTest.java @@ -298,18 +298,15 @@ public class DomainTransferApproveFlowTest DateTime oldExpirationTime = clock.nowUtc().minusDays(1); persistResource(domain.asBuilder() .setRegistrationExpirationTime(oldExpirationTime) - .setTransferData(domain.getTransferData().asBuilder() - .setExtendedRegistrationYears(2) - .build()) .build()); - // The autorenew should be subsumed into the transfer resulting in 2 years of renewal in total. + // The autorenew should be subsumed into the transfer resulting in 1 year of renewal in total. clock.advanceOneMilli(); doSuccessfulTest( "tld", "domain_transfer_approve_domain_authinfo.xml", "domain_transfer_approve_response_autorenew.xml", - oldExpirationTime.plusYears(2), - 2, + oldExpirationTime.plusYears(1), + 1, // Expect the grace period for autorenew to be cancelled. new BillingEvent.Cancellation.Builder() .setReason(Reason.RENEW) diff --git a/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java b/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java index 6d0afef8b..83aa82a35 100644 --- a/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java +++ b/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java @@ -101,7 +101,6 @@ public class DomainTransferFlowTestCase TRANSFER_REQUEST_TIME, TRANSFER_EXPIRATION_TIME, EXTENDED_REGISTRATION_EXPIRATION_TIME, - EXTENDED_REGISTRATION_YEARS, TRANSFER_REQUEST_TIME); } @@ -176,8 +175,7 @@ public class DomainTransferFlowTestCase domain, historyEntry, TRANSFER_REQUEST_TIME, - TRANSFER_EXPIRATION_TIME, - EXTENDED_REGISTRATION_YEARS); + TRANSFER_EXPIRATION_TIME); } /** Get the autorenew event that the losing client will have after a SERVER_APPROVED transfer. */ diff --git a/javatests/google/registry/flows/domain/DomainTransferQueryFlowTest.java b/javatests/google/registry/flows/domain/DomainTransferQueryFlowTest.java index 23b32c4ff..f8f1d05b4 100644 --- a/javatests/google/registry/flows/domain/DomainTransferQueryFlowTest.java +++ b/javatests/google/registry/flows/domain/DomainTransferQueryFlowTest.java @@ -148,10 +148,10 @@ public class DomainTransferQueryFlowTest @Test public void testSuccess_tenYears() throws Exception { + // Extend registration by 9 years here; with the extra 1 year from the transfer, we should + // hit the 10-year capping. domain = persistResource(domain.asBuilder() - .setTransferData(domain.getTransferData().asBuilder() - .setExtendedRegistrationYears(10) - .build()) + .setRegistrationExpirationTime(domain.getRegistrationExpirationTime().plusYears(9)) .build()); doSuccessfulTest( "domain_transfer_query.xml", diff --git a/javatests/google/registry/flows/domain/DomainTransferRequestFlowTest.java b/javatests/google/registry/flows/domain/DomainTransferRequestFlowTest.java index ad42acd85..ef7d1e4fb 100644 --- a/javatests/google/registry/flows/domain/DomainTransferRequestFlowTest.java +++ b/javatests/google/registry/flows/domain/DomainTransferRequestFlowTest.java @@ -164,7 +164,6 @@ public class DomainTransferRequestFlowTest domain = reloadResourceByForeignKey(); final HistoryEntry historyEntryTransferRequest = getOnlyHistoryEntryOfType(domain, HistoryEntry.Type.DOMAIN_TRANSFER_REQUEST); - int registrationYears = domain.getTransferData().getExtendedRegistrationYears(); subordinateHost = reloadResourceAndCloneAtTime(subordinateHost, clock.nowUtc()); assertTransferRequested(domain); assertAboutDomains().that(domain) @@ -174,7 +173,7 @@ public class DomainTransferRequestFlowTest HistoryEntry.Type.DOMAIN_TRANSFER_REQUEST); assertAboutHistoryEntries() .that(historyEntryTransferRequest) - .hasPeriodYears(registrationYears) + .hasPeriodYears(1) .and() .hasOtherClientId("TheRegistrar"); assertAboutHosts().that(subordinateHost).hasNoHistoryEntries(); @@ -190,8 +189,8 @@ public class DomainTransferRequestFlowTest .setEventTime(implicitTransferTime) .setBillingTime(implicitTransferTime.plus(registry.getTransferGracePeriodLength())) .setClientId("NewRegistrar") - .setCost(transferCost.or(Money.of(USD, 11).multipliedBy(registrationYears))) - .setPeriodYears(registrationYears) + .setCost(transferCost.or(Money.of(USD, 11))) + .setPeriodYears(1) .setParent(historyEntryTransferRequest) .build(); assertBillingEvents(FluentIterable.from(extraExpectedBillingEvents) diff --git a/javatests/google/registry/flows/domain/testdata/domain_transfer_approve_response_autorenew.xml b/javatests/google/registry/flows/domain/testdata/domain_transfer_approve_response_autorenew.xml index 23c90f224..52797acd8 100644 --- a/javatests/google/registry/flows/domain/testdata/domain_transfer_approve_response_autorenew.xml +++ b/javatests/google/registry/flows/domain/testdata/domain_transfer_approve_response_autorenew.xml @@ -12,7 +12,7 @@ 2000-06-06T22:00:00.0Z TheRegistrar 2000-06-09T22:00:00.0Z - 2002-06-08T22:00:00.0Z + 2001-06-08T22:00:00.0Z diff --git a/javatests/google/registry/flows/host/HostDeleteFlowTest.java b/javatests/google/registry/flows/host/HostDeleteFlowTest.java index 56b04d032..82114a560 100644 --- a/javatests/google/registry/flows/host/HostDeleteFlowTest.java +++ b/javatests/google/registry/flows/host/HostDeleteFlowTest.java @@ -193,7 +193,6 @@ public class HostDeleteFlowTest extends ResourceFlowTestCase>of( Key.create(transferBillingEvent))) - .setExtendedRegistrationYears(1) .build()) .addGracePeriod( // Okay for billing event to be null since the point of this grace period is just diff --git a/javatests/google/registry/model/host/HostResourceTest.java b/javatests/google/registry/model/host/HostResourceTest.java index 5817fc3a3..9721e9458 100644 --- a/javatests/google/registry/model/host/HostResourceTest.java +++ b/javatests/google/registry/model/host/HostResourceTest.java @@ -61,7 +61,6 @@ public class HostResourceTest extends EntityTestCase { newDomainResource("example.com").asBuilder() .setRepoId("1-COM") .setTransferData(new TransferData.Builder() - .setExtendedRegistrationYears(0) .setGainingClientId("gaining") .setLosingClientId("losing") .setPendingTransferExpirationTime(clock.nowUtc()) diff --git a/javatests/google/registry/model/schema.txt b/javatests/google/registry/model/schema.txt index 705f5d22d..efdb23596 100644 --- a/javatests/google/registry/model/schema.txt +++ b/javatests/google/registry/model/schema.txt @@ -876,7 +876,6 @@ class google.registry.model.transfer.TransferData { com.googlecode.objectify.Key serverApproveAutorenewPollMessage; google.registry.model.eppcommon.Trid transferRequestTrid; google.registry.model.transfer.TransferStatus transferStatus; - java.lang.Integer extendedRegistrationYears; java.lang.String gainingClientId; java.lang.String losingClientId; java.util.Set> serverApproveEntities; diff --git a/javatests/google/registry/rdap/RdapJsonFormatterTest.java b/javatests/google/registry/rdap/RdapJsonFormatterTest.java index 0dd09dfc2..635eef44d 100644 --- a/javatests/google/registry/rdap/RdapJsonFormatterTest.java +++ b/javatests/google/registry/rdap/RdapJsonFormatterTest.java @@ -160,7 +160,6 @@ public class RdapJsonFormatterTest { .setTransferRequestTime(clock.nowUtc().minusDays(1)) .setLosingClientId("TheRegistrar") .setPendingTransferExpirationTime(clock.nowUtc().plusYears(100)) - .setExtendedRegistrationYears(1) .build()) .build()))) .build()); diff --git a/javatests/google/registry/rde/ContactResourceToXjcConverterTest.java b/javatests/google/registry/rde/ContactResourceToXjcConverterTest.java index 72fa29368..86b058b9d 100644 --- a/javatests/google/registry/rde/ContactResourceToXjcConverterTest.java +++ b/javatests/google/registry/rde/ContactResourceToXjcConverterTest.java @@ -332,7 +332,6 @@ public class ContactResourceToXjcConverterTest { .setPhoneNumber("+1.2126660001") .build()) .setTransferData(new TransferData.Builder() - .setExtendedRegistrationYears(1) .setGainingClientId("TheRegistrar") .setLosingClientId("NewRegistrar") .setTransferRequestTime(DateTime.parse("1925-04-19TZ")) diff --git a/javatests/google/registry/rde/DomainResourceToXjcConverterTest.java b/javatests/google/registry/rde/DomainResourceToXjcConverterTest.java index 176a2710d..7236405fb 100644 --- a/javatests/google/registry/rde/DomainResourceToXjcConverterTest.java +++ b/javatests/google/registry/rde/DomainResourceToXjcConverterTest.java @@ -324,7 +324,6 @@ public class DomainResourceToXjcConverterTest { .setParent(historyEntry) .build()))) .setTransferData(new TransferData.Builder() - .setExtendedRegistrationYears(1) .setGainingClientId("gaining") .setLosingClientId("losing") .setPendingTransferExpirationTime(DateTime.parse("1925-04-20T00:00:00Z")) diff --git a/javatests/google/registry/rde/RdeFixtures.java b/javatests/google/registry/rde/RdeFixtures.java index f2386e835..e76f931d8 100644 --- a/javatests/google/registry/rde/RdeFixtures.java +++ b/javatests/google/registry/rde/RdeFixtures.java @@ -149,7 +149,6 @@ final class RdeFixtures { .setParent(historyEntry) .build()))) .setTransferData(new TransferData.Builder() - .setExtendedRegistrationYears(1) .setGainingClientId("gaining") .setLosingClientId("losing") .setPendingTransferExpirationTime(DateTime.parse("1925-04-20T00:00:00Z")) diff --git a/javatests/google/registry/rde/imports/XjcToDomainResourceConverterTest.java b/javatests/google/registry/rde/imports/XjcToDomainResourceConverterTest.java index 567e9cd90..4aee87bcf 100644 --- a/javatests/google/registry/rde/imports/XjcToDomainResourceConverterTest.java +++ b/javatests/google/registry/rde/imports/XjcToDomainResourceConverterTest.java @@ -388,36 +388,6 @@ public class XjcToDomainResourceConverterTest { .isEqualTo(DateTime.parse("2015-01-08T22:00:00.0Z")); } - @Test - public void testConvertDomainResourcePendingTransferDefaultExtendedYears() throws Exception { - persistActiveContact("jd1234"); - persistActiveContact("sh8013"); - final XjcRdeDomain xjcDomain = loadDomainFromRdeXml("domain_fragment_pending_transfer.xml"); - DomainResource domain = persistResource(convertDomainInTransaction(xjcDomain)); - assertThat(domain.getTransferData()).isNotNull(); - assertThat(domain.getTransferData().getExtendedRegistrationYears()).isEqualTo(1); - } - - @Test - public void testConvertDomainResourcePendingTransferExtendOneYear() throws Exception { - persistActiveContact("jd1234"); - persistActiveContact("sh8013"); - final XjcRdeDomain xjcDomain = loadDomainFromRdeXml("domain_fragment_pending_transfer_1yr.xml"); - DomainResource domain = persistResource(convertDomainInTransaction(xjcDomain)); - assertThat(domain.getTransferData()).isNotNull(); - assertThat(domain.getTransferData().getExtendedRegistrationYears()).isEqualTo(1); - } - - @Test - public void testConvertDomainResourcePendingTransferExtendTwoYears() throws Exception { - persistActiveContact("jd1234"); - persistActiveContact("sh8013"); - final XjcRdeDomain xjcDomain = loadDomainFromRdeXml("domain_fragment_pending_transfer_2yr.xml"); - DomainResource domain = persistResource(convertDomainInTransaction(xjcDomain)); - assertThat(domain.getTransferData()).isNotNull(); - assertThat(domain.getTransferData().getExtendedRegistrationYears()).isEqualTo(2); - } - private static DomainResource convertDomainInTransaction(final XjcRdeDomain xjcDomain) { final HistoryEntry historyEntry = createHistoryEntryForDomainImport(xjcDomain); final BillingEvent.Recurring autorenewBillingEvent = diff --git a/javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_1yr.xml b/javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_1yr.xml deleted file mode 100644 index f2bce9a96..000000000 --- a/javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_1yr.xml +++ /dev/null @@ -1,24 +0,0 @@ - - example1.example - Dexample1-TEST - - jd1234 - sh8013 - sh8013 - RegistrarX - RegistrarX - 1999-04-03T22:00:00.0Z - 2015-04-03T22:00:00.0Z - RegistrarY - 2015-01-03T22:00:00.0Z - - pending - RegistrarY - 2015-01-03T22:00:00.0Z - RegistrarX - 2015-01-08T22:00:00.0Z - 2016-04-03T22:00:00.0Z - - diff --git a/javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_2yr.xml b/javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_2yr.xml deleted file mode 100644 index 722329284..000000000 --- a/javatests/google/registry/rde/imports/testdata/domain_fragment_pending_transfer_2yr.xml +++ /dev/null @@ -1,24 +0,0 @@ - - example1.example - Dexample1-TEST - - jd1234 - sh8013 - sh8013 - RegistrarX - RegistrarX - 1999-04-03T22:00:00.0Z - 2015-04-03T22:00:00.0Z - RegistrarY - 2015-01-03T22:00:00.0Z - - pending - RegistrarY - 2015-01-03T22:00:00.0Z - RegistrarX - 2015-01-08T22:00:00.0Z - 2017-04-03T22:00:00.0Z - - diff --git a/javatests/google/registry/testing/DatastoreHelper.java b/javatests/google/registry/testing/DatastoreHelper.java index 938244455..89e2ca988 100644 --- a/javatests/google/registry/testing/DatastoreHelper.java +++ b/javatests/google/registry/testing/DatastoreHelper.java @@ -431,12 +431,6 @@ public class DatastoreHelper { .setPendingTransferExpirationTime(expirationTime); } - private static Builder createTransferDataBuilder( - DateTime requestTime, DateTime expirationTime, Integer extendedRegistrationYears) { - return createTransferDataBuilder(requestTime, expirationTime) - .setExtendedRegistrationYears(extendedRegistrationYears); - } - public static PollMessage.OneTime createPollMessageForImplicitTransfer( EppResource contact, HistoryEntry historyEntry, @@ -460,8 +454,7 @@ public class DatastoreHelper { DomainResource domain, HistoryEntry historyEntry, DateTime costLookupTime, - DateTime eventTime, - Integer extendedRegistrationYears) { + DateTime eventTime) { return new BillingEvent.OneTime.Builder() .setReason(Reason.TRANSFER) .setTargetId(domain.getFullyQualifiedDomainName()) @@ -469,10 +462,8 @@ public class DatastoreHelper { .setBillingTime( eventTime.plus(Registry.get(domain.getTld()).getTransferGracePeriodLength())) .setClientId("NewRegistrar") - .setPeriodYears(extendedRegistrationYears) - .setCost( - getDomainRenewCost( - domain.getFullyQualifiedDomainName(), costLookupTime, extendedRegistrationYears)) + .setPeriodYears(1) + .setCost(getDomainRenewCost(domain.getFullyQualifiedDomainName(), costLookupTime, 1)) .setParent(historyEntry) .build(); } @@ -522,7 +513,6 @@ public class DatastoreHelper { DateTime requestTime, DateTime expirationTime, DateTime extendedRegistrationExpirationTime, - int extendedRegistrationYears, DateTime now) { HistoryEntry historyEntryDomainTransfer = persistResource( new HistoryEntry.Builder() @@ -533,8 +523,7 @@ public class DatastoreHelper { domain, historyEntryDomainTransfer, requestTime, - expirationTime, - extendedRegistrationYears)); + expirationTime)); BillingEvent.Recurring gainingClientAutorenewEvent = persistResource( new BillingEvent.Recurring.Builder() .setFlags(ImmutableSet.of(Flag.AUTO_RENEW)) @@ -571,8 +560,7 @@ public class DatastoreHelper { } else { deleteResource(autorenewPollMessage); } - Builder transferDataBuilder = createTransferDataBuilder( - requestTime, expirationTime, extendedRegistrationYears); + Builder transferDataBuilder = createTransferDataBuilder(requestTime, expirationTime); return persistResource(domain.asBuilder() .setPersistedCurrentSponsorClientId("TheRegistrar") .addStatusValue(StatusValue.PENDING_TRANSFER) @@ -602,7 +590,6 @@ public class DatastoreHelper { expirationTime, now))))) .setTransferRequestTrid(Trid.create("transferClient-trid", "transferServer-trid")) - .setExtendedRegistrationYears(extendedRegistrationYears) .build()) .build()); }