Adapt to PluginConfig and ProjectConfig changes in master
ProjectCreationValidator: adapt to PluginConfig.getGroupReference now
returning an Optional.
ProjectCreationValidatorIT: adapt to ProjectConfig's new
updatePluginConfig method.
Change-Id: I0cf0d305d184fd398adfb84c13742d72bdbab870
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 bff257e..2c50e81 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
@@ -41,6 +41,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
+import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -235,18 +236,18 @@
private boolean isInDelegatingGroup(Project.NameKey parentCtrl) {
try {
- GroupReference delegateProjectCreationTo =
+ Optional<GroupReference> groupReference =
cfg.getFromProjectConfigWithInheritance(parentCtrl, pluginName)
.getGroupReference(DELEGATE_PROJECT_CREATION_TO);
- if (delegateProjectCreationTo == null) {
- return false;
+ if (groupReference.isPresent()) {
+ GroupReference delegateProjectCreationTo = groupReference.get();
+ log.debug("delegateProjectCreationTo: {}", delegateProjectCreationTo);
+ GroupMembership effectiveGroups = self.get().getEffectiveGroups();
+ return effectiveGroups.contains(delegateProjectCreationTo.getUUID());
}
- log.debug("delegateProjectCreationTo: {}", delegateProjectCreationTo);
- GroupMembership effectiveGroups = self.get().getEffectiveGroups();
- return effectiveGroups.contains(delegateProjectCreationTo.getUUID());
} catch (NoSuchProjectException e) {
log.error("isInDelegatingGroup with error ({}): {}", e.getClass().getName(), e.getMessage());
- return false;
}
+ return false;
}
}
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 7e87c92..226dc1b 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
@@ -230,10 +230,12 @@
try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) {
ProjectConfig cfg = cfgUpdate.getConfig();
String gId = gApi.groups().id(delegatingGroup).get().id;
- cfg.getPluginConfig(PLUGIN_NAME)
- .setGroupReference(
- ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
- GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup));
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setGroupReference(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
+ GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup)));
cfgUpdate.save();
}
userRestSession.put("/projects/" + Url.encode(parent + "/childProject"), in).assertCreated();
@@ -253,10 +255,12 @@
try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) {
ProjectConfig cfg = cfgUpdate.getConfig();
String gId = gApi.groups().id(delegatingGroup).get().id;
- cfg.getPluginConfig(PLUGIN_NAME)
- .setGroupReference(
- ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
- GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup));
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setGroupReference(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
+ GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup)));
cfgUpdate.save();
}
@@ -304,12 +308,17 @@
try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) {
ProjectConfig cfg = cfgUpdate.getConfig();
String gId = gApi.groups().id(delegatingGroup).get().id;
- cfg.getPluginConfig(PLUGIN_NAME)
- .setGroupReference(
- ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
- GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup));
- cfg.getPluginConfig(PLUGIN_NAME)
- .setBoolean(ProjectCreationValidator.DISABLE_GRANTING_PROJECT_OWNERSHIP, true);
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setGroupReference(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
+ GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup)));
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setBoolean(
+ ProjectCreationValidator.DISABLE_GRANTING_PROJECT_OWNERSHIP, true));
cfgUpdate.save();
}
@@ -346,8 +355,11 @@
Project.NameKey parentNameKey = Project.nameKey(parent);
try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) {
ProjectConfig cfg = cfgUpdate.getConfig();
- cfg.getPluginConfig(PLUGIN_NAME)
- .setString(ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO, delegatingGroup);
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setString(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO, delegatingGroup));
cfgUpdate.save();
}
userRestSession.put("/projects/" + Url.encode(parent + "/childProject"), in).assertConflict();
@@ -384,10 +396,12 @@
try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) {
ProjectConfig cfg = cfgUpdate.getConfig();
String gId = gApi.groups().id(delegatingGroup).get().id;
- cfg.getPluginConfig(PLUGIN_NAME)
- .setGroupReference(
- ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
- GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup));
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setGroupReference(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
+ GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup)));
cfgUpdate.save();
}
userRestSession.put("/projects/" + Url.encode(parent + "/childProject"), in).assertCreated();
@@ -419,10 +433,12 @@
try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) {
ProjectConfig cfg = cfgUpdate.getConfig();
String gId = gApi.groups().id(delegatingGroup).get().id;
- cfg.getPluginConfig(PLUGIN_NAME)
- .setGroupReference(
- ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
- GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup));
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setGroupReference(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
+ GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup)));
cfgUpdate.save();
}
userRestSession.put("/projects/" + Url.encode(parent + "/childProject"), in).assertConflict();
@@ -452,10 +468,12 @@
try (ProjectConfigUpdate cfgUpdate = updateProject(parentNameKey)) {
ProjectConfig cfg = cfgUpdate.getConfig();
String gId = "fake-gId";
- cfg.getPluginConfig(PLUGIN_NAME)
- .setGroupReference(
- ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
- GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup));
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setGroupReference(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
+ GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup)));
cfgUpdate.save();
}
userRestSession.put("/projects/" + Url.encode(parent + "/childProject"), in).assertConflict();
@@ -490,10 +508,12 @@
ProjectConfig cfg = cfgUpdate.getConfig();
String gId = gApi.groups().id(delegatingGroup).get().id;
- cfg.getPluginConfig("project-group-structure")
- .setGroupReference(
- ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
- GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup));
+ cfg.updatePluginConfig(
+ PLUGIN_NAME,
+ pluginCfg ->
+ pluginCfg.setGroupReference(
+ ProjectCreationValidator.DELEGATE_PROJECT_CREATION_TO,
+ GroupReference.create(AccountGroup.UUID.parse(gId), delegatingGroup)));
cfgUpdate.save();
String newDelegatingGroup = name("groupC");