diff options
Diffstat (limited to 'src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java')
-rw-r--r-- | src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java index a8d075d..64397f9 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java @@ -16,6 +16,7 @@ package com.googlesource.gerrit.plugins.replication; import static java.nio.charset.StandardCharsets.UTF_8; +import com.google.common.annotations.VisibleForTesting; import com.google.common.flogger.FluentLogger; import com.google.common.hash.Hashing; import com.google.gson.Gson; @@ -35,6 +36,8 @@ import org.eclipse.jgit.transport.URIish; public class ReplicationTasksStorage { private static final FluentLogger logger = FluentLogger.forEnclosingClass(); + private boolean disableDeleteForTesting; + public static class ReplicateRefUpdate { public final String project; public final String ref; @@ -81,11 +84,21 @@ public class ReplicationTasksStorage { return eventKey; } + @VisibleForTesting + public void disableDeleteForTesting(boolean deleteDisabled) { + this.disableDeleteForTesting = deleteDisabled; + } + public void delete(ReplicateRefUpdate r) { String taskJson = GSON.toJson(r) + "\n"; String taskKey = sha1(taskJson).name(); Path file = refUpdates().resolve(taskKey); + if (disableDeleteForTesting) { + logger.atFine().log("DELETE %s (%s:%s => %s) DISABLED", file, r.project, r.ref, r.uri); + return; + } + try { logger.atFine().log("DELETE %s (%s:%s => %s)", file, r.project, r.ref, r.uri); Files.delete(file); |