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()); }