@Override public ExecutionResult onSuccess(String responseBody, Map<String, String> responseHeaders, String resolvedExtensionVersion) { return handlerMap.get(resolvedExtensionVersion).toExecutionResult(responseBody); } });
@Override public TaskConfig onSuccess(String responseBody, Map<String, String> responseHeaders, String resolvedExtensionVersion) { return handlerMap.get(resolvedExtensionVersion).convertJsonToTaskConfig(responseBody); } });
@Override public String requestBody(String resolvedExtensionVersion) { return handlerMap.get(resolvedExtensionVersion).convertTaskConfigToJson(configuration); }
@Override public TaskView onSuccess(String responseBody, Map<String, String> responseHeaders, String resolvedExtensionVersion) { return handlerMap.get(resolvedExtensionVersion).toTaskView(responseBody); } });
@Override public ValidationResult onSuccess(String responseBody, Map<String, String> responseHeaders, String resolvedExtensionVersion) { return handlerMap.get(resolvedExtensionVersion).toValidationResult(responseBody); } });
@Override public String requestBody(String resolvedExtensionVersion) { return handlerMap.get(resolvedExtensionVersion).getTaskExecutionBody(config, taskExecutionContext); }
@Test public void shouldExecuteAndReturnFailureExecutionResultTaskThroughPlugin() { when(pluginManager.submitTo(eq(pluginId), eq(PLUGGABLE_TASK_EXTENSION), any(GoPluginApiRequest.class))).thenReturn(response); when(handler.toExecutionResult(response.responseBody())).thenReturn(ExecutionResult.failure("error1")); ExecutionResult result = new JsonBasedTaskExecutor(pluginId, pluginRequestHelper, handlerHashMap).execute(config(), context); assertThat(result.isSuccessful(), is(false)); assertThat(result.getMessagesForDisplay(), is("error1")); }
@Test public void shouldExecuteAndReturnSuccessfulExecutionResultTaskThroughPlugin() { when(pluginManager.submitTo(eq(pluginId), eq(PLUGGABLE_TASK_EXTENSION), any(GoPluginApiRequest.class))).thenReturn(response); when(handler.toExecutionResult(response.responseBody())).thenReturn(ExecutionResult.success("message1")); ExecutionResult result = new JsonBasedTaskExecutor(pluginId, pluginRequestHelper, handlerHashMap).execute(config(), context); assertThat(result.isSuccessful(), is(true)); assertThat(result.getMessagesForDisplay(), is("message1")); ArgumentCaptor<GoPluginApiRequest> argument = ArgumentCaptor.forClass(GoPluginApiRequest.class); verify(pluginManager).submitTo(eq(pluginId), eq(PLUGGABLE_TASK_EXTENSION), argument.capture()); assertThat(argument.getValue().extension(), is(PLUGGABLE_TASK_EXTENSION)); assertThat(argument.getValue().extensionVersion(), is(extensionVersion)); assertThat(argument.getValue().requestName(), is(TaskExtension.EXECUTION_REQUEST)); }