@Test public void shouldTalkToPlugin_To_GetCapabilities() throws Exception { String responseBody = "{\n" + "\"supported_analytics\": [\n" + " {\"type\": \"dashboard\", \"id\": \"abc\", \"title\": \"Title 1\"},\n" + " {\"type\": \"pipeline\", \"id\": \"abc\", \"title\": \"Title 1\"}\n" + "]}"; when(pluginManager.submitTo(eq(PLUGIN_ID), eq(ANALYTICS_EXTENSION), requestArgumentCaptor.capture())).thenReturn(new DefaultGoPluginApiResponse(SUCCESS_RESPONSE_CODE, responseBody)); com.thoughtworks.go.plugin.domain.analytics.Capabilities capabilities = analyticsExtension.getCapabilities(PLUGIN_ID); assertRequest(requestArgumentCaptor.getValue(), PluginConstants.ANALYTICS_EXTENSION, "1.0", REQUEST_GET_CAPABILITIES, null); assertThat(capabilities.supportedDashboardAnalytics(), containsInAnyOrder(new SupportedAnalytics("dashboard", "abc", "Title 1"))); assertThat(capabilities.supportedPipelineAnalytics(), containsInAnyOrder(new SupportedAnalytics("pipeline", "abc", "Title 1"))); }
@Test public void shouldListSupportedAnalyticsForPipelines() { Capabilities capabilities = new Capabilities(Arrays.asList(new SupportedAnalytics("pipeline", "id1", "title1" ), new SupportedAnalytics("Pipeline", "id2", "title2" ))); assertThat(capabilities.supportedPipelineAnalytics(), is(Arrays.asList(new SupportedAnalytics("pipeline", "id1", "title1" ), new SupportedAnalytics("Pipeline", "id2", "title2" )))); assertTrue(new Capabilities(Collections.emptyList()).supportedPipelineAnalytics().isEmpty()); }
@Test public void shouldConvertToDomainCapabilities() throws Exception { String json = "{\n" + "\"supported_analytics\": [\n" + " {\"type\": \"dashboard\", \"id\": \"abc\", \"title\": \"Title 1\"},\n" + " {\"type\": \"pipeline\", \"id\": \"abc\", \"title\": \"Title 1\"}\n" + "]}"; Capabilities capabilities = Capabilities.fromJSON(json); com.thoughtworks.go.plugin.domain.analytics.Capabilities domain = capabilities.toCapabilities(); assertThat(domain.supportedDashboardAnalytics(), containsInAnyOrder(new com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics("dashboard", "abc", "Title 1"))); assertThat(domain.supportedPipelineAnalytics(), containsInAnyOrder(new com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics("pipeline", "abc", "Title 1"))); } }
@Test public void shouldConvertToDomainCapabilities() throws Exception { String json = "{\n" + "\"supported_analytics\": [\n" + " {\"type\": \"dashboard\", \"id\": \"abc\", \"title\": \"Title 1\"},\n" + " {\"type\": \"pipeline\", \"id\": \"abc\", \"title\": \"Title 2\"},\n" + " {\"type\": \"vsm\", \"id\": \"abc\", \"title\": \"Title 3\", \"required_params\": [\"param1\", \"param2\"]}\n" + "]}"; Capabilities capabilities = Capabilities.fromJSON(json); com.thoughtworks.go.plugin.domain.analytics.Capabilities domain = capabilities.toCapabilities(); assertThat(domain.supportedDashboardAnalytics(), containsInAnyOrder(new com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics("dashboard", "abc", "Title 1"))); assertThat(domain.supportedPipelineAnalytics(), containsInAnyOrder(new com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics("pipeline", "abc", "Title 2"))); assertThat(domain.supportedVSMAnalytics(), containsInAnyOrder(new com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics("vsm", "abc", "Title 3"))); } }