Fix timestamp inversion error in a test (#1207)

* Fix timestamp inversion error in a test
This commit is contained in:
Weimin Yu 2021-06-11 11:05:10 -04:00 committed by GitHub
parent ef8e8d75ca
commit bcc26c486e

View file

@ -20,6 +20,7 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
import static google.registry.testing.LogsSubject.assertAboutLogs; import static google.registry.testing.LogsSubject.assertAboutLogs;
import static google.registry.util.DateTimeUtils.START_OF_TIME; import static google.registry.util.DateTimeUtils.START_OF_TIME;
import com.google.common.base.Suppliers;
import com.google.common.collect.ImmutableSortedMap; import com.google.common.collect.ImmutableSortedMap;
import com.google.common.testing.TestLogHandler; import com.google.common.testing.TestLogHandler;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
@ -29,6 +30,7 @@ import google.registry.config.RegistryConfig;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.common.DatabaseMigrationStateSchedule; import google.registry.model.common.DatabaseMigrationStateSchedule;
import google.registry.model.common.DatabaseMigrationStateSchedule.MigrationState; import google.registry.model.common.DatabaseMigrationStateSchedule.MigrationState;
import google.registry.model.ofy.CommitLogBucket;
import google.registry.model.ofy.Ofy; import google.registry.model.ofy.Ofy;
import google.registry.persistence.VKey; import google.registry.persistence.VKey;
import google.registry.persistence.transaction.TransactionEntity; import google.registry.persistence.transaction.TransactionEntity;
@ -66,6 +68,10 @@ public class ReplicateToDatastoreActionTest {
@BeforeEach @BeforeEach
public void setUp() { public void setUp() {
injectExtension.setStaticField(Ofy.class, "clock", fakeClock); injectExtension.setStaticField(Ofy.class, "clock", fakeClock);
// Use a single bucket to expose timestamp inversion problems.
injectExtension.setStaticField(
CommitLogBucket.class, "bucketIdSupplier", Suppliers.ofInstance(1));
fakeClock.setAutoIncrementByOneMilli();
RegistryConfig.overrideCloudSqlReplicateTransactions(true); RegistryConfig.overrideCloudSqlReplicateTransactions(true);
Logger.getLogger(ReplicateToDatastoreAction.class.getCanonicalName()).addHandler(logHandler); Logger.getLogger(ReplicateToDatastoreAction.class.getCanonicalName()).addHandler(logHandler);
DateTime now = fakeClock.nowUtc(); DateTime now = fakeClock.nowUtc();
@ -87,6 +93,7 @@ public class ReplicateToDatastoreActionTest {
@AfterEach @AfterEach
public void tearDown() { public void tearDown() {
fakeClock.disableAutoIncrement();
RegistryConfig.overrideCloudSqlReplicateTransactions(false); RegistryConfig.overrideCloudSqlReplicateTransactions(false);
} }