use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginSettingsRequestProcessorTest method shouldGetPluginSettingsForPluginThatExistsInDB.
@Test
public void shouldGetPluginSettingsForPluginThatExistsInDB() {
String PLUGIN_ID = "plugin-foo-id";
when(pluginDescriptor.id()).thenReturn(PLUGIN_ID);
when(pluginSqlMapDao.findPlugin(PLUGIN_ID)).thenReturn(new Plugin(PLUGIN_ID, "{\"k1\": \"v1\",\"k2\": \"v2\"}"));
String responseBody = "expected-response";
Map<String, String> settingsMap = new HashMap<>();
settingsMap.put("k1", "v1");
settingsMap.put("k2", "v2");
when(pluginExtension.canHandlePlugin(PLUGIN_ID)).thenReturn(true);
when(pluginExtension.pluginSettingsJSON(PLUGIN_ID, settingsMap)).thenReturn(responseBody);
DefaultGoApiRequest apiRequest = new DefaultGoApiRequest(PluginSettingsRequestProcessor.GET_PLUGIN_SETTINGS, "1.0", new GoPluginIdentifier("extension1", Collections.singletonList("1.0")));
apiRequest.setRequestBody("expected-request");
GoApiResponse response = processor.process(pluginDescriptor, apiRequest);
assertThat(response.responseCode(), is(200));
assertThat(response.responseBody(), is(responseBody));
}
use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginSettingsRequestProcessorTest method shouldRouteToTheRightExtensionBasedOnTheRequest_WhenAPluginHasMultipleExtensions.
@Test
public void shouldRouteToTheRightExtensionBasedOnTheRequest_WhenAPluginHasMultipleExtensions() throws Exception {
GoPluginExtension anotherPluginExtension = mock(GoPluginExtension.class);
String pluginId = "plugin-foo-id";
Map<String, String> pluginSettings = m("k1", "v1", "k2", "v2");
when(pluginDescriptor.id()).thenReturn(pluginId);
when(pluginSqlMapDao.findPlugin(pluginId)).thenReturn(new Plugin(pluginId, "{\"k1\": \"v1\",\"k2\": \"v2\"}"));
processor = new PluginSettingsRequestProcessor(applicationAccessor, pluginSqlMapDao, Arrays.asList(pluginExtension, anotherPluginExtension));
DefaultGoApiRequest requestForExtension1 = new DefaultGoApiRequest(PluginSettingsRequestProcessor.GET_PLUGIN_SETTINGS, "1.0", new GoPluginIdentifier("extension1", singletonList("1.0")));
setupExpectationsFor(pluginExtension, pluginId, "extension1");
setupExpectationsFor(anotherPluginExtension, pluginId, "extension2");
processor.process(pluginDescriptor, requestForExtension1);
verify(pluginExtension).pluginSettingsJSON(eq(pluginId), anyMapOf(String.class, String.class));
verify(anotherPluginExtension, never()).pluginSettingsJSON(eq(pluginId), anyMapOf(String.class, String.class));
Mockito.reset(pluginExtension, anotherPluginExtension);
DefaultGoApiRequest requestForExtension2 = new DefaultGoApiRequest(PluginSettingsRequestProcessor.GET_PLUGIN_SETTINGS, "1.0", new GoPluginIdentifier("extension2", singletonList("1.0")));
setupExpectationsFor(pluginExtension, pluginId, "extension1");
setupExpectationsFor(anotherPluginExtension, pluginId, "extension2");
processor.process(pluginDescriptor, requestForExtension2);
verify(pluginExtension, never()).pluginSettingsJSON(eq(pluginId), anyMapOf(String.class, String.class));
verify(anotherPluginExtension).pluginSettingsJSON(eq(pluginId), anyMapOf(String.class, String.class));
Mockito.reset(pluginExtension, anotherPluginExtension);
}
use of com.thoughtworks.go.domain.Plugin in project gocd by gocd.
the class PluginSettingsRequestProcessorTest method shouldRespondWith400IfPluginExtensionErrorsOut.
@Test
public void shouldRespondWith400IfPluginExtensionErrorsOut() {
String PLUGIN_ID = "plugin-foo-id";
when(pluginDescriptor.id()).thenReturn(PLUGIN_ID);
when(pluginSqlMapDao.findPlugin(PLUGIN_ID)).thenReturn(new Plugin(PLUGIN_ID, "{\"k1\": \"v1\",\"k2\": \"v2\"}"));
when(pluginExtension.canHandlePlugin(PLUGIN_ID)).thenReturn(true);
when(pluginExtension.pluginSettingsJSON(eq(PLUGIN_ID), any(Map.class))).thenThrow(RuntimeException.class);
DefaultGoApiRequest apiRequest = new DefaultGoApiRequest(PluginSettingsRequestProcessor.GET_PLUGIN_SETTINGS, "1.0", new GoPluginIdentifier("extension1", Collections.singletonList("1.0")));
apiRequest.setRequestBody("expected-request");
GoApiResponse response = processor.process(pluginDescriptor, apiRequest);
assertThat(response.responseCode(), is(400));
}
Aggregations