diff --git a/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java b/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java index 3599d0e2f..22359959c 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java +++ b/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java @@ -33,6 +33,7 @@ import static google.registry.flows.domain.DomainFlowUtils.validateDomainName; import static google.registry.flows.domain.DomainFlowUtils.validateDomainNameWithIdnTables; import static google.registry.flows.domain.DomainFlowUtils.verifyNotInPredelegation; import static google.registry.model.tld.Tld.TldState.START_DATE_SUNRISE; +import static google.registry.model.tld.Tld.isEnrolledWithBsa; import static google.registry.model.tld.label.ReservationType.getTypeOfHighestSeverity; import static google.registry.persistence.transaction.TransactionManagerFactory.tm; @@ -188,7 +189,7 @@ public final class DomainCheckFlow implements TransactionalFlow { ImmutableSet bsaBlockedDomainNames = existingDomains.size() == parsedDomains.size() ? ImmutableSet.of() - : getBsaBlockedDomains(parsedDomains.values()); + : getBsaBlockedDomains(parsedDomains.values(), now); Optional allocationTokenExtension = eppInput.getSingleExtension(AllocationTokenExtension.class); Optional tokenDomainCheckResults = @@ -441,9 +442,11 @@ public final class DomainCheckFlow implements TransactionalFlow { } static ImmutableSet getBsaBlockedDomains( - ImmutableCollection parsedDomains) { + ImmutableCollection parsedDomains, DateTime now) { Map> labelToDomainNames = parsedDomains.stream() + .filter( + parsedDomain -> isEnrolledWithBsa(Tld.get(parsedDomain.parent().toString()), now)) .collect( Collectors.groupingBy( parsedDomain -> parsedDomain.parts().get(0), toImmutableList())); diff --git a/core/src/test/java/google/registry/flows/domain/DomainCheckFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainCheckFlowTest.java index 7703d981f..01db9f56d 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainCheckFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainCheckFlowTest.java @@ -87,6 +87,7 @@ import google.registry.model.tld.Tld.TldState; import google.registry.model.tld.label.ReservedList; import google.registry.testing.DatabaseHelper; import java.math.BigDecimal; +import java.util.Optional; import org.joda.money.Money; import org.joda.time.DateTime; import org.junit.jupiter.api.BeforeEach; @@ -160,6 +161,8 @@ class DomainCheckFlowTest extends ResourceCheckFlowTestCase