@Test public void shouldHandleIncorrectAPIVersion() { GoApiResponse response = processor.process( pluginDescriptor, new DefaultGoApiRequest( PluginSettingsRequestProcessor.GET_PLUGIN_SETTINGS, "1.1", null)); assertThat(response.responseCode(), is(400)); }
@Test public void shouldNotGetPluginSettingsForPluginThatDoesNotExistInDB() { when(pluginDescriptor.id()).thenReturn("plugin-foo-id"); when(pluginSqlMapDao.findPlugin("plugin-foo-id")).thenReturn(new NullPlugin()); String requestBody = "expected-request"; when(jsonMessageHandler.responseMessagePluginSettingsGet(any(PluginSettings.class))) .thenReturn(null); DefaultGoApiRequest apiRequest = new DefaultGoApiRequest(PluginSettingsRequestProcessor.GET_PLUGIN_SETTINGS, "1.0", null); apiRequest.setRequestBody(requestBody); GoApiResponse response = processor.process(pluginDescriptor, apiRequest); assertThat(response.responseCode(), is(200)); assertThat(response.responseBody(), is(nullValue())); }
@Before public void setUp() { initMocks(this); Map<String, String> configuration = new HashMap<String, String>(); 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()); requestArgumentCaptor = ArgumentCaptor.forClass(PluginSettings.class); processor = new PluginSettingsRequestProcessor(applicationAccessor, pluginSqlMapDao); processor.getMessageHandlerMap().put("1.0", jsonMessageHandler); }
@Test public void shouldGetPluginSettingsForPluginThatExistsInDB() { when(pluginDescriptor.id()).thenReturn("plugin-foo-id"); when(pluginSqlMapDao.findPlugin("plugin-foo-id")) .thenReturn(new Plugin("plugin-foo-id", "{\"k1\": \"v1\",\"k2\": \"v2\"}")); String requestBody = "expected-request"; String responseBody = "expected-response"; when(jsonMessageHandler.responseMessagePluginSettingsGet(requestArgumentCaptor.capture())) .thenReturn(responseBody); DefaultGoApiRequest apiRequest = new DefaultGoApiRequest(PluginSettingsRequestProcessor.GET_PLUGIN_SETTINGS, "1.0", null); apiRequest.setRequestBody(requestBody); GoApiResponse response = processor.process(pluginDescriptor, apiRequest); assertThat(response.responseCode(), is(200)); assertThat(response.responseBody(), is(responseBody)); Map<String, String> settingsMap = new HashMap<String, String>(); settingsMap.put("k1", "v1"); settingsMap.put("k2", "v2"); assertEquals(requestArgumentCaptor.getValue().getSettingsAsKeyValuePair(), settingsMap); }