From 678ca22473125f75ef5b81f47994cef86db8fb03 Mon Sep 17 00:00:00 2001 From: Rachel Guan Date: Wed, 10 Nov 2021 10:13:14 -0500 Subject: [PATCH] Change TaskQueueUtils to CloudTaskUtils in CommitLogCheckPointAction (#1409) * Change TaskQueueUtils to CloudTaskUtils in CommitLogCheckPointAction --- .../backup/CommitLogCheckpointAction.java | 25 +++++++++++-------- .../backup/CommitLogCheckpointActionTest.java | 16 ++++++------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/core/src/main/java/google/registry/backup/CommitLogCheckpointAction.java b/core/src/main/java/google/registry/backup/CommitLogCheckpointAction.java index 3304790ae..87cb1967d 100644 --- a/core/src/main/java/google/registry/backup/CommitLogCheckpointAction.java +++ b/core/src/main/java/google/registry/backup/CommitLogCheckpointAction.java @@ -14,21 +14,21 @@ package google.registry.backup; -import static com.google.appengine.api.taskqueue.QueueFactory.getQueue; -import static com.google.appengine.api.taskqueue.TaskOptions.Builder.withUrl; import static google.registry.backup.ExportCommitLogDiffAction.LOWER_CHECKPOINT_TIME_PARAM; import static google.registry.backup.ExportCommitLogDiffAction.UPPER_CHECKPOINT_TIME_PARAM; import static google.registry.model.ofy.ObjectifyService.auditedOfy; import static google.registry.persistence.transaction.TransactionManagerFactory.tm; import static google.registry.util.DateTimeUtils.isBeforeOrAt; +import com.google.common.collect.ImmutableMultimap; import com.google.common.flogger.FluentLogger; import google.registry.model.ofy.CommitLogCheckpoint; import google.registry.model.ofy.CommitLogCheckpointRoot; import google.registry.request.Action; +import google.registry.request.Action.Service; import google.registry.request.auth.Auth; import google.registry.util.Clock; -import google.registry.util.TaskQueueUtils; +import google.registry.util.CloudTasksUtils; import javax.inject.Inject; import org.joda.time.DateTime; @@ -56,7 +56,8 @@ public final class CommitLogCheckpointAction implements Runnable { @Inject Clock clock; @Inject CommitLogCheckpointStrategy strategy; - @Inject TaskQueueUtils taskQueueUtils; + @Inject CloudTasksUtils cloudTasksUtils; + @Inject CommitLogCheckpointAction() {} @Override @@ -77,12 +78,16 @@ public final class CommitLogCheckpointAction implements Runnable { .entities( checkpoint, CommitLogCheckpointRoot.create(checkpoint.getCheckpointTime())); // Enqueue a diff task between previous and current checkpoints. - taskQueueUtils.enqueue( - getQueue(QUEUE_NAME), - withUrl(ExportCommitLogDiffAction.PATH) - .param(LOWER_CHECKPOINT_TIME_PARAM, lastWrittenTime.toString()) - .param( - UPPER_CHECKPOINT_TIME_PARAM, checkpoint.getCheckpointTime().toString())); + cloudTasksUtils.enqueue( + QUEUE_NAME, + CloudTasksUtils.createGetTask( + ExportCommitLogDiffAction.PATH, + Service.BACKEND.toString(), + ImmutableMultimap.of( + LOWER_CHECKPOINT_TIME_PARAM, + lastWrittenTime.toString(), + UPPER_CHECKPOINT_TIME_PARAM, + checkpoint.getCheckpointTime().toString()))); }); } } diff --git a/core/src/test/java/google/registry/backup/CommitLogCheckpointActionTest.java b/core/src/test/java/google/registry/backup/CommitLogCheckpointActionTest.java index 117901f32..7d418b736 100644 --- a/core/src/test/java/google/registry/backup/CommitLogCheckpointActionTest.java +++ b/core/src/test/java/google/registry/backup/CommitLogCheckpointActionTest.java @@ -17,8 +17,6 @@ package google.registry.backup; import static com.google.common.truth.Truth.assertThat; import static google.registry.model.ofy.CommitLogCheckpointRoot.loadRoot; import static google.registry.testing.DatabaseHelper.persistResource; -import static google.registry.testing.TaskQueueHelper.assertNoTasksEnqueued; -import static google.registry.testing.TaskQueueHelper.assertTasksEnqueued; import static google.registry.util.DateTimeUtils.START_OF_TIME; import static org.joda.time.DateTimeZone.UTC; import static org.mockito.Mockito.mock; @@ -28,10 +26,9 @@ import com.google.common.collect.ImmutableMap; import google.registry.model.ofy.CommitLogCheckpoint; import google.registry.model.ofy.CommitLogCheckpointRoot; import google.registry.testing.AppEngineExtension; +import google.registry.testing.CloudTasksHelper; +import google.registry.testing.CloudTasksHelper.TaskMatcher; import google.registry.testing.FakeClock; -import google.registry.testing.TaskQueueHelper.TaskMatcher; -import google.registry.util.Retrier; -import google.registry.util.TaskQueueUtils; import org.joda.time.DateTime; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -50,12 +47,13 @@ public class CommitLogCheckpointActionTest { private DateTime now = DateTime.now(UTC); private CommitLogCheckpointAction task = new CommitLogCheckpointAction(); + private final CloudTasksHelper cloudTasksHelper = new CloudTasksHelper(); @BeforeEach void beforeEach() { task.clock = new FakeClock(now); task.strategy = strategy; - task.taskQueueUtils = new TaskQueueUtils(new Retrier(null, 1)); + task.cloudTasksUtils = cloudTasksHelper.getTestCloudTasksUtils(); when(strategy.computeCheckpoint()) .thenReturn( CommitLogCheckpoint.create( @@ -65,7 +63,7 @@ public class CommitLogCheckpointActionTest { @Test void testRun_noCheckpointEverWritten_writesCheckpointAndEnqueuesTask() { task.run(); - assertTasksEnqueued( + cloudTasksHelper.assertTasksEnqueued( QUEUE_NAME, new TaskMatcher() .url(ExportCommitLogDiffAction.PATH) @@ -79,7 +77,7 @@ public class CommitLogCheckpointActionTest { DateTime oneMinuteAgo = now.minusMinutes(1); persistResource(CommitLogCheckpointRoot.create(oneMinuteAgo)); task.run(); - assertTasksEnqueued( + cloudTasksHelper.assertTasksEnqueued( QUEUE_NAME, new TaskMatcher() .url(ExportCommitLogDiffAction.PATH) @@ -93,7 +91,7 @@ public class CommitLogCheckpointActionTest { DateTime oneMinuteFromNow = now.plusMinutes(1); persistResource(CommitLogCheckpointRoot.create(oneMinuteFromNow)); task.run(); - assertNoTasksEnqueued(QUEUE_NAME); + cloudTasksHelper.assertNoTasksEnqueued(QUEUE_NAME); assertThat(loadRoot().getLastWrittenTime()).isEqualTo(oneMinuteFromNow); } }