Merge "ListProjectsIT: Add test that list doesn't include hidden project"
This commit is contained in:
@@ -22,10 +22,14 @@ import static org.junit.Assert.fail;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
|
||||
import com.google.gerrit.acceptance.NoHttpd;
|
||||
import com.google.gerrit.acceptance.Sandboxed;
|
||||
import com.google.gerrit.acceptance.TestProjectInput;
|
||||
import com.google.gerrit.common.data.Permission;
|
||||
import com.google.gerrit.extensions.api.projects.ConfigInfo;
|
||||
import com.google.gerrit.extensions.api.projects.ConfigInput;
|
||||
import com.google.gerrit.extensions.api.projects.Projects.ListRequest;
|
||||
import com.google.gerrit.extensions.api.projects.Projects.ListRequest.FilterType;
|
||||
import com.google.gerrit.extensions.client.ProjectState;
|
||||
import com.google.gerrit.extensions.common.ProjectInfo;
|
||||
import com.google.gerrit.extensions.restapi.BadRequestException;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
@@ -38,6 +42,7 @@ import java.util.Map;
|
||||
import org.junit.Test;
|
||||
|
||||
@NoHttpd
|
||||
@Sandboxed
|
||||
public class ListProjectsIT extends AbstractDaemonTest {
|
||||
|
||||
@Inject private AllUsersName allUsers;
|
||||
@@ -190,6 +195,35 @@ public class ListProjectsIT extends AbstractDaemonTest {
|
||||
.inOrder();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void listWithHiddenProject() throws Exception {
|
||||
Project.NameKey hidden = createProject("project-to-hide");
|
||||
|
||||
// The project is included because it was not hidden yet
|
||||
assertThatNameList(gApi.projects().list().get())
|
||||
.containsExactly(allProjects, allUsers, project, hidden)
|
||||
.inOrder();
|
||||
|
||||
// Hide the project
|
||||
ConfigInput input = new ConfigInput();
|
||||
input.state = ProjectState.HIDDEN;
|
||||
ConfigInfo info = gApi.projects().name(hidden.get()).config(input);
|
||||
assertThat(info.state).isEqualTo(input.state);
|
||||
|
||||
// Project is still accessible directly
|
||||
gApi.projects().name(hidden.get()).get();
|
||||
|
||||
// But is not included in the list
|
||||
assertThatNameList(gApi.projects().list().get())
|
||||
.containsExactly(allProjects, allUsers, project)
|
||||
.inOrder();
|
||||
|
||||
// ALL filter applies to type, and doesn't include hidden state
|
||||
assertThatNameList(gApi.projects().list().withType(FilterType.ALL).get())
|
||||
.containsExactly(allProjects, allUsers, project)
|
||||
.inOrder();
|
||||
}
|
||||
|
||||
private void assertBadRequest(ListRequest req) throws Exception {
|
||||
try {
|
||||
req.get();
|
||||
|
Reference in New Issue
Block a user