use of com.thoughtworks.go.server.domain.PluginSettings in project gocd by gocd.
the class PluginServiceTest method shouldCheckForStaleRequestBeforeUpdatingPluginSettings.
@Test
public void shouldCheckForStaleRequestBeforeUpdatingPluginSettings() {
PluginSettings pluginSettings = new PluginSettings("plugin-id-1");
Username currentUser = new Username("admin");
HttpLocalizedOperationResult result = new HttpLocalizedOperationResult();
String md5 = "md5";
when(entityHashingService.md5ForEntity(pluginSettings)).thenReturn("foo");
pluginService.updatePluginSettings(currentUser, result, pluginSettings, md5);
assertThat(result.httpCode(), is(412));
assertThat(result.toString(), containsString("STALE_RESOURCE_CONFIG"));
}
use of com.thoughtworks.go.server.domain.PluginSettings 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.server.domain.PluginSettings in project gocd by gocd.
the class PluginServiceTest method shouldNotSavePluginSettingsIfPluginReturnsValidationErrors.
@Test
public void shouldNotSavePluginSettingsIfPluginReturnsValidationErrors() {
PluginSettingsMetadataStore.getInstance().addMetadataFor("some-plugin", PluginConstants.CONFIG_REPO_EXTENSION, null, null);
PluginSettings pluginSettings = new PluginSettings("some-plugin");
Username currentUser = new Username("admin");
HttpLocalizedOperationResult result = new HttpLocalizedOperationResult();
when(securityService.isUserAdmin(currentUser)).thenReturn(true);
when(configRepoExtension.canHandlePlugin("some-plugin")).thenReturn(true);
ValidationResult validationResult = new ValidationResult();
validationResult.addError(new ValidationError("foo", "foo is a required field"));
when(configRepoExtension.validatePluginSettings(eq("some-plugin"), any(PluginSettingsConfiguration.class))).thenReturn(validationResult);
pluginService.savePluginSettings(currentUser, result, pluginSettings);
assertThat(result.httpCode(), is(422));
assertThat(pluginSettings.errors().size(), is(1));
assertThat(pluginSettings.getErrorFor("foo"), is(Arrays.asList("foo is a required field")));
}
use of com.thoughtworks.go.server.domain.PluginSettings in project gocd by gocd.
the class PluginServiceTest method shouldCallValidationOnPlugin.
@Test
public void shouldCallValidationOnPlugin() throws Exception {
for (GoPluginExtension extension : extensions) {
String pluginId = UUID.randomUUID().toString();
PluginSettingsMetadataStore.getInstance().addMetadataFor(pluginId, extension.extensionName(), null, null);
when(extension.canHandlePlugin(pluginId)).thenReturn(true);
when(extension.validatePluginSettings(eq(pluginId), any(PluginSettingsConfiguration.class))).thenReturn(new ValidationResult());
PluginSettings pluginSettings = new PluginSettings(pluginId);
pluginService.validatePluginSettingsFor(pluginSettings);
verify(extension).validatePluginSettings(eq(pluginId), any(PluginSettingsConfiguration.class));
}
}
use of com.thoughtworks.go.server.domain.PluginSettings in project gocd by gocd.
the class PluginServiceTest method shouldTalkToPluginForPluginSettingsValidation_ConfigRepo.
@Test
public void shouldTalkToPluginForPluginSettingsValidation_ConfigRepo() {
PluginSettingsMetadataStore.getInstance().addMetadataFor("plugin-id-4", PluginConstants.CONFIG_REPO_EXTENSION, null, null);
when(configRepoExtension.isConfigRepoPlugin("plugin-id-4")).thenReturn(true);
when(configRepoExtension.canHandlePlugin("plugin-id-4")).thenReturn(true);
when(configRepoExtension.validatePluginSettings(eq("plugin-id-4"), any(PluginSettingsConfiguration.class))).thenReturn(new ValidationResult());
PluginSettings pluginSettings = new PluginSettings("plugin-id-4");
pluginService.validatePluginSettingsFor(pluginSettings);
verify(configRepoExtension).validatePluginSettings(eq("plugin-id-4"), any(PluginSettingsConfiguration.class));
}
Aggregations