Inject clock for Tmch validity using InjectRule instead of manually

Basically a less patchy version of []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202138086
This commit is contained in:
guyben 2018-06-26 09:09:21 -07:00 committed by Ben McIlwain
parent 3550045636
commit b4cb3e0a6f
8 changed files with 14 additions and 20 deletions

View file

@ -20,7 +20,6 @@ import static google.registry.config.RegistryConfig.getSingletonCacheRefreshDura
import static google.registry.util.ResourceUtils.readResourceUtf8; import static google.registry.util.ResourceUtils.readResourceUtf8;
import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.MILLISECONDS;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache; import com.google.common.cache.LoadingCache;
@ -120,8 +119,7 @@ public final class TmchCertificateAuthority {
}}); }});
@NonFinalForTesting @NonFinalForTesting
@VisibleForTesting private static Clock clock = new SystemClock();
public static Clock clock = new SystemClock();
/** /**
* Check that {@code cert} is signed by the ICANN TMCH CA root and not revoked. * Check that {@code cert} is signed by the ICANN TMCH CA root and not revoked.

View file

@ -20,7 +20,6 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSortedMap; import com.google.common.collect.ImmutableSortedMap;
import google.registry.model.registry.Registry.TldState; import google.registry.model.registry.Registry.TldState;
import google.registry.testing.AppEngineRule; import google.registry.testing.AppEngineRule;
import google.registry.tmch.TmchCertificateAuthority;
import google.registry.util.DateTimeUtils; import google.registry.util.DateTimeUtils;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.junit.Before; import org.junit.Before;
@ -43,8 +42,6 @@ public class EppLifecycleDomainApplicationTest extends EppTestCase {
@Before @Before
public void initTld() { public void initTld() {
// Setting the clock used for SignedMark signature validity.
TmchCertificateAuthority.clock = () -> DateTime.parse("2015-01-01TZ");
createTld("example", ImmutableSortedMap.of( createTld("example", ImmutableSortedMap.of(
DateTimeUtils.START_OF_TIME, TldState.SUNRISE, DateTimeUtils.START_OF_TIME, TldState.SUNRISE,
START_OF_GA, TldState.GENERAL_AVAILABILITY)); START_OF_GA, TldState.GENERAL_AVAILABILITY));

View file

@ -45,7 +45,6 @@ import google.registry.model.registry.Registry;
import google.registry.model.registry.Registry.TldState; import google.registry.model.registry.Registry.TldState;
import google.registry.model.reporting.HistoryEntry.Type; import google.registry.model.reporting.HistoryEntry.Type;
import google.registry.testing.AppEngineRule; import google.registry.testing.AppEngineRule;
import google.registry.tmch.TmchCertificateAuthority;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import org.joda.money.Money; import org.joda.money.Money;
@ -66,8 +65,6 @@ public class EppLifecycleDomainTest extends EppTestCase {
@Before @Before
public void initTld() { public void initTld() {
// Setting the clock used for SignedMark signature validity.
TmchCertificateAuthority.clock = () -> DateTime.parse("2015-01-01TZ");
createTlds("example", "tld"); createTlds("example", "tld");
} }

View file

@ -32,6 +32,7 @@ import google.registry.testing.FakeHttpSession;
import google.registry.testing.FakeResponse; import google.registry.testing.FakeResponse;
import google.registry.testing.InjectRule; import google.registry.testing.InjectRule;
import google.registry.testing.ShardableTestCase; import google.registry.testing.ShardableTestCase;
import google.registry.tmch.TmchCertificateAuthority;
import java.util.Map; import java.util.Map;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -55,7 +56,10 @@ public class EppTestCase extends ShardableTestCase {
@Before @Before
public void initTestCase() { public void initTestCase() {
inject.setStaticField(Ofy.class, "clock", clock); // For transactional flows. // For transactional flows
inject.setStaticField(Ofy.class, "clock", clock);
// For SignedMark signature validity
inject.setStaticField(TmchCertificateAuthority.class, "clock", clock);
} }
/** /**

View file

@ -108,8 +108,11 @@ public abstract class FlowTestCase<F extends Flow> extends ShardableTestCase {
sessionMetadata.setClientId("TheRegistrar"); sessionMetadata.setClientId("TheRegistrar");
sessionMetadata.setServiceExtensionUris(ProtocolDefinition.getVisibleServiceExtensionUris()); sessionMetadata.setServiceExtensionUris(ProtocolDefinition.getVisibleServiceExtensionUris());
ofy().saveWithoutBackup().entity(new ClaimsListSingleton()).now(); ofy().saveWithoutBackup().entity(new ClaimsListSingleton()).now();
inject.setStaticField(Ofy.class, "clock", clock); // For transactional flows. // For transactional flows
} inject.setStaticField(Ofy.class, "clock", clock);
// For SignedMark signature validity
inject.setStaticField(TmchCertificateAuthority.class, "clock", clock);
}
protected void removeServiceExtensionUri(String uri) { protected void removeServiceExtensionUri(String uri) {
sessionMetadata.setServiceExtensionUris( sessionMetadata.setServiceExtensionUris(

View file

@ -124,7 +124,6 @@ import google.registry.model.registry.Registry.TldState;
import google.registry.model.registry.label.ReservedList; import google.registry.model.registry.label.ReservedList;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.smd.SignedMarkRevocationList; import google.registry.model.smd.SignedMarkRevocationList;
import google.registry.tmch.TmchCertificateAuthority;
import google.registry.tmch.TmchXmlSignature; import google.registry.tmch.TmchXmlSignature;
import java.security.GeneralSecurityException; import java.security.GeneralSecurityException;
import java.util.List; import java.util.List;
@ -151,11 +150,10 @@ public class DomainApplicationCreateFlowTest
@Before @Before
public void setUp() { public void setUp() {
clock.setTo(DateTime.parse("2014-09-09T09:09:09Z"));
setEppInput("domain_create_sunrise_encoded_signed_mark.xml"); setEppInput("domain_create_sunrise_encoded_signed_mark.xml");
createTld("tld", TldState.SUNRISE); createTld("tld", TldState.SUNRISE);
persistResource(Registry.get("tld").asBuilder().setReservedLists(createReservedList()).build()); persistResource(Registry.get("tld").asBuilder().setReservedLists(createReservedList()).build());
inject.setStaticField(TmchCertificateAuthority.class, "clock", clock);
clock.setTo(DateTime.parse("2014-09-09T09:09:09Z"));
} }
/** Create host and contact entries for testing. */ /** Create host and contact entries for testing. */

