private void checkIfRepositoryContributorsIsNotSet(final ConfigGroup repoConfig, final Repository repository, final Space space) { if (repoConfig.getConfigItem("contributors") == null) { final Optional<ConfigGroup> spaceConfig = configurationService.getConfiguration(SPACE).stream().filter(s -> s.getName().equals(space.getName())).findFirst(); ConfigItem<List<Contributor>> spaceContributors = spaceConfig.get().getConfigItem("space-contributors"); if (spaceContributors != null) { spaceContributors.getValue().forEach(c -> repository.getContributors().add(c)); repoConfig.addConfigItem(configurationFactory.newConfigItem("contributors", repository.getContributors())); configurationService.updateConfiguration(repoConfig); } } }
private void mockConfigurations() { //doReturn( new ArrayList<ConfigGroup>() ).when( configurationService ).getConfiguration( any( ConfigType.class ) ); doReturn(true).when(configurationService).updateConfiguration(any(ConfigGroup.class)); doReturn(true).when(configurationService).addConfiguration(any(ConfigGroup.class)); doReturn(new ConfigGroup()).when(configurationFactory).newConfigGroup(any(ConfigType.class), anyString(), anyString()); }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public void removeGroup(final Project project, final String group) { final ConfigGroup thisProjectConfig = resourceResolver.findProjectConfig(project.getRootPath()); if (thisProjectConfig != null) { final ConfigItem<List> groups = backward.compat(thisProjectConfig).getConfigItem("security:groups"); groups.getValue().remove(group); configurationService.updateConfiguration(thisProjectConfig); } else { throw new IllegalArgumentException("Project " + project.getProjectName() + " not found"); } }
@PostConstruct public void loadOrganizationalUnits() { Collection<ConfigGroup> groups = configurationService.getConfiguration(ConfigType.ORGANIZATIONAL_UNIT); if (groups != null) { for (ConfigGroup groupConfig : groups) { // Make sure existing Organizational Units are correctly initialized with a default group id. String ouName = groupConfig.getName(); String defaultGroupId = groupConfig.getConfigItemValue("defaultGroupId"); if (defaultGroupId == null || defaultGroupId.trim().isEmpty()) { groupConfig.setConfigItem(configurationFactory.newConfigItem("defaultGroupId", getSanitizedDefaultGroupId(ouName))); configurationService.updateConfiguration(groupConfig); } OrganizationalUnit ou = organizationalUnitFactory.newOrganizationalUnit(groupConfig); registeredOrganizationalUnits.put(ou.getName(), ou); } } }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public void removeGroup(Repository repository, String group) { final ConfigGroup thisRepositoryConfig = findRepositoryConfig(repository.getAlias()); if (thisRepositoryConfig != null) { final ConfigItem<List> groups = backward.compat(thisRepositoryConfig).getConfigItem("security:groups"); groups.getValue().remove(group); configurationService.updateConfiguration(thisRepositoryConfig); configuredRepositories.update(repositoryFactory.newRepository(thisRepositoryConfig)); } else { throw new IllegalArgumentException("Repository " + repository.getAlias() + " not found"); } }
@Test public void setupUndefinedConfigurationGroupTest() { doReturn(new ArrayList<>()).when(configurationService).getConfiguration(eq(ConfigType.GLOBAL)); final ConfigType configType = ConfigType.GLOBAL; final String configGroupName = BaseAppSetup.GLOBAL_SETTINGS; final ConfigGroup configGroup = setupPredefinedGlobalConfiguration(); baseAppSetup.setupConfigurationGroup(configType, configGroupName, configGroup); verify(configurationService).addConfiguration(any(ConfigGroup.class)); verify(configurationService, never()).updateConfiguration(any(ConfigGroup.class)); }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public void addGroup(final Repository repository, final String group) { final ConfigGroup thisRepositoryConfig = findRepositoryConfig(repository.getAlias()); if (thisRepositoryConfig != null) { final ConfigItem<List> groups = backward.compat(thisRepositoryConfig).getConfigItem("security:groups"); groups.getValue().add(group); configurationService.updateConfiguration(thisRepositoryConfig); configuredRepositories.update(repositoryFactory.newRepository(thisRepositoryConfig)); } else { throw new IllegalArgumentException("Repository " + repository.getAlias() + " not found"); } }
@Test public void testContributorsWereSetOnReload() { final Map<String, List<ConfigGroup>> repoBySpace = configurationService.getConfigurationByNamespace(REPOSITORY); repoBySpace.keySet().forEach(space -> { repoBySpace.get(space).forEach(repoConfigGroup -> { if (space.equals(SPACE1.getName())) { verify(configurationService, never()).updateConfiguration(repoConfigGroup); } else { verify(repoConfigGroup).addConfigItem(contributorsArgumentCaptor.capture()); verify(configurationService).updateConfiguration(repoConfigGroup); final ConfigItem<List<Contributor>> configItem = contributorsArgumentCaptor.getValue(); assertEquals("contributors", configItem.getName()); final List<Contributor> contributors = configItem.getValue(); } }); }); } }
@Test public void testContributorsWereSetOnReload() { final Map<String, List<ConfigGroup>> repoBySpace = configurationService.getConfigurationByNamespace(REPOSITORY); repoBySpace.keySet().forEach(space -> { repoBySpace.get(space).forEach(repoConfigGroup -> { if (space.equals(SPACE1.getName())) { verify(configurationService, never()).updateConfiguration(repoConfigGroup); } else { verify(repoConfigGroup).addConfigItem(contributorsArgumentCaptor.capture()); verify(configurationService).updateConfiguration(repoConfigGroup); final ConfigItem<List<Contributor>> configItem = contributorsArgumentCaptor.getValue(); assertEquals("contributors", configItem.getName()); final List<Contributor> contributors = configItem.getValue(); } }); }); } }
@Test public void updateContributorsTest() { final Space space = new Space("alias"); doReturn(space).when(repository).getSpace(); doReturn("alias").when(repository).getAlias(); final ConfigGroup configGroup = new ConfigGroup(); configGroup.setName("alias"); configGroup.addConfigItem(configurationFactory.newConfigItem("contributors", Collections.emptyList())); doReturn(Collections.singletonList(configGroup)).when(configurationService).getConfiguration(ConfigType.REPOSITORY, "alias"); repositoryService.updateContributors(repository, Collections.singletonList(new Contributor("admin1", ContributorType.OWNER))); verify(configurationService).updateConfiguration(configGroup); } }
@Test public void updateContributorsTest() { final Space space = new Space("alias"); doReturn(space).when(repository).getSpace(); doReturn("alias").when(repository).getAlias(); final ConfigGroup configGroup = new ConfigGroup(); configGroup.setName("alias"); configGroup.addConfigItem(configurationFactory.newConfigItem("contributors", Collections.emptyList())); doReturn(Collections.singletonList(configGroup)).when(configurationService).getConfiguration(ConfigType.REPOSITORY, "alias"); repositoryService.updateContributors(repository, Collections.singletonList(new Contributor("admin1", ContributorType.OWNER))); verify(configurationService).updateConfiguration(configGroup); } }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public void addGroup(final Repository repository, final String group) { final ConfigGroup thisRepositoryConfig = findRepositoryConfig(repository.getAlias(), repository.getSpace().getName()); if (thisRepositoryConfig != null) { final ConfigItem<List> groups = backward.compat(thisRepositoryConfig).getConfigItem("security:groups"); groups.getValue().add(group); configurationService.updateConfiguration(thisRepositoryConfig); configuredRepositories.update(repository.getSpace(), repositoryFactory.newRepository(thisRepositoryConfig)); } else { throw new IllegalArgumentException("Repository " + repository.getAlias() + " not found"); } }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public void removeGroup(Repository repository, String group) { final ConfigGroup thisRepositoryConfig = findRepositoryConfig(repository.getAlias(), repository.getSpace().getName()); if (thisRepositoryConfig != null) { final ConfigItem<List> groups = backward.compat(thisRepositoryConfig).getConfigItem("security:groups"); groups.getValue().remove(group); configurationService.updateConfiguration(thisRepositoryConfig); configuredRepositories.update(repository.getSpace(), repositoryFactory.newRepository(thisRepositoryConfig)); } else { throw new IllegalArgumentException("Repository " + repository.getAlias() + " not found"); } }
@SuppressWarnings({"rawtypes"}) @Override public void addGroup(final Project project, final String group) { ConfigGroup thisProjectConfig = resourceResolver.findProjectConfig(project.getRootPath()); if (thisProjectConfig == null) { thisProjectConfig = configurationFactory.newConfigGroup(ConfigType.PROJECT, project.getRootPath().toURI(), "Project '" + project.getProjectName() + "' configuration"); thisProjectConfig.addConfigItem(configurationFactory.newConfigItem("security:groups", new ArrayList<String>())); configurationService.addConfiguration(thisProjectConfig); } if (thisProjectConfig != null) { final ConfigItem<List> groups = backward.compat(thisProjectConfig).getConfigItem("security:groups"); groups.getValue().add(group); configurationService.updateConfiguration(thisProjectConfig); } else { throw new IllegalArgumentException("Project " + project.getProjectName() + " not found"); } }
@Override public void updateContributors(final Repository repository, final List<Contributor> contributors) { final ConfigGroup thisRepositoryConfig = findRepositoryConfig(repository.getAlias(), repository.getSpace().getName()); if (thisRepositoryConfig != null) { final ConfigItem<List<Contributor>> contributorsConfigItem = thisRepositoryConfig.getConfigItem("contributors"); contributorsConfigItem.setValue(contributors); configurationService.updateConfiguration(thisRepositoryConfig); configuredRepositories.update(repository.getSpace(), repositoryFactory.newRepository(thisRepositoryConfig)); } else { throw new IllegalArgumentException("Repository " + repository.getAlias() + " not found"); } }
@Test public void updateConfigurationWithoutNamespaceTest() { final ConfigGroup config = configurationFactory.newConfigGroup(ConfigType.GLOBAL, "config", "description"); configurationService.addConfiguration(config); config.setDescription("new-description"); configurationService.updateConfiguration(config); final List<ConfigGroup> configGroups = configurationService.getConfiguration(ConfigType.GLOBAL); assertEquals(1, configGroups.size()); assertEquals("config", configGroups.get(0).getName()); assertEquals("new-description", configGroups.get(0).getDescription()); }
@Test public void updateConfigurationWithoutNamespaceTest() { final ConfigGroup config = configurationFactory.newConfigGroup(ConfigType.GLOBAL, "config", "description"); configurationService.addConfiguration(config); config.setDescription("new-description"); configurationService.updateConfiguration(config); final List<ConfigGroup> configGroups = configurationService.getConfiguration(ConfigType.GLOBAL); assertEquals(1, configGroups.size()); assertEquals("config", configGroups.get(0).getName()); assertEquals("new-description", configGroups.get(0).getDescription()); }
@Test public void updateConfigurationWithoutNamespaceTest() { final ConfigGroup config = configurationFactory.newConfigGroup(ConfigType.GLOBAL, "config", "description"); configurationService.addConfiguration(config); config.setDescription("new-description"); configurationService.updateConfiguration(config); final List<ConfigGroup> configGroups = configurationService.getConfiguration(ConfigType.GLOBAL); assertEquals(1, configGroups.size()); assertEquals("config", configGroups.get(0).getName()); assertEquals("new-description", configGroups.get(0).getDescription()); }
@Test public void updateConfigurationWithNamespaceTest() { final ConfigGroup config = configurationFactory.newConfigGroup(ConfigType.REPOSITORY, "namespace", "config", "description"); configurationService.addConfiguration(config); config.setDescription("new-description"); configurationService.updateConfiguration(config); final List<ConfigGroup> configGroups = configurationService.getConfiguration(ConfigType.REPOSITORY, "namespace"); assertEquals(1, configGroups.size()); assertEquals("config", configGroups.get(0).getName()); assertEquals("namespace", configGroups.get(0).getNamespace()); assertEquals("new-description", configGroups.get(0).getDescription()); }
@Test public void updateConfigurationWithNamespaceTest() { final ConfigGroup config = configurationFactory.newConfigGroup(ConfigType.REPOSITORY, "namespace", "config", "description"); config.addConfigItem(configurationFactory.newConfigItem("space", "namespace")); configurationService.addConfiguration(config); config.setDescription("new-description"); configurationService.updateConfiguration(config); final List<ConfigGroup> configGroups = configurationService.getConfiguration(ConfigType.REPOSITORY, "namespace"); assertEquals(1, configGroups.size()); assertEquals("config", configGroups.get(0).getName()); assertEquals("new-description", configGroups.get(0).getDescription()); }