diff --git a/core/src/test/java/google/registry/flows/domain/DomainRenewFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainRenewFlowTest.java index 48e2a2c81..6f13ced30 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainRenewFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainRenewFlowTest.java @@ -1294,4 +1294,32 @@ class DomainRenewFlowTest extends ResourceFlowTestCase Domain domain = reloadResourceByForeignKey(); Truth8.assertThat(domain.getCurrentPackageToken()).isEmpty(); } + + @Test + void testDryRunRemovePackageToken() throws Exception { + AllocationToken token = + persistResource( + new AllocationToken.Builder() + .setToken("abc123") + .setTokenType(PACKAGE) + .setAllowedRegistrarIds(ImmutableSet.of("TheRegistrar")) + .setAllowedTlds(ImmutableSet.of("tld")) + .setRenewalPriceBehavior(SPECIFIED) + .build()); + persistDomain(SPECIFIED, Money.of(USD, 2)); + persistResource( + reloadResourceByForeignKey() + .asBuilder() + .setCurrentPackageToken(token.createVKey()) + .build()); + + setEppInput( + "domain_renew_allocationtoken.xml", + ImmutableMap.of("DOMAIN", "example.tld", "YEARS", "2", "TOKEN", "__REMOVEPACKAGE__")); + + dryRunFlowAssertResponse( + loadFile( + "domain_renew_response.xml", + ImmutableMap.of("DOMAIN", "example.tld", "EXDATE", "2002-04-03T22:00:00.0Z"))); + } }