From bfdea6fbe6ab9ffdeb26e7e598fb52b4809c3875 Mon Sep 17 00:00:00 2001 From: Ben McIlwain Date: Tue, 28 Dec 2021 15:45:40 -0500 Subject: [PATCH] Add pending action extension to server update poll messages (#1478) * Add pending action extension to server update poll messages This is necessary for the poll messages to contain the necessary context explaining what domain name the relevant statuses were being added/removed to/from. --- .../flows/domain/DomainUpdateFlow.java | 8 +++++++ .../flows/domain/DomainUpdateFlowTest.java | 23 +++++++++++++++++++ .../flows/poll_response_server_hold.xml | 10 ++++++++ 3 files changed, 41 insertions(+) diff --git a/core/src/main/java/google/registry/flows/domain/DomainUpdateFlow.java b/core/src/main/java/google/registry/flows/domain/DomainUpdateFlow.java index d12bd45e2..3bccd51e5 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainUpdateFlow.java +++ b/core/src/main/java/google/registry/flows/domain/DomainUpdateFlow.java @@ -43,6 +43,7 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyNotInPendingDel import static google.registry.model.reporting.HistoryEntry.Type.DOMAIN_UPDATE; import static google.registry.persistence.transaction.TransactionManagerFactory.tm; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSortedSet; import com.google.common.collect.Ordering; @@ -77,9 +78,11 @@ import google.registry.model.domain.secdns.SecDnsUpdateExtension; import google.registry.model.domain.superuser.DomainUpdateSuperuserExtension; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppcommon.StatusValue; +import google.registry.model.eppcommon.Trid; import google.registry.model.eppinput.EppInput; import google.registry.model.eppinput.ResourceCommand; import google.registry.model.eppoutput.EppResponse; +import google.registry.model.poll.PendingActionNotificationResponse.DomainPendingActionNotificationResponse; import google.registry.model.poll.PollMessage; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.tld.Registry; @@ -149,6 +152,7 @@ public final class DomainUpdateFlow implements TransactionalFlow { @Inject @RegistrarId String registrarId; @Inject @TargetId String targetId; @Inject @Superuser boolean isSuperuser; + @Inject Trid trid; @Inject DomainHistory.Builder historyBuilder; @Inject DnsQueue dnsQueue; @Inject EppResponse.Builder responseBuilder; @@ -360,6 +364,10 @@ public final class DomainUpdateFlow implements TransactionalFlow { .setEventTime(now) .setRegistrarId(existingDomain.getCurrentSponsorRegistrarId()) .setMsg(msg) + .setResponseData( + ImmutableList.of( + DomainPendingActionNotificationResponse.create( + existingDomain.getDomainName(), true, trid, now))) .build()); } } diff --git a/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java index 70d582166..5c498b654 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java @@ -99,7 +99,9 @@ import google.registry.model.domain.DomainBase; import google.registry.model.domain.DomainHistory; import google.registry.model.domain.secdns.DelegationSignerData; import google.registry.model.eppcommon.StatusValue; +import google.registry.model.eppcommon.Trid; import google.registry.model.host.HostResource; +import google.registry.model.poll.PendingActionNotificationResponse.DomainPendingActionNotificationResponse; import google.registry.model.poll.PollMessage; import google.registry.model.tld.Registry; import google.registry.persistence.VKey; @@ -949,6 +951,13 @@ class DomainUpdateFlowTest extends ResourceFlowTestCaseThe registry administrator has added the status(es) [serverHold]. + + + example.tld + + ABC-12345 + server-trid + + 2000-06-02T13:00:00Z + + ABC-12345 server-trid