Merge "Pull-replication does not require DELETE refs permissions." into stable-3.4
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommand.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommand.java
index 40e03f1..ea5b35a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommand.java
@@ -23,9 +23,7 @@
import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.server.events.EventDispatcher;
import com.google.gerrit.server.git.GitRepositoryManager;
-import com.google.gerrit.server.permissions.PermissionBackend;
import com.google.gerrit.server.permissions.PermissionBackendException;
-import com.google.gerrit.server.permissions.RefPermission;
import com.google.gerrit.server.project.ProjectCache;
import com.google.gerrit.server.project.ProjectState;
import com.google.inject.Inject;
@@ -49,7 +47,6 @@
private final ApplyObject applyObject;
private final DynamicItem<EventDispatcher> eventDispatcher;
private final ProjectCache projectCache;
- private final PermissionBackend permissionBackend;
private final GitRepositoryManager gitManager;
@Inject
@@ -57,14 +54,12 @@
PullReplicationStateLogger fetchStateLog,
ProjectCache projectCache,
ApplyObject applyObject,
- PermissionBackend permissionBackend,
DynamicItem<EventDispatcher> eventDispatcher,
LocalGitRepositoryManagerProvider gitManagerProvider) {
this.fetchStateLog = fetchStateLog;
this.projectCache = projectCache;
this.applyObject = applyObject;
this.eventDispatcher = eventDispatcher;
- this.permissionBackend = permissionBackend;
this.gitManager = gitManagerProvider.get();
}
@@ -78,12 +73,6 @@
}
try {
- projectState.get().checkStatePermitsWrite();
- permissionBackend
- .currentUser()
- .project(projectState.get().getNameKey())
- .ref(refName)
- .check(RefPermission.DELETE);
Context.setLocalEvent(true);
deleteRef(name, refName);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommandTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommandTest.java
index eb4d322..30d212c 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommandTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/DeleteRefCommandTest.java
@@ -26,10 +26,6 @@
import com.google.gerrit.server.events.Event;
import com.google.gerrit.server.events.EventDispatcher;
import com.google.gerrit.server.git.LocalDiskRepositoryManager;
-import com.google.gerrit.server.permissions.PermissionBackend;
-import com.google.gerrit.server.permissions.PermissionBackend.ForProject;
-import com.google.gerrit.server.permissions.PermissionBackend.ForRef;
-import com.google.gerrit.server.permissions.PermissionBackend.WithUser;
import com.google.gerrit.server.project.ProjectCache;
import com.google.gerrit.server.project.ProjectState;
import com.googlesource.gerrit.plugins.replication.pull.FetchRefReplicatedEvent;
@@ -62,10 +58,6 @@
@Mock private ProjectCache projectCache;
@Mock private ApplyObject applyObject;
@Mock private ProjectState projectState;
- @Mock private PermissionBackend permissionBackend;
- @Mock private WithUser currentUser;
- @Mock private ForProject forProject;
- @Mock private ForRef forRef;
@Mock private LocalDiskRepositoryManager gitManager;
@Mock private RefUpdate refUpdate;
@Mock private Repository repository;
@@ -79,9 +71,6 @@
public void setup() throws Exception {
when(eventDispatcherDataItem.get()).thenReturn(eventDispatcher);
when(projectCache.get(any())).thenReturn(Optional.of(projectState));
- when(permissionBackend.currentUser()).thenReturn(currentUser);
- when(currentUser.project(any())).thenReturn(forProject);
- when(forProject.ref(any())).thenReturn(forRef);
when(gitManager.openRepository(any())).thenReturn(repository);
when(repository.updateRef(any())).thenReturn(refUpdate);
when(repository.getRefDatabase()).thenReturn(refDb);
@@ -93,7 +82,6 @@
fetchStateLog,
projectCache,
applyObject,
- permissionBackend,
eventDispatcherDataItem,
new LocalGitRepositoryManagerProvider(gitManager));
}