From 159c6ed5fb2165c7146093cadc28456c8be658e5 Mon Sep 17 00:00:00 2001 From: Rachel Guan Date: Fri, 1 Oct 2021 19:11:46 -0400 Subject: [PATCH] Add autorenews to URS (#1343) * Add autorenews to URS * Add autorenews to existing xml files for test cases --- .../tools/UniformRapidSuspensionCommand.java | 7 ++++- .../tools/soy/UniformRapidSuspension.soy | 4 +++ .../UniformRapidSuspensionCommandTest.java | 28 +++++++++++++++++++ .../tools/server/uniform_rapid_suspension.xml | 3 ++ ...uniform_rapid_suspension_existing_host.xml | 3 ++ .../server/uniform_rapid_suspension_undo.xml | 3 ++ ...form_rapid_suspension_undo_client_hold.xml | 3 ++ ...uniform_rapid_suspension_undo_preserve.xml | 3 ++ ...form_rapid_suspension_with_client_hold.xml | 3 ++ 9 files changed, 56 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/google/registry/tools/UniformRapidSuspensionCommand.java b/core/src/main/java/google/registry/tools/UniformRapidSuspensionCommand.java index 56ebf649b..ffb04829d 100644 --- a/core/src/main/java/google/registry/tools/UniformRapidSuspensionCommand.java +++ b/core/src/main/java/google/registry/tools/UniformRapidSuspensionCommand.java @@ -157,7 +157,12 @@ final class UniformRapidSuspensionCommand extends MutatingEppToolCommand { "newDsData", newDsData != null ? DsRecord.convertToSoy(newDsData) : new SoyListData(), "reason", - (undo ? "Undo " : "") + "Uniform Rapid Suspension")); + (undo ? "Undo " : "") + "Uniform Rapid Suspension", + // Domain auto-renewal is disabled as part of URS, and it's re-enabled if URS is undone. + // Therefore, autorenews is set to false by default and it's set to true only if the + // command is run in --undo mode. + "autorenews", + Boolean.toString(undo))); } private ImmutableSortedSet getExistingNameservers(DomainBase domain) { diff --git a/core/src/main/resources/google/registry/tools/soy/UniformRapidSuspension.soy b/core/src/main/resources/google/registry/tools/soy/UniformRapidSuspension.soy index dab159e5d..da701f4a6 100644 --- a/core/src/main/resources/google/registry/tools/soy/UniformRapidSuspension.soy +++ b/core/src/main/resources/google/registry/tools/soy/UniformRapidSuspension.soy @@ -25,6 +25,7 @@ {@param statusesToRemove: list} {@param newDsData: list<[keyTag:int, alg:int, digestType:int, digest:string]>} {@param reason: string} +{@param autorenews: string} @@ -75,6 +76,9 @@ {/if} + + {$autorenews} + {$reason} false diff --git a/core/src/test/java/google/registry/tools/UniformRapidSuspensionCommandTest.java b/core/src/test/java/google/registry/tools/UniformRapidSuspensionCommandTest.java index 07313a161..ea4a56e91 100644 --- a/core/src/test/java/google/registry/tools/UniformRapidSuspensionCommandTest.java +++ b/core/src/test/java/google/registry/tools/UniformRapidSuspensionCommandTest.java @@ -186,6 +186,34 @@ class UniformRapidSuspensionCommandTest assertNotInStdout("--undo"); // Undo shouldn't print a new undo command. } + @Test + void testAutorenews_setToFalsebyDefault() throws Exception { + persistResource( + newDomainBase("evil.tld") + .asBuilder() + .addStatusValue(StatusValue.SERVER_DELETE_PROHIBITED) + .build()); + runCommandForced("--domain_name=evil.tld"); + eppVerifier.verifySentAny(); + assertInStdout("false"); + } + + @Test + void testAutorenews_setToTrueWhenUndo() throws Exception { + persistResource( + newDomainBase("evil.tld") + .asBuilder() + .addStatusValue(StatusValue.SERVER_DELETE_PROHIBITED) + .build()); + runCommandForced( + "--domain_name=evil.tld", + "--undo", + "--hosts=ns1.example.com,ns2.example.com", + "--restore_client_hold"); + eppVerifier.verifySentAny(); + assertInStdout("true"); + } + @Test void testFailure_locksToPreserveWithoutUndo() { persistActiveDomain("evil.tld"); diff --git a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension.xml b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension.xml index 57c08b20c..646038354 100644 --- a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension.xml +++ b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension.xml @@ -35,6 +35,9 @@ + + false + Uniform Rapid Suspension false diff --git a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_existing_host.xml b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_existing_host.xml index 45ba154bf..731ad51fc 100644 --- a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_existing_host.xml +++ b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_existing_host.xml @@ -25,6 +25,9 @@ true + + false + Uniform Rapid Suspension false diff --git a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo.xml b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo.xml index ca9304f06..765977802 100644 --- a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo.xml +++ b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo.xml @@ -27,6 +27,9 @@ true + + true + Undo Uniform Rapid Suspension false diff --git a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_client_hold.xml b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_client_hold.xml index c6acf397f..2d7ec0fb1 100644 --- a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_client_hold.xml +++ b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_client_hold.xml @@ -28,6 +28,9 @@ true + + true + Undo Uniform Rapid Suspension false diff --git a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_preserve.xml b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_preserve.xml index 6c024c9d3..0f0e5870f 100644 --- a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_preserve.xml +++ b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_undo_preserve.xml @@ -26,6 +26,9 @@ true + + true + Undo Uniform Rapid Suspension false diff --git a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_with_client_hold.xml b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_with_client_hold.xml index 9c2461688..6a6c58eae 100644 --- a/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_with_client_hold.xml +++ b/core/src/test/resources/google/registry/tools/server/uniform_rapid_suspension_with_client_hold.xml @@ -36,6 +36,9 @@ + + false + Uniform Rapid Suspension false