mirror of
https://github.com/google/nomulus.git
synced 2025-07-22 10:46:10 +02:00
Convert some more @AutoValues to records (#2334)
This commit is contained in:
parent
9d0ff74377
commit
1eef260da9
13 changed files with 56 additions and 95 deletions
|
@ -21,7 +21,6 @@ import static org.apache.http.HttpStatus.SC_INTERNAL_SERVER_ERROR;
|
||||||
import static org.apache.http.HttpStatus.SC_OK;
|
import static org.apache.http.HttpStatus.SC_OK;
|
||||||
import static org.joda.time.DateTimeZone.UTC;
|
import static org.joda.time.DateTimeZone.UTC;
|
||||||
|
|
||||||
import com.google.auto.value.AutoValue;
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -125,7 +124,7 @@ public class SendExpiringCertificateNotificationEmailAction implements Runnable
|
||||||
return Streams.stream(Registrar.loadAllCached())
|
return Streams.stream(Registrar.loadAllCached())
|
||||||
.map(
|
.map(
|
||||||
registrar ->
|
registrar ->
|
||||||
RegistrarInfo.create(
|
new RegistrarInfo(
|
||||||
registrar,
|
registrar,
|
||||||
registrar.getClientCertificate().isPresent()
|
registrar.getClientCertificate().isPresent()
|
||||||
&& certificateChecker.shouldReceiveExpiringNotification(
|
&& certificateChecker.shouldReceiveExpiringNotification(
|
||||||
|
@ -333,19 +332,6 @@ public class SendExpiringCertificateNotificationEmailAction implements Runnable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@AutoValue
|
record RegistrarInfo(
|
||||||
public abstract static class RegistrarInfo {
|
Registrar registrar, boolean isCertExpiring, boolean isFailOverCertExpiring) {}
|
||||||
|
|
||||||
static RegistrarInfo create(
|
|
||||||
Registrar registrar, boolean isCertExpiring, boolean isFailOverCertExpiring) {
|
|
||||||
return new AutoValue_SendExpiringCertificateNotificationEmailAction_RegistrarInfo(
|
|
||||||
registrar, isCertExpiring, isFailOverCertExpiring);
|
|
||||||
}
|
|
||||||
|
|
||||||
public abstract Registrar registrar();
|
|
||||||
|
|
||||||
public abstract boolean isCertExpiring();
|
|
||||||
|
|
||||||
public abstract boolean isFailOverCertExpiring();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ package google.registry.beam.spec11;
|
||||||
import static com.google.common.base.Preconditions.checkArgument;
|
import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.auto.value.AutoValue;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import dagger.Component;
|
import dagger.Component;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
|
@ -199,7 +198,7 @@ public class Spec11Pipeline implements Serializable {
|
||||||
(KV<DomainNameInfo, ThreatMatch> kv) ->
|
(KV<DomainNameInfo, ThreatMatch> kv) ->
|
||||||
KV.of(
|
KV.of(
|
||||||
kv.getKey().registrarId(),
|
kv.getKey().registrarId(),
|
||||||
EmailAndThreatMatch.create(
|
new EmailAndThreatMatch(
|
||||||
kv.getKey().registrarEmailAddress(), kv.getValue()))))
|
kv.getKey().registrarEmailAddress(), kv.getValue()))))
|
||||||
.apply("Group by registrar client ID", GroupByKey.create())
|
.apply("Group by registrar client ID", GroupByKey.create())
|
||||||
.apply(
|
.apply(
|
||||||
|
@ -281,15 +280,5 @@ public class Spec11Pipeline implements Serializable {
|
||||||
Spec11Pipeline spec11Pipeline();
|
Spec11Pipeline spec11Pipeline();
|
||||||
}
|
}
|
||||||
|
|
||||||
@AutoValue
|
record EmailAndThreatMatch(String email, ThreatMatch threatMatch) implements Serializable {}
|
||||||
abstract static class EmailAndThreatMatch implements Serializable {
|
|
||||||
|
|
||||||
abstract String email();
|
|
||||||
|
|
||||||
abstract ThreatMatch threatMatch();
|
|
||||||
|
|
||||||
static EmailAndThreatMatch create(String email, ThreatMatch threatMatch) {
|
|
||||||
return new AutoValue_Spec11Pipeline_EmailAndThreatMatch(email, threatMatch);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,19 +18,13 @@ import static google.registry.bsa.BsaStringUtils.DOMAIN_JOINER;
|
||||||
import static google.registry.bsa.BsaStringUtils.PROPERTY_JOINER;
|
import static google.registry.bsa.BsaStringUtils.PROPERTY_JOINER;
|
||||||
import static google.registry.bsa.BsaStringUtils.PROPERTY_SPLITTER;
|
import static google.registry.bsa.BsaStringUtils.PROPERTY_SPLITTER;
|
||||||
|
|
||||||
import com.google.auto.value.AutoValue;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A domain name whose second-level domain (SLD) matches a BSA label but is not blocked. It may be
|
* A domain name whose second-level domain (SLD) matches a BSA label but is not blocked. It may be
|
||||||
* already registered, or on the TLD's reserve list.
|
* already registered, or on the TLD's reserve list.
|
||||||
*/
|
*/
|
||||||
// TODO(1/15/2024): rename to UnblockableDomain.
|
public record UnblockableDomain(String domainName, Reason reason) {
|
||||||
@AutoValue
|
|
||||||
public abstract class UnblockableDomain {
|
|
||||||
public abstract String domainName();
|
|
||||||
|
|
||||||
public abstract Reason reason();
|
|
||||||
|
|
||||||
/** Reasons why a valid domain name cannot be blocked. */
|
/** Reasons why a valid domain name cannot be blocked. */
|
||||||
public enum Reason {
|
public enum Reason {
|
||||||
|
@ -45,14 +39,10 @@ public abstract class UnblockableDomain {
|
||||||
|
|
||||||
public static UnblockableDomain deserialize(String text) {
|
public static UnblockableDomain deserialize(String text) {
|
||||||
List<String> items = PROPERTY_SPLITTER.splitToList(text);
|
List<String> items = PROPERTY_SPLITTER.splitToList(text);
|
||||||
return of(items.get(0), Reason.valueOf(items.get(1)));
|
return new UnblockableDomain(items.get(0), Reason.valueOf(items.get(1)));
|
||||||
}
|
|
||||||
|
|
||||||
public static UnblockableDomain of(String domainName, Reason reason) {
|
|
||||||
return new AutoValue_UnblockableDomain(domainName, reason);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UnblockableDomain of(String label, String tld, Reason reason) {
|
public static UnblockableDomain of(String label, String tld, Reason reason) {
|
||||||
return of(DOMAIN_JOINER.join(label, tld), reason);
|
return new UnblockableDomain(DOMAIN_JOINER.join(label, tld), reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ public abstract class UnblockableDomainChange {
|
||||||
@Memoized
|
@Memoized
|
||||||
public UnblockableDomain newValue() {
|
public UnblockableDomain newValue() {
|
||||||
verify(newReason().isPresent(), "Removed unblockable does not have new value.");
|
verify(newReason().isPresent(), "Removed unblockable does not have new value.");
|
||||||
return UnblockableDomain.of(unblockable().domainName(), newReason().get());
|
return new UnblockableDomain(unblockable().domainName(), newReason().get());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isNewOrChange() {
|
public boolean isNewOrChange() {
|
||||||
|
@ -78,7 +78,7 @@ public abstract class UnblockableDomainChange {
|
||||||
public static UnblockableDomainChange deserialize(String text) {
|
public static UnblockableDomainChange deserialize(String text) {
|
||||||
List<String> items = BsaStringUtils.PROPERTY_SPLITTER.splitToList(text);
|
List<String> items = BsaStringUtils.PROPERTY_SPLITTER.splitToList(text);
|
||||||
return of(
|
return of(
|
||||||
UnblockableDomain.of(items.get(0), Reason.valueOf(items.get(1))),
|
new UnblockableDomain(items.get(0), Reason.valueOf(items.get(1))),
|
||||||
Objects.equals(items.get(2), DELETE_REASON_PLACEHOLDER)
|
Objects.equals(items.get(2), DELETE_REASON_PLACEHOLDER)
|
||||||
? Optional.empty()
|
? Optional.empty()
|
||||||
: Optional.of(Reason.valueOf(items.get(2))));
|
: Optional.of(Reason.valueOf(items.get(2))));
|
||||||
|
|
|
@ -239,10 +239,10 @@ public final class DomainsRefresher {
|
||||||
|
|
||||||
Streams.concat(
|
Streams.concat(
|
||||||
newCreated.stream()
|
newCreated.stream()
|
||||||
.map(name -> UnblockableDomain.of(name, Reason.REGISTERED))
|
.map(name -> new UnblockableDomain(name, Reason.REGISTERED))
|
||||||
.map(UnblockableDomainChange::ofNew),
|
.map(UnblockableDomainChange::ofNew),
|
||||||
reservedNotCreated.stream()
|
reservedNotCreated.stream()
|
||||||
.map(name -> UnblockableDomain.of(name, Reason.RESERVED))
|
.map(name -> new UnblockableDomain(name, Reason.RESERVED))
|
||||||
.map(UnblockableDomainChange::ofNew))
|
.map(UnblockableDomainChange::ofNew))
|
||||||
.forEach(changes::add);
|
.forEach(changes::add);
|
||||||
return changes.build();
|
return changes.build();
|
||||||
|
|
|
@ -152,7 +152,7 @@ public final class LabelDiffUpdates {
|
||||||
ImmutableSet<String> registeredDomainNames =
|
ImmutableSet<String> registeredDomainNames =
|
||||||
ImmutableSet.copyOf(ForeignKeyUtils.load(Domain.class, validDomainNames, now).keySet());
|
ImmutableSet.copyOf(ForeignKeyUtils.load(Domain.class, validDomainNames, now).keySet());
|
||||||
for (String domain : registeredDomainNames) {
|
for (String domain : registeredDomainNames) {
|
||||||
nonBlockedDomains.add(UnblockableDomain.of(domain, Reason.REGISTERED));
|
nonBlockedDomains.add(new UnblockableDomain(domain, Reason.REGISTERED));
|
||||||
tm().put(BsaUnblockableDomain.of(domain, BsaUnblockableDomain.Reason.REGISTERED));
|
tm().put(BsaUnblockableDomain.of(domain, BsaUnblockableDomain.Reason.REGISTERED));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ public final class LabelDiffUpdates {
|
||||||
.filter(domain -> isReservedDomain(domain, now))
|
.filter(domain -> isReservedDomain(domain, now))
|
||||||
.collect(toImmutableSet());
|
.collect(toImmutableSet());
|
||||||
for (String domain : reservedDomainNames) {
|
for (String domain : reservedDomainNames) {
|
||||||
nonBlockedDomains.add(UnblockableDomain.of(domain, Reason.RESERVED));
|
nonBlockedDomains.add(new UnblockableDomain(domain, Reason.RESERVED));
|
||||||
tm().put(BsaUnblockableDomain.of(domain, BsaUnblockableDomain.Reason.RESERVED));
|
tm().put(BsaUnblockableDomain.of(domain, BsaUnblockableDomain.Reason.RESERVED));
|
||||||
}
|
}
|
||||||
return nonBlockedDomains.build();
|
return nonBlockedDomains.build();
|
||||||
|
|
|
@ -14,25 +14,21 @@
|
||||||
|
|
||||||
package google.registry.flows;
|
package google.registry.flows;
|
||||||
|
|
||||||
import com.google.auto.value.AutoValue;
|
import com.google.auto.value.AutoBuilder;
|
||||||
import google.registry.model.ImmutableObject;
|
|
||||||
|
|
||||||
/** Object to hold metadata specific to a particular execution of a flow. */
|
/** Object to hold metadata specific to a particular execution of a flow. */
|
||||||
@AutoValue
|
public record FlowMetadata(boolean isSuperuser) {
|
||||||
public abstract class FlowMetadata extends ImmutableObject {
|
|
||||||
|
|
||||||
public abstract boolean isSuperuser();
|
|
||||||
|
|
||||||
public static Builder newBuilder() {
|
public static Builder newBuilder() {
|
||||||
return new AutoValue_FlowMetadata.Builder();
|
return new AutoBuilder_FlowMetadata_Builder();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Builder for {@link FlowMetadata} */
|
/** Builder for {@link FlowMetadata} */
|
||||||
@AutoValue.Builder
|
@AutoBuilder
|
||||||
public abstract static class Builder {
|
public interface Builder {
|
||||||
|
|
||||||
public abstract Builder setSuperuser(boolean isSuperuser);
|
Builder setIsSuperuser(boolean isSuperuser);
|
||||||
|
|
||||||
public abstract FlowMetadata build();
|
FlowMetadata build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -314,7 +314,7 @@ public class FlowModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
static FlowMetadata provideFlowMetadata(@Superuser boolean isSuperuser) {
|
static FlowMetadata provideFlowMetadata(@Superuser boolean isSuperuser) {
|
||||||
return FlowMetadata.newBuilder().setSuperuser(isSuperuser).build();
|
return FlowMetadata.newBuilder().setIsSuperuser(isSuperuser).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Wrapper class to carry an {@link EppException} to the calling code. */
|
/** Wrapper class to carry an {@link EppException} to the calling code. */
|
||||||
|
|
|
@ -139,7 +139,7 @@ class BsaRefreshFunctionalTest {
|
||||||
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
||||||
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
UnblockableDomain newUnblockable = UnblockableDomain.of("blocked1.app", Reason.RESERVED);
|
UnblockableDomain newUnblockable = new UnblockableDomain("blocked1.app", Reason.RESERVED);
|
||||||
assertThat(queryUnblockableDomains()).containsExactly(newUnblockable);
|
assertThat(queryUnblockableDomains()).containsExactly(newUnblockable);
|
||||||
assertThat(gcsClient.readRefreshChanges(jobName))
|
assertThat(gcsClient.readRefreshChanges(jobName))
|
||||||
.containsExactly(UnblockableDomainChange.ofNew(newUnblockable));
|
.containsExactly(UnblockableDomainChange.ofNew(newUnblockable));
|
||||||
|
@ -154,7 +154,7 @@ class BsaRefreshFunctionalTest {
|
||||||
persistActiveDomain("dummy.dev", fakeClock.nowUtc());
|
persistActiveDomain("dummy.dev", fakeClock.nowUtc());
|
||||||
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
UnblockableDomain newUnblockable = UnblockableDomain.of("blocked1.dev", Reason.REGISTERED);
|
UnblockableDomain newUnblockable = new UnblockableDomain("blocked1.dev", Reason.REGISTERED);
|
||||||
assertThat(queryUnblockableDomains()).containsExactly(newUnblockable);
|
assertThat(queryUnblockableDomains()).containsExactly(newUnblockable);
|
||||||
assertThat(gcsClient.readRefreshChanges(jobName))
|
assertThat(gcsClient.readRefreshChanges(jobName))
|
||||||
.containsExactly(UnblockableDomainChange.ofNew(newUnblockable));
|
.containsExactly(UnblockableDomainChange.ofNew(newUnblockable));
|
||||||
|
@ -169,7 +169,7 @@ class BsaRefreshFunctionalTest {
|
||||||
Domain domain = persistActiveDomain("blocked1.dev", fakeClock.nowUtc());
|
Domain domain = persistActiveDomain("blocked1.dev", fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.dev", Reason.REGISTERED));
|
.containsExactly(new UnblockableDomain("blocked1.dev", Reason.REGISTERED));
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
deleteTestDomain(domain, fakeClock.nowUtc());
|
deleteTestDomain(domain, fakeClock.nowUtc());
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
|
@ -181,7 +181,7 @@ class BsaRefreshFunctionalTest {
|
||||||
assertThat(gcsClient.readRefreshChanges(jobName))
|
assertThat(gcsClient.readRefreshChanges(jobName))
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofDeleted(
|
UnblockableDomainChange.ofDeleted(
|
||||||
UnblockableDomain.of("blocked1.dev", Reason.REGISTERED)));
|
new UnblockableDomain("blocked1.dev", Reason.REGISTERED)));
|
||||||
|
|
||||||
verify(bsaReportSender, never()).addUnblockableDomainsUpdates(anyString());
|
verify(bsaReportSender, never()).addUnblockableDomainsUpdates(anyString());
|
||||||
verify(bsaReportSender, times(1)).removeUnblockableDomainsUpdates("[\n \"blocked1.dev\"\n]");
|
verify(bsaReportSender, times(1)).removeUnblockableDomainsUpdates("[\n \"blocked1.dev\"\n]");
|
||||||
|
@ -193,7 +193,7 @@ class BsaRefreshFunctionalTest {
|
||||||
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.RESERVED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.RESERVED));
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
removeReservedDomainFromList(RESERVED_LIST_NAME, ImmutableSet.of("blocked1"));
|
removeReservedDomainFromList(RESERVED_LIST_NAME, ImmutableSet.of("blocked1"));
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ class BsaRefreshFunctionalTest {
|
||||||
assertThat(gcsClient.readRefreshChanges(jobName))
|
assertThat(gcsClient.readRefreshChanges(jobName))
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofDeleted(
|
UnblockableDomainChange.ofDeleted(
|
||||||
UnblockableDomain.of("blocked1.app", Reason.RESERVED)));
|
new UnblockableDomain("blocked1.app", Reason.RESERVED)));
|
||||||
|
|
||||||
verify(bsaReportSender, never()).addUnblockableDomainsUpdates(anyString());
|
verify(bsaReportSender, never()).addUnblockableDomainsUpdates(anyString());
|
||||||
verify(bsaReportSender, times(1)).removeUnblockableDomainsUpdates("[\n \"blocked1.app\"\n]");
|
verify(bsaReportSender, times(1)).removeUnblockableDomainsUpdates("[\n \"blocked1.app\"\n]");
|
||||||
|
@ -217,7 +217,7 @@ class BsaRefreshFunctionalTest {
|
||||||
Domain domain = persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
Domain domain = persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.REGISTERED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.REGISTERED));
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
deleteTestDomain(domain, fakeClock.nowUtc());
|
deleteTestDomain(domain, fakeClock.nowUtc());
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
|
@ -226,11 +226,11 @@ class BsaRefreshFunctionalTest {
|
||||||
Mockito.reset(bsaReportSender);
|
Mockito.reset(bsaReportSender);
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.RESERVED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.RESERVED));
|
||||||
assertThat(gcsClient.readRefreshChanges(jobName))
|
assertThat(gcsClient.readRefreshChanges(jobName))
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofChanged(
|
UnblockableDomainChange.ofChanged(
|
||||||
UnblockableDomain.of("blocked1.app", Reason.REGISTERED), Reason.RESERVED));
|
new UnblockableDomain("blocked1.app", Reason.REGISTERED), Reason.RESERVED));
|
||||||
InOrder inOrder = Mockito.inOrder(bsaReportSender);
|
InOrder inOrder = Mockito.inOrder(bsaReportSender);
|
||||||
inOrder.verify(bsaReportSender).removeUnblockableDomainsUpdates("[\n \"blocked1.app\"\n]");
|
inOrder.verify(bsaReportSender).removeUnblockableDomainsUpdates("[\n \"blocked1.app\"\n]");
|
||||||
inOrder
|
inOrder
|
||||||
|
@ -244,7 +244,7 @@ class BsaRefreshFunctionalTest {
|
||||||
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.RESERVED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.RESERVED));
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
|
@ -252,12 +252,12 @@ class BsaRefreshFunctionalTest {
|
||||||
Mockito.reset(bsaReportSender);
|
Mockito.reset(bsaReportSender);
|
||||||
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
UnblockableDomain changed = UnblockableDomain.of("blocked1.app", Reason.REGISTERED);
|
UnblockableDomain changed = new UnblockableDomain("blocked1.app", Reason.REGISTERED);
|
||||||
assertThat(queryUnblockableDomains()).containsExactly(changed);
|
assertThat(queryUnblockableDomains()).containsExactly(changed);
|
||||||
assertThat(gcsClient.readRefreshChanges(jobName))
|
assertThat(gcsClient.readRefreshChanges(jobName))
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofChanged(
|
UnblockableDomainChange.ofChanged(
|
||||||
UnblockableDomain.of("blocked1.app", Reason.RESERVED), Reason.REGISTERED));
|
new UnblockableDomain("blocked1.app", Reason.RESERVED), Reason.REGISTERED));
|
||||||
InOrder inOrder = Mockito.inOrder(bsaReportSender);
|
InOrder inOrder = Mockito.inOrder(bsaReportSender);
|
||||||
inOrder.verify(bsaReportSender).removeUnblockableDomainsUpdates("[\n \"blocked1.app\"\n]");
|
inOrder.verify(bsaReportSender).removeUnblockableDomainsUpdates("[\n \"blocked1.app\"\n]");
|
||||||
inOrder
|
inOrder
|
||||||
|
@ -272,7 +272,7 @@ class BsaRefreshFunctionalTest {
|
||||||
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
||||||
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
UnblockableDomain newUnblockable = UnblockableDomain.of("blocked1.app", Reason.REGISTERED);
|
UnblockableDomain newUnblockable = new UnblockableDomain("blocked1.app", Reason.REGISTERED);
|
||||||
assertThat(queryUnblockableDomains()).containsExactly(newUnblockable);
|
assertThat(queryUnblockableDomains()).containsExactly(newUnblockable);
|
||||||
assertThat(gcsClient.readRefreshChanges(jobName))
|
assertThat(gcsClient.readRefreshChanges(jobName))
|
||||||
.containsExactly(UnblockableDomainChange.ofNew(newUnblockable));
|
.containsExactly(UnblockableDomainChange.ofNew(newUnblockable));
|
||||||
|
@ -285,7 +285,7 @@ class BsaRefreshFunctionalTest {
|
||||||
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.REGISTERED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.REGISTERED));
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
removeReservedDomainFromList(RESERVED_LIST_NAME, ImmutableSet.of("blocked1"));
|
removeReservedDomainFromList(RESERVED_LIST_NAME, ImmutableSet.of("blocked1"));
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
|
@ -294,7 +294,7 @@ class BsaRefreshFunctionalTest {
|
||||||
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.REGISTERED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.REGISTERED));
|
||||||
// Verify that refresh change file does not exist (404 error) since there is no change.
|
// Verify that refresh change file does not exist (404 error) since there is no change.
|
||||||
assertThat(
|
assertThat(
|
||||||
assertThrows(
|
assertThrows(
|
||||||
|
@ -309,7 +309,7 @@ class BsaRefreshFunctionalTest {
|
||||||
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
persistActiveDomain("blocked1.app", fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.REGISTERED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.REGISTERED));
|
||||||
fakeClock.advanceOneMilli();
|
fakeClock.advanceOneMilli();
|
||||||
addReservedDomainToList(
|
addReservedDomainToList(
|
||||||
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
RESERVED_LIST_NAME, ImmutableMap.of("blocked1", RESERVED_FOR_SPECIFIC_USE));
|
||||||
|
@ -319,7 +319,7 @@ class BsaRefreshFunctionalTest {
|
||||||
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
String jobName = getRefreshJobName(fakeClock.nowUtc());
|
||||||
action.run();
|
action.run();
|
||||||
assertThat(queryUnblockableDomains())
|
assertThat(queryUnblockableDomains())
|
||||||
.containsExactly(UnblockableDomain.of("blocked1.app", Reason.REGISTERED));
|
.containsExactly(new UnblockableDomain("blocked1.app", Reason.REGISTERED));
|
||||||
// Verify that refresh change file does not exist (404 error) since there is no change.
|
// Verify that refresh change file does not exist (404 error) since there is no change.
|
||||||
assertThat(
|
assertThat(
|
||||||
assertThrows(
|
assertThrows(
|
||||||
|
|
|
@ -134,10 +134,10 @@ class JsonSerializationsTest {
|
||||||
assertThat(
|
assertThat(
|
||||||
toUnblockableDomainsReport(
|
toUnblockableDomainsReport(
|
||||||
Stream.of(
|
Stream.of(
|
||||||
UnblockableDomain.of("a.ing", Reason.REGISTERED),
|
new UnblockableDomain("a.ing", Reason.REGISTERED),
|
||||||
UnblockableDomain.of("b.app", Reason.INVALID),
|
new UnblockableDomain("b.app", Reason.INVALID),
|
||||||
UnblockableDomain.of("c.dev", Reason.RESERVED),
|
new UnblockableDomain("c.dev", Reason.RESERVED),
|
||||||
UnblockableDomain.of("d.page", Reason.REGISTERED))))
|
new UnblockableDomain("d.page", Reason.REGISTERED))))
|
||||||
.hasValue(expected);
|
.hasValue(expected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ class UnblockableDomainTest {
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setup() {
|
void setup() {
|
||||||
unit = UnblockableDomain.of("buy.app", Reason.REGISTERED);
|
unit = new UnblockableDomain("buy.app", Reason.REGISTERED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -69,7 +69,7 @@ public class DomainsRefresherTest {
|
||||||
assertThat(refresher.refreshStaleUnblockables())
|
assertThat(refresher.refreshStaleUnblockables())
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofDeleted(
|
UnblockableDomainChange.ofDeleted(
|
||||||
UnblockableDomain.of("label.tld", UnblockableDomain.Reason.REGISTERED)));
|
new UnblockableDomain("label.tld", UnblockableDomain.Reason.REGISTERED)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -79,7 +79,7 @@ public class DomainsRefresherTest {
|
||||||
assertThat(refresher.refreshStaleUnblockables())
|
assertThat(refresher.refreshStaleUnblockables())
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofDeleted(
|
UnblockableDomainChange.ofDeleted(
|
||||||
UnblockableDomain.of("label.tld", UnblockableDomain.Reason.RESERVED)));
|
new UnblockableDomain("label.tld", UnblockableDomain.Reason.RESERVED)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -89,7 +89,7 @@ public class DomainsRefresherTest {
|
||||||
assertThat(refresher.getNewUnblockables())
|
assertThat(refresher.getNewUnblockables())
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofNew(
|
UnblockableDomainChange.ofNew(
|
||||||
UnblockableDomain.of("label.tld", UnblockableDomain.Reason.REGISTERED)));
|
new UnblockableDomain("label.tld", UnblockableDomain.Reason.REGISTERED)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -100,7 +100,7 @@ public class DomainsRefresherTest {
|
||||||
assertThat(refresher.getNewUnblockables())
|
assertThat(refresher.getNewUnblockables())
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofNew(
|
UnblockableDomainChange.ofNew(
|
||||||
UnblockableDomain.of("label.tld", UnblockableDomain.Reason.RESERVED)));
|
new UnblockableDomain("label.tld", UnblockableDomain.Reason.RESERVED)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -113,7 +113,7 @@ public class DomainsRefresherTest {
|
||||||
assertThat(refresher.refreshStaleUnblockables())
|
assertThat(refresher.refreshStaleUnblockables())
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofChanged(
|
UnblockableDomainChange.ofChanged(
|
||||||
UnblockableDomain.of("label.tld", UnblockableDomain.Reason.REGISTERED),
|
new UnblockableDomain("label.tld", UnblockableDomain.Reason.REGISTERED),
|
||||||
UnblockableDomain.Reason.RESERVED));
|
UnblockableDomain.Reason.RESERVED));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ public class DomainsRefresherTest {
|
||||||
assertThat(refresher.refreshStaleUnblockables())
|
assertThat(refresher.refreshStaleUnblockables())
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofChanged(
|
UnblockableDomainChange.ofChanged(
|
||||||
UnblockableDomain.of("label.tld", UnblockableDomain.Reason.RESERVED),
|
new UnblockableDomain("label.tld", UnblockableDomain.Reason.RESERVED),
|
||||||
UnblockableDomain.Reason.REGISTERED));
|
UnblockableDomain.Reason.REGISTERED));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ public class DomainsRefresherTest {
|
||||||
assertThat(refresher.refreshStaleUnblockables())
|
assertThat(refresher.refreshStaleUnblockables())
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomainChange.ofChanged(
|
UnblockableDomainChange.ofChanged(
|
||||||
UnblockableDomain.of("label.tld", UnblockableDomain.Reason.RESERVED),
|
new UnblockableDomain("label.tld", UnblockableDomain.Reason.RESERVED),
|
||||||
UnblockableDomain.Reason.REGISTERED));
|
UnblockableDomain.Reason.REGISTERED));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,8 +126,8 @@ class LabelDiffUpdatesTest {
|
||||||
fakeClock.nowUtc());
|
fakeClock.nowUtc());
|
||||||
assertThat(unblockableDomains)
|
assertThat(unblockableDomains)
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomain.of("label.app", UnblockableDomain.Reason.REGISTERED),
|
new UnblockableDomain("label.app", UnblockableDomain.Reason.REGISTERED),
|
||||||
UnblockableDomain.of("label.dev", UnblockableDomain.Reason.INVALID));
|
new UnblockableDomain("label.dev", UnblockableDomain.Reason.INVALID));
|
||||||
assertThat(tm().transact(() -> tm().loadByKeyIfPresent(BsaLabel.vKey("label")))).isPresent();
|
assertThat(tm().transact(() -> tm().loadByKeyIfPresent(BsaLabel.vKey("label")))).isPresent();
|
||||||
assertThat(
|
assertThat(
|
||||||
tm().transact(() -> tm().loadByKeyIfPresent(BsaUnblockableDomain.vKey("label", "app"))))
|
tm().transact(() -> tm().loadByKeyIfPresent(BsaUnblockableDomain.vKey("label", "app"))))
|
||||||
|
@ -153,9 +153,9 @@ class LabelDiffUpdatesTest {
|
||||||
fakeClock.nowUtc());
|
fakeClock.nowUtc());
|
||||||
assertThat(unblockableDomains)
|
assertThat(unblockableDomains)
|
||||||
.containsExactly(
|
.containsExactly(
|
||||||
UnblockableDomain.of("label.app", UnblockableDomain.Reason.REGISTERED),
|
new UnblockableDomain("label.app", UnblockableDomain.Reason.REGISTERED),
|
||||||
UnblockableDomain.of("label.page", UnblockableDomain.Reason.RESERVED),
|
new UnblockableDomain("label.page", UnblockableDomain.Reason.RESERVED),
|
||||||
UnblockableDomain.of("label.dev", UnblockableDomain.Reason.INVALID));
|
new UnblockableDomain("label.dev", UnblockableDomain.Reason.INVALID));
|
||||||
assertThat(tm().transact(() -> tm().loadByKeyIfPresent(BsaLabel.vKey("label")))).isPresent();
|
assertThat(tm().transact(() -> tm().loadByKeyIfPresent(BsaLabel.vKey("label")))).isPresent();
|
||||||
assertThat(
|
assertThat(
|
||||||
tm().transact(() -> tm().loadByKey(BsaUnblockableDomain.vKey("label", "app")).reason))
|
tm().transact(() -> tm().loadByKey(BsaUnblockableDomain.vKey("label", "app")).reason))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue