From 547fdaf87de3eb3d54dcb8daeaaad8e57c1e455e Mon Sep 17 00:00:00 2001 From: gbrodman Date: Thu, 6 Apr 2023 15:58:53 -0400 Subject: [PATCH] Allow a credit of 0 when deleting a domain during a grace period (#1984) There can be situations (anchor tenants, test tokens, other ways of getting a domain to cost $0) where we may want to delete a domain during the add grace period but the credit applied is 0. We should not fail on those cases. See b/277115241 for an example. --- .../registry/model/domain/fee/Credit.java | 2 +- .../flows/domain/DomainDeleteFlowTest.java | 12 ++++++++++++ .../domain_delete_response_fee_free_grace.xml | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 core/src/test/resources/google/registry/flows/domain/domain_delete_response_fee_free_grace.xml diff --git a/core/src/main/java/google/registry/model/domain/fee/Credit.java b/core/src/main/java/google/registry/model/domain/fee/Credit.java index 858426aac..38d7e56f6 100644 --- a/core/src/main/java/google/registry/model/domain/fee/Credit.java +++ b/core/src/main/java/google/registry/model/domain/fee/Credit.java @@ -34,7 +34,7 @@ public class Credit extends BaseFee { BigDecimal cost, FeeType type, String description) { Credit instance = new Credit(); instance.cost = checkNotNull(cost); - checkArgument(instance.cost.signum() < 0); + checkArgument(instance.cost.signum() <= 0, "A credit cannot have a positive cost"); instance.type = checkNotNull(type); instance.description = description; return instance; diff --git a/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java index e8ff52006..4b01d6cf3 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java @@ -1236,4 +1236,16 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase + + + + Command completed successfully + + + + USD + 0.00 + + + + ABC-12345 + server-trid + + +