TestProjectCreation: add owners setting

Change-Id: I3364c044338663326ab11b1f748495d50bbd9d43
This commit is contained in:
Sven Selberg
2020-10-01 07:54:13 +02:00
parent 1dcb891435
commit 2b737a9894
3 changed files with 24 additions and 1 deletions

View File

@@ -96,7 +96,7 @@ public class ProjectOperationsImpl implements ProjectOperations {
args.createEmptyCommit = projectCreation.createEmptyCommit().orElse(true);
projectCreation.parent().ifPresent(p -> args.newParent = p);
// ProjectCreator wants non-null owner IDs.
args.ownerIds = new ArrayList<>();
args.ownerIds = new ArrayList<>(projectCreation.owners());
projectCreation.submitType().ifPresent(st -> args.submitType = st);
projectCreator.createProject(args);
return Project.nameKey(name);

View File

@@ -14,8 +14,12 @@
package com.google.gerrit.acceptance.testsuite.project;
import static java.util.Objects.requireNonNull;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableSet;
import com.google.gerrit.acceptance.testsuite.ThrowingFunction;
import com.google.gerrit.entities.AccountGroup;
import com.google.gerrit.entities.Project;
import com.google.gerrit.extensions.client.SubmitType;
import java.util.Optional;
@@ -33,6 +37,8 @@ public abstract class TestProjectCreation {
public abstract Optional<SubmitType> submitType();
public abstract ImmutableSet<AccountGroup.UUID> owners();
abstract ThrowingFunction<TestProjectCreation, Project.NameKey> projectCreator();
public static Builder builder(
@@ -57,6 +63,13 @@ public abstract class TestProjectCreation {
return createEmptyCommit(false);
}
public TestProjectCreation.Builder addOwner(AccountGroup.UUID owner) {
ownersBuilder().add(requireNonNull(owner, "owner"));
return this;
}
abstract ImmutableSet.Builder<AccountGroup.UUID> ownersBuilder();
abstract TestProjectCreation.Builder projectCreator(
ThrowingFunction<TestProjectCreation, Project.NameKey> projectCreator);

View File

@@ -38,8 +38,10 @@ import static java.util.stream.Collectors.toList;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.testsuite.group.GroupOperations;
import com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.TestPermission;
import com.google.gerrit.common.data.Permission;
import com.google.gerrit.entities.AccountGroup;
import com.google.gerrit.entities.Project;
import com.google.gerrit.entities.RefNames;
import com.google.gerrit.extensions.api.projects.BranchInfo;
@@ -57,6 +59,7 @@ import org.junit.Test;
public class ProjectOperationsImplTest extends AbstractDaemonTest {
@Inject private ProjectOperations projectOperations;
@Inject private GroupOperations groupsOperations;
@Test
public void defaultName() throws Exception {
@@ -91,6 +94,13 @@ public class ProjectOperationsImplTest extends AbstractDaemonTest {
assertThat(head).isEqualTo(RefNames.REFS_CONFIG);
}
@Test
public void createWithOwners() throws Exception {
AccountGroup.UUID uuid = groupsOperations.newGroup().create();
Project.NameKey key = projectOperations.newProject().addOwner(uuid).create();
assertPermissions(key, groupRef(uuid), "refs/*", false, Permission.OWNER);
}
@Test
public void getProjectConfig() throws Exception {
Project.NameKey key = projectOperations.newProject().create();