public com.thoughtworks.go.plugin.domain.analytics.Capabilities toCapabilities() { return new com.thoughtworks.go.plugin.domain.analytics.Capabilities(supportedAnalytics()); }
public boolean supportsVSMAnalytics() { return hasSupportFor(VSM_TYPE); }
@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 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 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()); }
private boolean supportsAnalyticsDashboard() { for (CombinedPluginInfo combinedPluginInfo : pluginInfoFinder.allPluginInfos(PluginConstants.ANALYTICS_EXTENSION)) { AnalyticsPluginInfo pluginInfo = (AnalyticsPluginInfo) combinedPluginInfo.extensionFor(PluginConstants.ANALYTICS_EXTENSION); if (pluginInfo != null && pluginInfo.getCapabilities().supportsDashboardAnalytics()) { return true; } } return false; } }
@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 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 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 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 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()); }
private AnalyticsPluginInfo analyticsPluginInfo() { AnalyticsPluginInfo analyticsPluginInfo = mock(AnalyticsPluginInfo.class); Capabilities capabilities = mock(Capabilities.class); when(capabilities.supportsDashboardAnalytics()).thenReturn(true); when(analyticsPluginInfo.getCapabilities()).thenReturn(capabilities); when(analyticsPluginInfo.getExtensionName()).thenReturn(PluginConstants.ANALYTICS_EXTENSION); return analyticsPluginInfo; }
@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"))); } }
private boolean supportsAnalyticsDashboard() { for (CombinedPluginInfo combinedPluginInfo : getPluginInfoFinder().allPluginInfos(PluginConstants.ANALYTICS_EXTENSION)) { AnalyticsPluginInfo pluginInfo = (AnalyticsPluginInfo) combinedPluginInfo.extensionFor(PluginConstants.ANALYTICS_EXTENSION); if (pluginInfo.getCapabilities().supportsDashboardAnalytics()) { return true; } } return false; }
public com.thoughtworks.go.plugin.domain.analytics.Capabilities toCapabilities() { return new com.thoughtworks.go.plugin.domain.analytics.Capabilities(supportedAnalytics()); }
public boolean supportsPipelineAnalytics() { return hasSupportFor(PIPELINE_TYPE); }
@Before public void setUp() throws Exception { extension = mock(AnalyticsExtension.class); when(extension.getCapabilities(any(String.class))).thenReturn(new Capabilities(Collections.emptyList())); }
public boolean supportsDashboardAnalytics() { return hasSupportFor(DASHBOARD_TYPE); }
@Test public void shouldBuildPluginInfoWithCapabilities() throws Exception { GoPluginDescriptor descriptor = new GoPluginDescriptor("plugin1", null, null, null, null, false); Capabilities capabilities = new Capabilities(Collections.emptyList()); when(extension.getCapabilities(descriptor.id())).thenReturn(capabilities); AnalyticsPluginInfo pluginInfo = new AnalyticsPluginInfoBuilder(extension).pluginInfoFor(descriptor); assertThat(pluginInfo.getCapabilities(), is(capabilities)); }