@Test public void shouldThrowAnExceptionWhenRepoConfigProvidedByPluginIsNull() { GoPluginDescriptor descriptor = new GoPluginDescriptor("plugin1", null, null, null, null, false); when(extension.getRepositoryConfiguration("plugin1")).thenReturn(null); thrown.expectMessage("Plugin[plugin1] returned null repository configuration"); new PackageMaterialPluginInfoBuilder(extension).pluginInfoFor(descriptor); new PackageMaterialPluginInfoBuilder(extension).pluginInfoFor(descriptor); }
public PackageMaterialPluginInfo pluginInfoFor(GoPluginDescriptor descriptor) { RepositoryConfiguration repositoryConfiguration = extension.getRepositoryConfiguration(descriptor.id()); com.thoughtworks.go.plugin.api.material.packagerepository.PackageConfiguration packageConfiguration = extension.getPackageConfiguration(descriptor.id()); if (repositoryConfiguration == null) { throw new RuntimeException(format("Plugin[%s] returned null repository configuration", descriptor.id())); } if (packageConfiguration == null) { throw new RuntimeException(format("Plugin[%s] returned null package configuration", descriptor.id())); } PluggableInstanceSettings pluginSettingsAndView = getPluginSettingsAndView(descriptor, extension); return new PackageMaterialPluginInfo(descriptor, new PluggableInstanceSettings(packageRepoConfigurations(repositoryConfiguration)), new PluggableInstanceSettings(packageRepoConfigurations(packageConfiguration)), pluginSettingsAndView); }
private List<PluginConfiguration> packageRepoConfigurations(Configuration repositoryConfiguration) { List<? extends Property> list = repositoryConfiguration.list(); return list.stream().map((Function<Property, PluginConfiguration>) property -> new PluginConfiguration(property.getKey(), toMetadata(property))).collect(Collectors.toList()); }
@Test public void shouldThrowAnExceptionWhenPackageConfigProvidedByPluginIsNull() { GoPluginDescriptor descriptor = new GoPluginDescriptor("plugin1", null, null, null, null, false); when(extension.getPackageConfiguration("plugin1")).thenReturn(null); thrown.expectMessage("Plugin[plugin1] returned null package configuration"); new PackageMaterialPluginInfoBuilder(extension).pluginInfoFor(descriptor); new PackageMaterialPluginInfoBuilder(extension).pluginInfoFor(descriptor); } }
@Test public void shouldBuildPluginInfo() throws Exception { GoPluginDescriptor descriptor = new GoPluginDescriptor("plugin1", null, null, null, null, false); PackageMaterialPluginInfo pluginInfo = new PackageMaterialPluginInfoBuilder(extension).pluginInfoFor(descriptor); List<PluginConfiguration> packageSettings = Arrays.asList( new PluginConfiguration("username", new PackageMaterialMetadata(true, false, false, "foo", 1)), new PluginConfiguration("password", new PackageMaterialMetadata(true, true, true, "", 2)) ); List<PluginConfiguration> repoSettings = Arrays.asList( new PluginConfiguration("foo", new PackageMaterialMetadata(true, false, true, "", 1)), new PluginConfiguration("bar", new PackageMaterialMetadata(true, true, true, "", 2)) ); List<PluginConfiguration> pluginSettings = Arrays.asList(new PluginConfiguration("k1", new Metadata(true, false))); assertThat(pluginInfo.getDescriptor(), is(descriptor)); assertThat(pluginInfo.getExtensionName(), is("package-repository")); assertThat(pluginInfo.getPackageSettings(), is(new PluggableInstanceSettings(packageSettings, null))); assertThat(pluginInfo.getRepositorySettings(), is(new PluggableInstanceSettings(repoSettings, null))); assertThat(pluginInfo.getPluginSettings(), is(new PluggableInstanceSettings(pluginSettings, new PluginView("some-html")))); }