private List<com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics> supportedAnalytics() { ArrayList<com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics> list = new ArrayList<>(); if (this.supportedAnalytics != null) { for (SupportedAnalytics analytics : this.supportedAnalytics) { list.add(new com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics(analytics.getType(), analytics.getId(), analytics.getTitle())); } } return list; } }
private List<com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics> supportedAnalytics() { ArrayList<com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics> list = new ArrayList<>(); if (this.supportedAnalytics != null) { for (SupportedAnalytics analytics : this.supportedAnalytics) { list.add(new com.thoughtworks.go.plugin.domain.analytics.SupportedAnalytics(analytics.getType(), analytics.getId(), analytics.getTitle())); } } return list; } }
@Test public void shouldListSupportedAnalyticsForDashboard() { Capabilities capabilities = new Capabilities(Arrays.asList(new SupportedAnalytics("dashboard", "id1", "title1" ), new SupportedAnalytics("DashBoard", "id2", "title2" ))); assertThat(capabilities.supportedDashboardAnalytics(), is(Arrays.asList(new SupportedAnalytics("dashboard", "id1", "title1" ), new SupportedAnalytics("DashBoard", "id2", "title2" )))); assertTrue(new Capabilities(Collections.emptyList()).supportedDashboardAnalytics().isEmpty()); }
@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 shouldListSupportedAnalyticsForVSM() { Capabilities capabilities = new Capabilities(Arrays.asList(new SupportedAnalytics("vsm", "id1", "title1" ), new SupportedAnalytics("VsM", "id2", "title2" ))); assertThat(capabilities.supportedVSMAnalytics(), is(Arrays.asList(new SupportedAnalytics("vsm", "id1", "title1" ), new SupportedAnalytics("VsM", "id2", "title2" )))); assertTrue(new Capabilities(Collections.emptyList()).supportedVSMAnalytics().isEmpty()); } }
@Test public void shouldListSupportedDashBoardAnalytics() { Capabilities capabilities = new Capabilities(Arrays.asList(new SupportedAnalytics("dashboard", "id1", "title1" ), new SupportedAnalytics("DashBoard", "id2", "title2" ))); assertThat(capabilities.supportedAnalyticsDashboardMetrics(), is(Arrays.asList("title1", "title2"))); assertTrue(new Capabilities(Collections.emptyList()).supportedAnalyticsDashboardMetrics().isEmpty()); }
@Test public void shouldSupportDashboardAnalyticsIfPluginListsDashboardMetricsAsCapability() { assertTrue(new Capabilities(Collections.singletonList(new SupportedAnalytics("dashboard", "id", "title"))).supportsDashboardAnalytics()); assertTrue(new Capabilities(Collections.singletonList(new SupportedAnalytics("DashBoard", "id", "title"))).supportsDashboardAnalytics()); assertFalse(new Capabilities(Collections.emptyList()).supportsDashboardAnalytics()); }
@Test public void shouldSupportPipelineAnalyticsIfPluginListsPipelineMetricsAsCapability() { assertTrue(new Capabilities(Collections.singletonList(new SupportedAnalytics("pipeline", "id", "title"))).supportsPipelineAnalytics()); assertTrue(new Capabilities(Collections.singletonList(new SupportedAnalytics("PipeLine", "id", "title"))).supportsPipelineAnalytics()); assertFalse(new Capabilities(Collections.emptyList()).supportsPipelineAnalytics()); }
@Test public void shouldSupportVSMAnalyticsIfPluginListsVSMMetricsAsCapability() { assertTrue(new Capabilities(Collections.singletonList(new SupportedAnalytics("vsm", "id", "title" ))).supportsVSMAnalytics()); assertTrue(new Capabilities(Collections.singletonList(new SupportedAnalytics("VsM", "id", "title" ))).supportsVSMAnalytics()); assertFalse(new Capabilities(Collections.emptyList()).supportsPipelineAnalytics()); }
@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 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"))); } }
@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"))); } }