Merge branch 'stable-3.0' into stable-3.1 * stable-3.0: Bump Bazel version to 3.4.1 Change-Id: I64da8805b93f09d0a9582530c709e13f8d2541bb
diff --git a/WORKSPACE b/WORKSPACE index 46d61af..dff60ca 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -3,7 +3,7 @@ load("//:bazlets.bzl", "load_bazlets") load_bazlets( - commit = "7a9ae377b519934c87184cc05845663ed708b69c", + commit = "b6cb89690a5e06261932eb30c95fd8db34a7943a", #local_path = "/home/<user>/projects/bazlets", )
diff --git a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRights.java b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRights.java index 2b7e337..7f0942b 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRights.java +++ b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRights.java
@@ -17,11 +17,11 @@ import com.google.gerrit.common.data.AccessSection; import com.google.gerrit.common.data.Permission; import com.google.gerrit.common.data.PermissionRule; +import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.entities.Project; import com.google.gerrit.exceptions.InvalidNameException; import com.google.gerrit.extensions.annotations.PluginData; import com.google.gerrit.extensions.events.NewProjectCreatedListener; -import com.google.gerrit.reviewdb.client.AccountGroup; -import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.account.GroupCache; import com.google.gerrit.server.git.meta.MetaDataUpdate; import com.google.gerrit.server.group.InternalGroup; @@ -191,7 +191,7 @@ // we need to check if group exist if if it does, get its // uuid. Optional<InternalGroup> group = - groupCache.get(new AccountGroup.NameKey(rule.getGroup().getName())); + groupCache.get(AccountGroup.nameKey(rule.getGroup().getName())); if (!group.isPresent()) { log.error("Group {} not found", rule.getGroup().getName());
diff --git a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java index f764b9e..331c968 100644 --- a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java +++ b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
@@ -17,6 +17,8 @@ import com.google.common.base.Charsets; import com.google.common.hash.Hashing; import com.google.gerrit.common.data.GroupReference; +import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.annotations.PluginCanonicalWebUrl; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.api.groups.Groups; @@ -24,8 +26,6 @@ import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.RestApiException; -import com.google.gerrit.reviewdb.client.AccountGroup; -import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.account.GroupMembership; import com.google.gerrit.server.config.AllProjectsNameProvider;
diff --git a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRightsIT.java b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRightsIT.java index 33a986d..5d562e0 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRightsIT.java +++ b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/DefaultAccessRightsIT.java
@@ -15,19 +15,22 @@ package com.ericsson.gerrit.plugins.projectgroupstructure; import static com.google.common.truth.Truth.assertThat; +import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.allowCapability; import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS; import com.google.gerrit.acceptance.LightweightPluginDaemonTest; import com.google.gerrit.acceptance.TestPlugin; +import com.google.gerrit.acceptance.testsuite.project.ProjectOperations; import com.google.gerrit.common.data.AccessSection; import com.google.gerrit.common.data.GlobalCapability; import com.google.gerrit.common.data.Permission; +import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.api.projects.ProjectInput; import com.google.gerrit.extensions.restapi.Url; -import com.google.gerrit.reviewdb.client.AccountGroup; -import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.project.ProjectConfig; import com.google.gerrit.server.project.ProjectState; +import com.google.inject.Inject; import java.nio.file.Files; import org.junit.Before; import org.junit.Test; @@ -37,6 +40,8 @@ sysModule = "com.ericsson.gerrit.plugins.projectgroupstructure.Module") public class DefaultAccessRightsIT extends LightweightPluginDaemonTest { + @Inject private ProjectOperations projectOperations; + @Override @Before public void setUpTestPlugin() throws Exception { @@ -60,8 +65,16 @@ super.setUpTestPlugin(); // These access rights are mandatory configuration for this plugin as // documented in config.md - allowGlobalCapabilities(REGISTERED_USERS, GlobalCapability.CREATE_GROUP); - allowGlobalCapabilities(REGISTERED_USERS, GlobalCapability.CREATE_PROJECT); + projectOperations + .project(allProjects) + .forUpdate() + .add(allowCapability(GlobalCapability.CREATE_GROUP).group(REGISTERED_USERS)) + .update(); + projectOperations + .project(allProjects) + .forUpdate() + .add(allowCapability(GlobalCapability.CREATE_PROJECT).group(REGISTERED_USERS)) + .update(); } @Test @@ -71,7 +84,7 @@ String projectName = name("someProject"); userRestSession.put("/projects/" + projectName, in).assertCreated(); - ProjectState projectState = projectCache.get(new Project.NameKey(projectName)); + ProjectState projectState = projectCache.get(Project.nameKey(projectName)); AccountGroup.UUID ownerUUID = projectState.getOwners().iterator().next(); ProjectConfig projectConfig = projectState.getConfig(); @@ -126,11 +139,7 @@ adminRestSession.put("/projects/" + Url.encode(projectName), in).assertCreated(); assertThat( - projectCache - .get(new Project.NameKey(projectName)) - .getConfig() - .getAccessSections() - .size()) + projectCache.get(Project.nameKey(projectName)).getConfig().getAccessSections().size()) .isEqualTo(0); } }
diff --git a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java index f390a30..b190c59 100644 --- a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java +++ b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
@@ -15,6 +15,7 @@ package com.ericsson.gerrit.plugins.projectgroupstructure; import static com.google.common.truth.Truth.assertThat; +import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.allowCapability; import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS; import com.google.common.base.Charsets; @@ -23,15 +24,17 @@ import com.google.gerrit.acceptance.LightweightPluginDaemonTest; import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.acceptance.TestPlugin; +import com.google.gerrit.acceptance.testsuite.project.ProjectOperations; import com.google.gerrit.common.data.GlobalCapability; import com.google.gerrit.common.data.GroupReference; +import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.api.groups.GroupApi; import com.google.gerrit.extensions.api.projects.ProjectInput; import com.google.gerrit.extensions.restapi.Url; -import com.google.gerrit.reviewdb.client.AccountGroup; -import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.project.ProjectConfig; import com.google.gerrit.server.project.ProjectState; +import com.google.inject.Inject; import org.junit.Before; import org.junit.Test; @@ -40,6 +43,8 @@ sysModule = "com.ericsson.gerrit.plugins.projectgroupstructure.Module") public class ProjectCreationValidatorIT extends LightweightPluginDaemonTest { + @Inject private ProjectOperations projectOperations; + private static final String PLUGIN_NAME = "project-group-structure"; @Override @@ -48,8 +53,16 @@ super.setUpTestPlugin(); // These access rights are mandatory configuration for this plugin as // documented in config.md - allowGlobalCapabilities(REGISTERED_USERS, GlobalCapability.CREATE_GROUP); - allowGlobalCapabilities(REGISTERED_USERS, GlobalCapability.CREATE_PROJECT); + projectOperations + .project(allProjects) + .forUpdate() + .add(allowCapability(GlobalCapability.CREATE_GROUP).group(REGISTERED_USERS)) + .update(); + projectOperations + .project(allProjects) + .forUpdate() + .add(allowCapability(GlobalCapability.CREATE_PROJECT).group(REGISTERED_USERS)) + .update(); } @Test @@ -159,18 +172,18 @@ ProjectInput in = new ProjectInput(); in.permissionsOnly = true; userRestSession.put("/projects/" + rootProject, in).assertCreated(); - ProjectState projectState = projectCache.get(new Project.NameKey(rootProject)); + ProjectState projectState = projectCache.get(Project.nameKey(rootProject)); assertThat(projectState.getOwners().size()).isEqualTo(1); assertThat(projectState.getOwners()) .contains( - groupCache.get(new AccountGroup.NameKey(rootProject + "-admins")).get().getGroupUUID()); + groupCache.get(AccountGroup.nameKey(rootProject + "-admins")).get().getGroupUUID()); // case when <project-name>-admins group already exists rootProject = name("rootProject2"); String existingGroupName = rootProject + "-admins"; gApi.groups().create(existingGroupName); userRestSession.put("/projects/" + rootProject, in).assertCreated(); - projectState = projectCache.get(new Project.NameKey(rootProject)); + projectState = projectCache.get(Project.nameKey(rootProject)); assertThat(projectState.getOwners().size()).isEqualTo(1); String expectedOwnerGroup = existingGroupName @@ -180,8 +193,7 @@ .toString() .substring(0, 7); assertThat(projectState.getOwners()) - .contains( - groupCache.get(new AccountGroup.NameKey(expectedOwnerGroup)).get().getGroupUUID()); + .contains(groupCache.get(AccountGroup.nameKey(expectedOwnerGroup)).get().getGroupUUID()); } @Test @@ -213,7 +225,7 @@ GroupApi dGroup = gApi.groups().create(delegatingGroup); dGroup.addMembers(user.username()); // the group is in the project.config - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig(); String gId = gApi.groups().id(delegatingGroup).get().id; @@ -236,7 +248,7 @@ String delegatingGroup = name("someGroup"); GroupApi dGroup = gApi.groups().create(delegatingGroup); dGroup.addMembers(user.username()); - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig(); String gId = gApi.groups().id(delegatingGroup).get().id; @@ -252,21 +264,18 @@ in.parent = parent; String childProject = parent + "/childProject"; userRestSession.put("/projects/" + Url.encode(childProject), in).assertCreated(); - ProjectState projectState = projectCache.get(new Project.NameKey(childProject)); + ProjectState projectState = projectCache.get(Project.nameKey(childProject)); assertThat(projectState.getOwners().size()).isEqualTo(1); assertThat(projectState.getOwners()) .contains( - groupCache - .get(new AccountGroup.NameKey(childProject + "-admins")) - .get() - .getGroupUUID()); + groupCache.get(AccountGroup.nameKey(childProject + "-admins")).get().getGroupUUID()); // case when <project-name>-admins group already exists String childProject2 = parent + "/childProject2"; String existingGroupName = childProject2 + "-admins"; gApi.groups().create(existingGroupName); userRestSession.put("/projects/" + Url.encode(childProject2), in).assertCreated(); - projectState = projectCache.get(new Project.NameKey(childProject2)); + projectState = projectCache.get(Project.nameKey(childProject2)); assertThat(projectState.getOwners().size()).isEqualTo(1); String expectedOwnerGroup = existingGroupName @@ -276,8 +285,7 @@ .toString() .substring(0, 7); assertThat(projectState.getOwners()) - .contains( - groupCache.get(new AccountGroup.NameKey(expectedOwnerGroup)).get().getGroupUUID()); + .contains(groupCache.get(AccountGroup.nameKey(expectedOwnerGroup)).get().getGroupUUID()); } @Test @@ -291,7 +299,7 @@ String delegatingGroup = name("someGroup"); GroupApi dGroup = gApi.groups().create(delegatingGroup); dGroup.addMembers(user.username()); - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig(); String gId = gApi.groups().id(delegatingGroup).get().id; @@ -308,7 +316,7 @@ in.parent = parent; String childProject = parent + "/childProject"; userRestSession.put("/projects/" + Url.encode(childProject), in).assertCreated(); - ProjectState projectState = projectCache.get(new Project.NameKey(childProject)); + ProjectState projectState = projectCache.get(Project.nameKey(childProject)); assertThat(projectState.getOwners().size()).isEqualTo(0); } @@ -334,7 +342,7 @@ GroupApi dGroup = gApi.groups().create(delegatingGroup); dGroup.addMembers(user.username()); // the group is in the project.config - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig(); cfg.getPluginConfig(PLUGIN_NAME) @@ -371,7 +379,7 @@ dGroup.addGroups(nestedGroup); // the group is in the project.config - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig(); String gId = gApi.groups().id(delegatingGroup).get().id; @@ -406,7 +414,7 @@ gApi.groups().create(delegatingGroup); // The user is not added to the delegated group // the group is in the project.config - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig(); String gId = gApi.groups().id(delegatingGroup).get().id; @@ -439,7 +447,7 @@ // The delegating group is not created String delegatingGroup = name("groupB"); // the group is in the project.config - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig(); String gId = "fake-gId"; @@ -474,7 +482,7 @@ GroupApi dGroup = gApi.groups().create(delegatingGroup); dGroup.addMembers(user.username()); // the group is in the project.config - Project.NameKey parentNameKey = new Project.NameKey(parent); + Project.NameKey parentNameKey = Project.nameKey(parent); try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) { ProjectConfig cfg = cfgUpdate.getConfig();