Merge branch 'stable-3.5'
* stable-3.5:
Update getFileWebLink signature to match Gerrit
Change-Id: I2395e1ebce7ae106027db37f19d1f993d4671505
Depends-on: https://gerrit-review.googlesource.com/c/gerrit/+/334079
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitiles/GerritGitilesAccess.java b/src/main/java/com/googlesource/gerrit/plugins/gitiles/GerritGitilesAccess.java
index d89b748..86a9088 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitiles/GerritGitilesAccess.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitiles/GerritGitilesAccess.java
@@ -14,6 +14,8 @@
package com.googlesource.gerrit.plugins.gitiles;
+import static com.google.gerrit.extensions.client.ProjectState.HIDDEN;
+
import com.google.common.collect.Maps;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.entities.Project;
@@ -123,7 +125,9 @@
}
Map<String, RepositoryDescription> result = Maps.newLinkedHashMap();
for (Map.Entry<String, ProjectInfo> e : projects.entrySet()) {
- result.put(e.getKey(), toDescription(e.getKey(), e.getValue()));
+ if (!e.getValue().state.equals(HIDDEN)) {
+ result.put(e.getKey(), toDescription(e.getKey(), e.getValue()));
+ }
}
return Collections.unmodifiableMap(result);
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java b/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java
index a2d5c94..567c05a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitiles/HttpModule.java
@@ -17,7 +17,7 @@
import com.google.common.flogger.FluentLogger;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.config.SitePaths;
-import com.google.gitiles.BranchRedirectFilter;
+import com.google.gitiles.BranchRedirect;
import com.google.gitiles.GitilesAccess;
import com.google.gitiles.GitilesServlet;
import com.google.gitiles.GitilesUrls;
@@ -119,7 +119,7 @@
null,
null,
null,
- new BranchRedirectFilter());
+ new BranchRedirect());
}
@Provides
diff --git a/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java b/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java
index d8dee32..6a8c342 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/gitiles/ListProjectsAccessTest.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.allow;
+import static com.google.gerrit.extensions.client.ProjectState.HIDDEN;
import static com.google.gerrit.server.group.SystemGroupBackend.ANONYMOUS_USERS;
import com.google.common.collect.ImmutableSet;
@@ -26,6 +27,7 @@
import com.google.gerrit.entities.Permission;
import com.google.gerrit.entities.Project;
import com.google.gerrit.extensions.api.projects.BranchInput;
+import com.google.gerrit.extensions.api.projects.ConfigInput;
import com.google.gerrit.testing.ConfigSuite;
import com.google.gerrit.util.http.testutil.FakeHttpServletRequest;
import java.util.stream.Collectors;
@@ -92,6 +94,16 @@
.containsExactly(ImmutableSet.of("refs/heads/visible"));
}
+ @Test
+ public void listRepositories_hiddenShouldNotBeVisible() throws Exception {
+ assertThat(access().listRepositories(null, ImmutableSet.of()).keySet()).contains(project.get());
+ ConfigInput ci = new ConfigInput();
+ ci.state = HIDDEN;
+ gApi.projects().name(project.get()).config(ci);
+ assertThat(access().listRepositories(null, ImmutableSet.of()).keySet())
+ .doesNotContain(project.get());
+ }
+
private GerritGitilesAccess access() {
return plugin
.getSysInjector()