private void checkCoreExtensionExists(Page page) { String coreExtensionName = page.getPluginKey(); checkState(coreExtensionRepository.isInstalled(coreExtensionName), "Page '%s' references Core Extension '%s' which is not installed", page.getName(), coreExtensionName); }
@Test public void return_content_of_folder_of_installed_core_extension() throws Exception { system.coreExtensionStream = IOUtils.toInputStream("bar"); when(coreExtensionRepository.isInstalled("coreext")).thenReturn(true); Response response = call("/static/coreext/foo/bar.txt"); assertThat(response.isSuccessful()).isTrue(); assertThat(response.body().string()).isEqualTo("bar"); assertThat(system.coreExtensionResource).isEqualTo("static/foo/bar.txt"); }
@Test public void return_content_of_folder_of_installed_core_extension_over_installed_plugin_in_case_of_key_conflict() throws Exception { system.coreExtensionStream = IOUtils.toInputStream("bar of plugin"); when(coreExtensionRepository.isInstalled("samekey")).thenReturn(true); system.coreExtensionStream = IOUtils.toInputStream("bar of core extension"); when(coreExtensionRepository.isInstalled("samekey")).thenReturn(true); Response response = call("/static/samekey/foo/bar.txt"); assertThat(response.isSuccessful()).isTrue(); assertThat(response.body().string()).isEqualTo("bar of core extension"); assertThat(system.pluginResource).isNull(); assertThat(system.coreExtensionResource).isEqualTo("static/foo/bar.txt"); }
private void initWithPages(Page... pages) { PluginRepository pluginRepository = mock(PluginRepository.class); when(pluginRepository.hasPlugin(any())).thenReturn(true); when(pluginRepository.getPluginInfo(any())).thenReturn(new PluginInfo("unused").setVersion(Version.create("1.0"))); CoreExtensionRepository coreExtensionRepository = mock(CoreExtensionRepository.class); when(coreExtensionRepository.isInstalled(any())).thenReturn(false); PageRepository pageRepository = new PageRepository(pluginRepository, coreExtensionRepository, new PageDefinition[] {context -> { for (Page page : pages) { context.addPage(page); } }}); pageRepository.start(); ws = new WsActionTester(new OrganizationAction(dbClient, defaultOrganizationProvider, userSession, pageRepository, billingValidations)); }
private void init(Page... pages) { PluginRepository pluginRepository = mock(PluginRepository.class); when(pluginRepository.hasPlugin(any())).thenReturn(true); when(pluginRepository.getPluginInfo(any())).thenReturn(new PluginInfo("unused")); CoreExtensionRepository coreExtensionRepository = mock(CoreExtensionRepository.class); when(coreExtensionRepository.isInstalled(any())).thenReturn(false); PageRepository pageRepository = new PageRepository(pluginRepository, coreExtensionRepository, new PageDefinition[] {context -> { for (Page page : pages) { context.addPage(page); } }}); ws = new WsActionTester(new SettingsAction(pageRepository, settings.asConfig(), userSessionRule)); pageRepository.start(); }
PluginRepository pluginRepository = system.getPluginRepository(); boolean coreExtension = coreExtensionRepository.isInstalled(pluginKey); if (!coreExtension && !pluginRepository.hasPlugin(pluginKey)) { silentlySendError(response, SC_NOT_FOUND);
private void init(org.sonar.api.web.page.Page[] pages, ResourceTypeTree[] resourceTypeTrees) { when(dbClient.getDatabase().getDialect()).thenReturn(new H2()); when(server.getVersion()).thenReturn("6.42"); PluginRepository pluginRepository = mock(PluginRepository.class); when(pluginRepository.hasPlugin(any())).thenReturn(true); when(pluginRepository.getPluginInfo(any())).thenReturn(new PluginInfo("unused").setVersion(Version.create("1.0"))); CoreExtensionRepository coreExtensionRepository = mock(CoreExtensionRepository.class); when(coreExtensionRepository.isInstalled(any())).thenReturn(false); PageRepository pageRepository = new PageRepository(pluginRepository, coreExtensionRepository, new PageDefinition[] {context -> { for (Page page : pages) { context.addPage(page); } }}); pageRepository.start(); GlobalAction wsAction = new GlobalAction(pageRepository, settings.asConfig(), new ResourceTypes(resourceTypeTrees), server, webServer, dbClient, organizationFlags, defaultOrganizationProvider, branchFeature, userSession, editionProvider); ws = new WsActionTester(wsAction); wsAction.start(); }
private void init(Page... pages) { PluginRepository pluginRepository = mock(PluginRepository.class); when(pluginRepository.hasPlugin(any())).thenReturn(true); when(pluginRepository.getPluginInfo(any())).thenReturn(new PluginInfo("unused").setVersion(Version.create("1.0"))); CoreExtensionRepository coreExtensionRepository = mock(CoreExtensionRepository.class); when(coreExtensionRepository.isInstalled(any())).thenReturn(false); PageRepository pageRepository = new PageRepository(pluginRepository, coreExtensionRepository, new PageDefinition[] {context -> { for (Page page : pages) { context.addPage(page); } }}); pageRepository.start(); ws = new WsActionTester( new ComponentAction(dbClient, pageRepository, resourceTypes, userSession, new ComponentFinder(dbClient, resourceTypes), new QualityGateFinder(dbClient), billingValidations)); }
private void checkCoreExtensionExists(Page page) { String coreExtensionName = page.getPluginKey(); checkState(coreExtensionRepository.isInstalled(coreExtensionName), "Page '%s' references Core Extension '%s' which is not installed", page.getName(), coreExtensionName); }
PluginRepository pluginRepository = system.getPluginRepository(); boolean coreExtension = coreExtensionRepository.isInstalled(pluginKey); if (!coreExtension && !pluginRepository.hasPlugin(pluginKey)) { silentlySendError(response, SC_NOT_FOUND);