ProjectApi: Add methods to get and set the project config
Change-Id: Ia38e5790a256bacbaa34c11dfa22f64d8212e947
This commit is contained in:
@@ -21,8 +21,11 @@ import com.google.gerrit.acceptance.AbstractDaemonTest;
|
||||
import com.google.gerrit.acceptance.NoHttpd;
|
||||
import com.google.gerrit.common.data.Permission;
|
||||
import com.google.gerrit.extensions.api.projects.BranchInput;
|
||||
import com.google.gerrit.extensions.api.projects.ConfigInfo;
|
||||
import com.google.gerrit.extensions.api.projects.ConfigInput;
|
||||
import com.google.gerrit.extensions.api.projects.DescriptionInput;
|
||||
import com.google.gerrit.extensions.api.projects.ProjectInput;
|
||||
import com.google.gerrit.extensions.client.SubmitType;
|
||||
import com.google.gerrit.extensions.restapi.BadRequestException;
|
||||
import com.google.gerrit.extensions.restapi.ResourceConflictException;
|
||||
|
||||
@@ -105,4 +108,22 @@ public class ProjectIT extends AbstractDaemonTest {
|
||||
eventRecorder.assertRefUpdatedEvents(project.get(), "refs/meta/config",
|
||||
initialHead, updatedHead);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void config() throws Exception {
|
||||
RevCommit initialHead = getRemoteHead(project, "refs/meta/config");
|
||||
|
||||
ConfigInfo info = gApi.projects().name(project.get()).config();
|
||||
assertThat(info.submitType).isEqualTo(SubmitType.MERGE_IF_NECESSARY);
|
||||
ConfigInput input = new ConfigInput();
|
||||
input.submitType = SubmitType.CHERRY_PICK;
|
||||
info = gApi.projects().name(project.get()).config(input);
|
||||
assertThat(info.submitType).isEqualTo(SubmitType.CHERRY_PICK);
|
||||
info = gApi.projects().name(project.get()).config();
|
||||
assertThat(info.submitType).isEqualTo(SubmitType.CHERRY_PICK);
|
||||
|
||||
RevCommit updatedHead = getRemoteHead(project, "refs/meta/config");
|
||||
eventRecorder.assertRefUpdatedEvents(project.get(), "refs/meta/config",
|
||||
initialHead, updatedHead);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,9 @@ public interface ProjectApi {
|
||||
ProjectAccessInfo access() throws RestApiException;
|
||||
ProjectAccessInfo access(ProjectAccessInput p) throws RestApiException;
|
||||
|
||||
ConfigInfo config() throws RestApiException;
|
||||
ConfigInfo config(ConfigInput in) throws RestApiException;
|
||||
|
||||
ListRefsRequest<BranchInfo> branches();
|
||||
ListRefsRequest<TagInfo> tags();
|
||||
|
||||
@@ -139,6 +142,16 @@ public interface ProjectApi {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigInfo config() throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigInfo config(ConfigInput in) throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectAccessInfo access(ProjectAccessInput p)
|
||||
throws RestApiException {
|
||||
|
||||
@@ -21,6 +21,8 @@ import com.google.gerrit.extensions.api.access.ProjectAccessInput;
|
||||
import com.google.gerrit.extensions.api.projects.BranchApi;
|
||||
import com.google.gerrit.extensions.api.projects.BranchInfo;
|
||||
import com.google.gerrit.extensions.api.projects.ChildProjectApi;
|
||||
import com.google.gerrit.extensions.api.projects.ConfigInfo;
|
||||
import com.google.gerrit.extensions.api.projects.ConfigInput;
|
||||
import com.google.gerrit.extensions.api.projects.DescriptionInput;
|
||||
import com.google.gerrit.extensions.api.projects.ProjectApi;
|
||||
import com.google.gerrit.extensions.api.projects.ProjectInput;
|
||||
@@ -37,6 +39,7 @@ import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.project.ChildProjectsCollection;
|
||||
import com.google.gerrit.server.project.CreateProject;
|
||||
import com.google.gerrit.server.project.GetAccess;
|
||||
import com.google.gerrit.server.project.GetConfig;
|
||||
import com.google.gerrit.server.project.GetDescription;
|
||||
import com.google.gerrit.server.project.ListBranches;
|
||||
import com.google.gerrit.server.project.ListChildProjects;
|
||||
@@ -44,6 +47,7 @@ import com.google.gerrit.server.project.ListTags;
|
||||
import com.google.gerrit.server.project.ProjectJson;
|
||||
import com.google.gerrit.server.project.ProjectResource;
|
||||
import com.google.gerrit.server.project.ProjectsCollection;
|
||||
import com.google.gerrit.server.project.PutConfig;
|
||||
import com.google.gerrit.server.project.PutDescription;
|
||||
import com.google.gerrit.server.project.SetAccess;
|
||||
import com.google.inject.assistedinject.Assisted;
|
||||
@@ -74,9 +78,11 @@ public class ProjectApiImpl implements ProjectApi {
|
||||
private final BranchApiImpl.Factory branchApi;
|
||||
private final TagApiImpl.Factory tagApi;
|
||||
private final GetAccess getAccess;
|
||||
private final SetAccess setAccess;
|
||||
private final GetConfig getConfig;
|
||||
private final PutConfig putConfig;
|
||||
private final ListBranches listBranches;
|
||||
private final ListTags listTags;
|
||||
private final SetAccess setAccess;
|
||||
|
||||
@AssistedInject
|
||||
ProjectApiImpl(CurrentUser user,
|
||||
@@ -92,13 +98,15 @@ public class ProjectApiImpl implements ProjectApi {
|
||||
TagApiImpl.Factory tagApiFactory,
|
||||
GetAccess getAccess,
|
||||
SetAccess setAccess,
|
||||
GetConfig getConfig,
|
||||
PutConfig putConfig,
|
||||
ListBranches listBranches,
|
||||
ListTags listTags,
|
||||
@Assisted ProjectResource project) {
|
||||
this(user, createProjectFactory, projectApi, projects, getDescription,
|
||||
putDescription, childApi, children, projectJson, branchApiFactory,
|
||||
tagApiFactory, getAccess, setAccess, listBranches, listTags,
|
||||
project, null);
|
||||
tagApiFactory, getAccess, setAccess, getConfig, putConfig, listBranches,
|
||||
listTags, project, null);
|
||||
}
|
||||
|
||||
@AssistedInject
|
||||
@@ -115,13 +123,15 @@ public class ProjectApiImpl implements ProjectApi {
|
||||
TagApiImpl.Factory tagApiFactory,
|
||||
GetAccess getAccess,
|
||||
SetAccess setAccess,
|
||||
GetConfig getConfig,
|
||||
PutConfig putConfig,
|
||||
ListBranches listBranches,
|
||||
ListTags listTags,
|
||||
@Assisted String name) {
|
||||
this(user, createProjectFactory, projectApi, projects, getDescription,
|
||||
putDescription, childApi, children, projectJson, branchApiFactory,
|
||||
tagApiFactory, getAccess, setAccess, listBranches, listTags,
|
||||
null, name);
|
||||
tagApiFactory, getAccess, setAccess, getConfig, putConfig, listBranches,
|
||||
listTags, null, name);
|
||||
}
|
||||
|
||||
private ProjectApiImpl(CurrentUser user,
|
||||
@@ -137,6 +147,8 @@ public class ProjectApiImpl implements ProjectApi {
|
||||
TagApiImpl.Factory tagApiFactory,
|
||||
GetAccess getAccess,
|
||||
SetAccess setAccess,
|
||||
GetConfig getConfig,
|
||||
PutConfig putConfig,
|
||||
ListBranches listBranches,
|
||||
ListTags listTags,
|
||||
ProjectResource project,
|
||||
@@ -156,6 +168,8 @@ public class ProjectApiImpl implements ProjectApi {
|
||||
this.tagApi = tagApiFactory;
|
||||
this.getAccess = getAccess;
|
||||
this.setAccess = setAccess;
|
||||
this.getConfig = getConfig;
|
||||
this.putConfig = putConfig;
|
||||
this.listBranches = listBranches;
|
||||
this.listTags = listTags;
|
||||
}
|
||||
@@ -225,6 +239,16 @@ public class ProjectApiImpl implements ProjectApi {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigInfo config() throws RestApiException {
|
||||
return getConfig.apply(checkExists());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigInfo config(ConfigInput in) throws RestApiException {
|
||||
return putConfig.apply(checkExists(), in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListRefsRequest<BranchInfo> branches() {
|
||||
return new ListRefsRequest<BranchInfo>() {
|
||||
|
||||
Reference in New Issue
Block a user