Search in sources :

Example 21 with Plugin

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));
}
Also used : GoPluginIdentifier(com.thoughtworks.go.plugin.api.GoPluginIdentifier) GoApiResponse(com.thoughtworks.go.plugin.api.response.GoApiResponse) HashMap(java.util.HashMap) DefaultGoApiRequest(com.thoughtworks.go.plugin.api.request.DefaultGoApiRequest) NullPlugin(com.thoughtworks.go.domain.NullPlugin) Plugin(com.thoughtworks.go.domain.Plugin) Test(org.junit.Test)

Example 22 with Plugin

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);
}
Also used : GoPluginExtension(com.thoughtworks.go.plugin.access.common.settings.GoPluginExtension) GoPluginIdentifier(com.thoughtworks.go.plugin.api.GoPluginIdentifier) DefaultGoApiRequest(com.thoughtworks.go.plugin.api.request.DefaultGoApiRequest) NullPlugin(com.thoughtworks.go.domain.NullPlugin) Plugin(com.thoughtworks.go.domain.Plugin) Test(org.junit.Test)

Example 23 with Plugin

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));
}
Also used : GoPluginIdentifier(com.thoughtworks.go.plugin.api.GoPluginIdentifier) GoApiResponse(com.thoughtworks.go.plugin.api.response.GoApiResponse) DefaultGoApiRequest(com.thoughtworks.go.plugin.api.request.DefaultGoApiRequest) HashMap(java.util.HashMap) Map(java.util.Map) NullPlugin(com.thoughtworks.go.domain.NullPlugin) Plugin(com.thoughtworks.go.domain.Plugin) Test(org.junit.Test)

Aggregations

Plugin (com.thoughtworks.go.domain.Plugin)23 NullPlugin (com.thoughtworks.go.domain.NullPlugin)22 Test (org.junit.Test)15 PluginSettings (com.thoughtworks.go.server.domain.PluginSettings)8 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)6 PluginSettingsConfiguration (com.thoughtworks.go.plugin.access.common.settings.PluginSettingsConfiguration)4 DefaultGoApiRequest (com.thoughtworks.go.plugin.api.request.DefaultGoApiRequest)4 GoPluginIdentifier (com.thoughtworks.go.plugin.api.GoPluginIdentifier)3 GoApiResponse (com.thoughtworks.go.plugin.api.response.GoApiResponse)3 ValidationResult (com.thoughtworks.go.plugin.api.response.validation.ValidationResult)3 Username (com.thoughtworks.go.server.domain.Username)3 HttpLocalizedOperationResult (com.thoughtworks.go.server.service.result.HttpLocalizedOperationResult)3 HashMap (java.util.HashMap)3 Before (org.junit.Before)2 GoPluginExtension (com.thoughtworks.go.plugin.access.common.settings.GoPluginExtension)1 PluginSettingsProperty (com.thoughtworks.go.plugin.access.common.settings.PluginSettingsProperty)1 DefaultGoApiResponse (com.thoughtworks.go.plugin.api.response.DefaultGoApiResponse)1 Map (java.util.Map)1 TransactionStatus (org.springframework.transaction.TransactionStatus)1 TransactionCallback (org.springframework.transaction.support.TransactionCallback)1