use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginSqlMapDaoIntegrationTest method shouldReturnCorrectPluginIfPluginIdExists.
@Test
public void shouldReturnCorrectPluginIfPluginIdExists() throws Exception {
Plugin plugin = savePlugin("plugin-id");
assertThat(goCache.get(pluginSqlMapDao.cacheKeyForPluginSettings("plugin-id")), is(nullValue()));
Plugin pluginInDB = pluginSqlMapDao.findPlugin("plugin-id");
assertThat(pluginInDB, is(plugin));
assertThat(goCache.get(pluginSqlMapDao.cacheKeyForPluginSettings("plugin-id")), is(pluginInDB));
}
use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginServiceTest method setUp.
@Before
public void setUp() {
initMocks(this);
Map<String, String> configuration = new HashMap<>();
configuration.put("p1-k1", "v1");
configuration.put("p1-k2", "");
configuration.put("p1-k3", null);
Plugin plugin = new Plugin("plugin-id-1", toJSON(configuration));
plugin.setId(1L);
when(pluginDao.findPlugin("plugin-id-1")).thenReturn(plugin);
when(pluginDao.findPlugin("plugin-id-2")).thenReturn(new NullPlugin());
PluginSettingsConfiguration configuration1 = new PluginSettingsConfiguration();
configuration1.add(new PluginSettingsProperty("p1-k1"));
configuration1.add(new PluginSettingsProperty("p1-k2"));
configuration1.add(new PluginSettingsProperty("p1-k3"));
PluginSettingsMetadataStore.getInstance().addMetadataFor("plugin-id-1", PluginConstants.CONFIG_REPO_EXTENSION, configuration1, "template-1");
PluginSettingsConfiguration configuration2 = new PluginSettingsConfiguration();
configuration2.add(new PluginSettingsProperty("p2-k1"));
configuration2.add(new PluginSettingsProperty("p2-k2"));
configuration2.add(new PluginSettingsProperty("p2-k3"));
PluginSettingsMetadataStore.getInstance().addMetadataFor("plugin-id-2", PluginConstants.CONFIG_REPO_EXTENSION, configuration2, "template-2");
when(packageRepositoryExtension.extensionName()).thenReturn(PluginConstants.PACKAGE_MATERIAL_EXTENSION);
when(scmExtension.extensionName()).thenReturn(PluginConstants.SCM_EXTENSION);
when(taskExtension.extensionName()).thenReturn(PluginConstants.PLUGGABLE_TASK_EXTENSION);
when(notificationExtension.extensionName()).thenReturn(PluginConstants.NOTIFICATION_EXTENSION);
when(configRepoExtension.extensionName()).thenReturn(PluginConstants.CONFIG_REPO_EXTENSION);
extensions = Arrays.asList(packageRepositoryExtension, scmExtension, taskExtension, notificationExtension, configRepoExtension);
pluginService = new PluginService(extensions, pluginDao, securityService, entityHashingService, defaultPluginInfoFinder);
}
use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginServiceTest method shouldNotifyPluginThatPluginSettingsHaveChangedAfterSaving.
@Test
public void shouldNotifyPluginThatPluginSettingsHaveChangedAfterSaving() {
String pluginId = "plugin-id-2";
Map<String, String> parameterMap = m("p2-k1", "v1");
PluginSettings pluginSettings = new PluginSettings(pluginId).populateSettingsMap(parameterMap);
Username currentUser = new Username("admin");
when(securityService.isUserAdmin(currentUser)).thenReturn(true);
when(configRepoExtension.canHandlePlugin(pluginId)).thenReturn(true);
when(configRepoExtension.validatePluginSettings(eq(pluginId), any(PluginSettingsConfiguration.class))).thenReturn(new ValidationResult());
pluginService.savePluginSettings(currentUser, new HttpLocalizedOperationResult(), pluginSettings);
Plugin plugin = new Plugin(pluginId, toJSON(parameterMap));
verify(pluginDao).saveOrUpdate(plugin);
verify(configRepoExtension).notifyPluginSettingsChange(pluginId, pluginSettings.getSettingsAsKeyValuePair());
}
use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginServiceTest method shouldUpdatePluginSettingsToDBIfItExists.
@Test
public void shouldUpdatePluginSettingsToDBIfItExists() {
Map<String, String> parameterMap = new HashMap<>();
parameterMap.put("p1-k1", "v1");
parameterMap.put("p1-k2", "v2");
parameterMap.put("p1-k3", null);
PluginSettings pluginSettings = new PluginSettings("plugin-id-1");
pluginSettings.populateSettingsMap(parameterMap);
pluginService.savePluginSettingsFor(pluginSettings);
Plugin plugin = new Plugin("plugin-id-1", toJSON(parameterMap));
plugin.setId(1L);
verify(pluginDao).saveOrUpdate(plugin);
}
use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginSettingsRequestProcessorTest method setUp.
@Before
public void setUp() {
initMocks(this);
Map<String, String> configuration = new HashMap<>();
configuration.put("k1", "v1");
configuration.put("k2", "v2");
when(pluginSqlMapDao.findPlugin("plugin-id-1")).thenReturn(new Plugin("plugin-id-1", JsonHelper.toJsonString(configuration)));
when(pluginSqlMapDao.findPlugin("plugin-id-2")).thenReturn(new NullPlugin());
when(pluginExtension.extensionName()).thenReturn("extension1");
processor = new PluginSettingsRequestProcessor(applicationAccessor, pluginSqlMapDao, singletonList(pluginExtension));
}
Aggregations