View file

@ -151,7 +151,6 @@ import google.registry.model.reporting.DomainTransactionRecord.TransactionReport
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.monitoring.whitebox.EppMetric; import google.registry.monitoring.whitebox.EppMetric;
import google.registry.testing.TaskQueueHelper.TaskMatcher; import google.registry.testing.TaskQueueHelper.TaskMatcher;
import google.registry.tmch.TmchCertificateAuthority;
import java.util.Map; import java.util.Map;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
import org.joda.money.Money; import org.joda.money.Money;
@ -173,8 +172,6 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
@Before @Before
public void initCreateTest() { public void initCreateTest() {
// Setting the clock used for SignedMark signature validity.
TmchCertificateAuthority.clock = () -> DateTime.parse("2015-01-01TZ");
createTld("tld"); createTld("tld");
persistResource( persistResource(
Registry.get("tld") Registry.get("tld")

View file

@ -73,8 +73,8 @@ public class UpdateSmdCommandTest extends CommandTestCase<UpdateSmdCommand> {
@Before @Before
public void init() { public void init() {
// Setting the clock used for SignedMark signature validity. // For SignedMark signature validity
TmchCertificateAuthority.clock = () -> DateTime.parse("2015-01-01TZ"); inject.setStaticField(TmchCertificateAuthority.class, "clock", clock);
inject.setStaticField(Ofy.class, "clock", clock); inject.setStaticField(Ofy.class, "clock", clock);
createTld("xn--q9jyb4c"); createTld("xn--q9jyb4c");
clock.advanceOneMilli(); clock.advanceOneMilli();