diff --git a/core/src/main/java/google/registry/tools/UpdatePremiumListCommand.java b/core/src/main/java/google/registry/tools/UpdatePremiumListCommand.java index 489a59ac4..4e8d7ed31 100644 --- a/core/src/main/java/google/registry/tools/UpdatePremiumListCommand.java +++ b/core/src/main/java/google/registry/tools/UpdatePremiumListCommand.java @@ -48,11 +48,9 @@ class UpdatePremiumListCommand extends CreateOrUpdatePremiumListCommand { @Override protected String prompt() throws Exception { - // TODO(sarahbot): uncomment once go/r3pr/2292 is deployed - // checkArgument( - // !RegistryToolEnvironment.get().equals(RegistryToolEnvironment.PRODUCTION) || buildEnv, - // "The --build_environment flag must be used when running update_premium_list in - // production"); + checkArgument( + !RegistryToolEnvironment.get().equals(RegistryToolEnvironment.PRODUCTION) || buildEnv, + "The --build_environment flag must be used when running update_premium_list in production"); name = Strings.isNullOrEmpty(name) ? convertFilePathToName(inputFile) : name; PremiumList existingList = PremiumListDao.getLatestRevision(name) diff --git a/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java b/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java index d86e5943e..0e35fe97e 100644 --- a/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java +++ b/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java @@ -14,6 +14,7 @@ package google.registry.tools; +import static com.google.common.base.Preconditions.checkArgument; import static google.registry.util.DiffUtils.prettyPrintEntityDeepDiff; import static google.registry.util.ListNamingUtils.convertFilePathToName; import static java.nio.charset.StandardCharsets.UTF_8; @@ -47,11 +48,10 @@ final class UpdateReservedListCommand extends CreateOrUpdateReservedListCommand @Override protected String prompt() throws Exception { - // TODO(sarahbot): uncomment once go/r3pr/2292 is deployed - // checkArgument( - // !RegistryToolEnvironment.get().equals(RegistryToolEnvironment.PRODUCTION) || buildEnv, - // "The --build_environment flag must be used when running update_reserved_list in" - // + " production"); + checkArgument( + !RegistryToolEnvironment.get().equals(RegistryToolEnvironment.PRODUCTION) || buildEnv, + "The --build_environment flag must be used when running update_reserved_list in" + + " production"); name = Strings.isNullOrEmpty(name) ? convertFilePathToName(input) : name; ReservedList existingReservedList = ReservedList.get(name) diff --git a/core/src/test/java/google/registry/tools/UpdatePremiumListCommandTest.java b/core/src/test/java/google/registry/tools/UpdatePremiumListCommandTest.java index 2bce908d6..b76ab2cda 100644 --- a/core/src/test/java/google/registry/tools/UpdatePremiumListCommandTest.java +++ b/core/src/test/java/google/registry/tools/UpdatePremiumListCommandTest.java @@ -206,39 +206,38 @@ class UpdatePremiumListCommandTest .containsExactly(PremiumEntry.create(0L, new BigDecimal("9090.00"), "doge")); } - // TODO(sarahbot): uncomment once go/r3pr/2292 is deployed - // @Test - // void testFailure_runCommandOnProduction_noFlag() throws Exception { - // File tmpFile = tmpDir.resolve(String.format("%s.txt", TLD_TEST)).toFile(); - // String newPremiumListData = "eth,USD 9999"; - // Files.asCharSink(tmpFile, UTF_8).write(newPremiumListData); - // IllegalArgumentException thrown = - // assertThrows( - // IllegalArgumentException.class, - // () -> - // runCommandInEnvironment( - // RegistryToolEnvironment.PRODUCTION, - // "--name=" + TLD_TEST, - // "--input=" + Paths.get(tmpFile.getPath()))); - // assertThat(thrown.getMessage()) - // .isEqualTo( - // "The --build_environment flag must be used when running update_premium_list in" - // + " production"); - // } - // - // @Test - // void testSuccess_runCommandOnProduction_buildEnvFlag() throws Exception { - // File tmpFile = tmpDir.resolve(String.format("%s.txt", TLD_TEST)).toFile(); - // String newPremiumListData = "eth,USD 9999"; - // Files.asCharSink(tmpFile, UTF_8).write(newPremiumListData); - // runCommandInEnvironment( - // RegistryToolEnvironment.PRODUCTION, - // "--name=" + TLD_TEST, - // "--input=" + Paths.get(tmpFile.getPath()), - // "--build_environment", - // "-f"); - // assertThat(PremiumListDao.loadAllPremiumEntries(TLD_TEST)) - // .comparingElementsUsing(immutableObjectCorrespondence("revisionId")) - // .containsExactly(PremiumEntry.create(0L, new BigDecimal("9999.00"), "eth")); - // } + @Test + void testFailure_runCommandOnProduction_noFlag() throws Exception { + File tmpFile = tmpDir.resolve(String.format("%s.txt", TLD_TEST)).toFile(); + String newPremiumListData = "eth,USD 9999"; + Files.asCharSink(tmpFile, UTF_8).write(newPremiumListData); + IllegalArgumentException thrown = + assertThrows( + IllegalArgumentException.class, + () -> + runCommandInEnvironment( + RegistryToolEnvironment.PRODUCTION, + "--name=" + TLD_TEST, + "--input=" + Paths.get(tmpFile.getPath()))); + assertThat(thrown.getMessage()) + .isEqualTo( + "The --build_environment flag must be used when running update_premium_list in" + + " production"); + } + + @Test + void testSuccess_runCommandOnProduction_buildEnvFlag() throws Exception { + File tmpFile = tmpDir.resolve(String.format("%s.txt", TLD_TEST)).toFile(); + String newPremiumListData = "eth,USD 9999"; + Files.asCharSink(tmpFile, UTF_8).write(newPremiumListData); + runCommandInEnvironment( + RegistryToolEnvironment.PRODUCTION, + "--name=" + TLD_TEST, + "--input=" + Paths.get(tmpFile.getPath()), + "--build_environment", + "-f"); + assertThat(PremiumListDao.loadAllPremiumEntries(TLD_TEST)) + .comparingElementsUsing(immutableObjectCorrespondence("revisionId")) + .containsExactly(PremiumEntry.create(0L, new BigDecimal("9999.00"), "eth")); + } } diff --git a/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java b/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java index 5348425ea..e523cd5db 100644 --- a/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java +++ b/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java @@ -153,40 +153,39 @@ class UpdateReservedListCommandTest assertThat(reservedList.getReservationInList("helicopter")).hasValue(FULLY_BLOCKED); } - // TODO(sarahbot): uncomment once go/r3pr/2292 is deployed - // @Test - // void testFailure_runCommandOnProduction_noFlag() throws Exception { - // IllegalArgumentException thrown = - // assertThrows( - // IllegalArgumentException.class, - // () -> - // runCommandInEnvironment( - // RegistryToolEnvironment.PRODUCTION, - // "--name=xn--q9jyb4c_common-reserved", - // "--input=" + reservedTermsPath)); - // assertThat(thrown.getMessage()) - // .isEqualTo( - // "The --build_environment flag must be used when running update_reserved_list in" - // + " production"); - // } - // - // @Test - // void testSuccess_runCommandOnProduction_buildEnvFlag() throws Exception { - // runCommandInEnvironment( - // RegistryToolEnvironment.PRODUCTION, - // "--name=xn--q9jyb4c_common-reserved", - // "--input=" + reservedTermsPath, - // "--build_environment", - // "-f"); - // assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); - // ReservedList reservedList = ReservedList.get("xn--q9jyb4c_common-reserved").get(); - // assertThat(reservedList.getReservedListEntries()).hasSize(2); - // assertThat(reservedList.getReservationInList("baddies")).hasValue(FULLY_BLOCKED); - // assertThat(reservedList.getReservationInList("ford")).hasValue(FULLY_BLOCKED); - // assertThat(reservedList.getReservationInList("helicopter")).isEmpty(); - // assertInStdout("Update reserved list for xn--q9jyb4c_common-reserved?"); - // assertInStdout("helicopter: helicopter,FULLY_BLOCKED -> null"); - // assertInStdout("baddies: null -> baddies,FULLY_BLOCKED"); - // assertInStdout("ford: null -> ford,FULLY_BLOCKED # random comment"); - // } + @Test + void testFailure_runCommandOnProduction_noFlag() throws Exception { + IllegalArgumentException thrown = + assertThrows( + IllegalArgumentException.class, + () -> + runCommandInEnvironment( + RegistryToolEnvironment.PRODUCTION, + "--name=xn--q9jyb4c_common-reserved", + "--input=" + reservedTermsPath)); + assertThat(thrown.getMessage()) + .isEqualTo( + "The --build_environment flag must be used when running update_reserved_list in" + + " production"); + } + + @Test + void testSuccess_runCommandOnProduction_buildEnvFlag() throws Exception { + runCommandInEnvironment( + RegistryToolEnvironment.PRODUCTION, + "--name=xn--q9jyb4c_common-reserved", + "--input=" + reservedTermsPath, + "--build_environment", + "-f"); + assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); + ReservedList reservedList = ReservedList.get("xn--q9jyb4c_common-reserved").get(); + assertThat(reservedList.getReservedListEntries()).hasSize(2); + assertThat(reservedList.getReservationInList("baddies")).hasValue(FULLY_BLOCKED); + assertThat(reservedList.getReservationInList("ford")).hasValue(FULLY_BLOCKED); + assertThat(reservedList.getReservationInList("helicopter")).isEmpty(); + assertInStdout("Update reserved list for xn--q9jyb4c_common-reserved?"); + assertInStdout("helicopter: helicopter,FULLY_BLOCKED -> null"); + assertInStdout("baddies: null -> baddies,FULLY_BLOCKED"); + assertInStdout("ford: null -> ford,FULLY_BLOCKED # random comment"); + } }