@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"))));
}