diff --git a/core/src/main/java/google/registry/tools/BulkDomainTransferCommand.java b/core/src/main/java/google/registry/tools/BulkDomainTransferCommand.java index a2b00ee9ef1..bf0300090d3 100644 --- a/core/src/main/java/google/registry/tools/BulkDomainTransferCommand.java +++ b/core/src/main/java/google/registry/tools/BulkDomainTransferCommand.java @@ -88,7 +88,8 @@ public class BulkDomainTransferCommand extends ConfirmingCommand implements Comm @Parameter( names = {"--registrar_request"}, - description = "Whether the change was requested by a registrar.") + description = "Whether the change was requested by a registrar.", + arity = 1) private boolean requestedByRegistrar = false; @Parameter( diff --git a/core/src/main/java/google/registry/tools/DeleteDomainCommand.java b/core/src/main/java/google/registry/tools/DeleteDomainCommand.java index 4be16bd1e09..d988fc26c7b 100644 --- a/core/src/main/java/google/registry/tools/DeleteDomainCommand.java +++ b/core/src/main/java/google/registry/tools/DeleteDomainCommand.java @@ -52,7 +52,8 @@ final class DeleteDomainCommand extends MutatingEppToolCommand { @Parameter( names = {"--registrar_request"}, - description = "Whether the change was requested by a registrar.") + description = "Whether the change was requested by a registrar.", + arity = 1) private boolean requestedByRegistrar = false; @Override diff --git a/core/src/test/java/google/registry/tools/BulkDomainTransferCommandTest.java b/core/src/test/java/google/registry/tools/BulkDomainTransferCommandTest.java index f777998029b..76c41efec54 100644 --- a/core/src/test/java/google/registry/tools/BulkDomainTransferCommandTest.java +++ b/core/src/test/java/google/registry/tools/BulkDomainTransferCommandTest.java @@ -165,4 +165,32 @@ void testFailure_bothDomainMethodsSpecified() { .isEqualTo( "Must specify exactly one input method, either --domains or --domain_names_file"); } + + @Test + void testSuccess_registrarRequestExplicit() throws Exception { + runCommandForced( + "--gaining_registrar_id", + "NewRegistrar", + "--losing_registrar_id", + "TheRegistrar", + "--reason", + "someReason", + "--domains", + "foo.tld,bar.tld", + "--registrar_request=false"); + verify(connection) + .sendPostRequest( + "/_dr/task/bulkDomainTransfer", + ImmutableMap.of( + "gainingRegistrarId", + "NewRegistrar", + "losingRegistrarId", + "TheRegistrar", + "requestedByRegistrar", + false, + "reason", + "someReason"), + MediaType.PLAIN_TEXT_UTF_8, + "[\"foo.tld\",\"bar.tld\"]".getBytes(UTF_8)); + } } diff --git a/core/src/test/java/google/registry/tools/DeleteDomainCommandTest.java b/core/src/test/java/google/registry/tools/DeleteDomainCommandTest.java index 4dcca19f5ef..573c27089fe 100644 --- a/core/src/test/java/google/registry/tools/DeleteDomainCommandTest.java +++ b/core/src/test/java/google/registry/tools/DeleteDomainCommandTest.java @@ -53,10 +53,20 @@ void testSuccess_requestedByRegistrarTrue() throws Exception { "--client=NewRegistrar", "--domain_name=example.tld", "--reason=Test", - "--registrar_request"); + "--registrar_request=true"); eppVerifier.verifySent("domain_delete_by_registrar.xml"); } + @Test + void testSuccess_requestedByRegistrarExplicitFalse() throws Exception { + runCommandForced( + "--client=NewRegistrar", + "--domain_name=example.tld", + "--reason=Test", + "--registrar_request=false"); + eppVerifier.verifySent("domain_delete.xml"); + } + @Test void testFailure_noReason() { assertThrows(