Search in sources :

Example 6 with Page

use of org.sonar.api.web.page.Page in project sonarqube by SonarSource.

the class PageRepositoryTest method fail_if_page_with_unknown_plugin.

@Test
public void fail_if_page_with_unknown_plugin() {
    PageDefinition governance = context -> context.addPage(Page.builder("governance/my_key").setName("N1").build());
    PageDefinition plugin42 = context -> context.addPage(Page.builder("plugin_42/my_key").setName("N2").build());
    pluginRepository = mock(PluginRepository.class);
    when(pluginRepository.hasPlugin("governance")).thenReturn(true);
    underTest = new PageRepository(pluginRepository, new PageDefinition[] { governance, plugin42 });
    expectedException.expect(IllegalStateException.class);
    expectedException.expectMessage("Page 'N2' references plugin 'plugin_42' that does not exist");
    underTest.start();
}
Also used : PageDefinition(org.sonar.api.web.page.PageDefinition) Qualifier(org.sonar.api.web.page.Page.Qualifier) Assertions.tuple(org.assertj.core.api.Assertions.tuple) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) PluginRepository(org.sonar.core.platform.PluginRepository) Matchers.anyString(org.mockito.Matchers.anyString) List(java.util.List) Page(org.sonar.api.web.page.Page) Rule(org.junit.Rule) LogTester(org.sonar.api.utils.log.LogTester) Qualifiers(org.sonar.api.resources.Qualifiers) COMPONENT(org.sonar.api.web.page.Page.Scope.COMPONENT) ExpectedException(org.junit.rules.ExpectedException) GLOBAL(org.sonar.api.web.page.Page.Scope.GLOBAL) Before(org.junit.Before) Mockito.mock(org.mockito.Mockito.mock) PageDefinition(org.sonar.api.web.page.PageDefinition) PluginRepository(org.sonar.core.platform.PluginRepository) Test(org.junit.Test)

Example 7 with Page

use of org.sonar.api.web.page.Page in project sonarqube by SonarSource.

the class SettingsActionTest method createPages.

private Page[] createPages() {
    Page firstPage = Page.builder("my_plugin/first_page").setName("First Page").setAdmin(true).build();
    Page secondPage = Page.builder("my_plugin/second_page").setName("Second Page").setAdmin(true).build();
    return new Page[] { firstPage, secondPage };
}
Also used : Page(org.sonar.api.web.page.Page)

Example 8 with Page

use of org.sonar.api.web.page.Page in project sonarqube by SonarSource.

the class SettingsActionTest method init.

private void init(Page... pages) {
    PluginRepository pluginRepository = mock(PluginRepository.class);
    when(pluginRepository.hasPlugin(anyString())).thenReturn(true);
    PageRepository pageRepository = new PageRepository(pluginRepository, new PageDefinition[] { context -> {
        for (Page page : pages) {
            context.addPage(page);
        }
    } });
    ws = new WsActionTester(new SettingsAction(pageRepository, settings, userSessionRule));
    pageRepository.start();
}
Also used : PluginRepository(org.sonar.core.platform.PluginRepository) PageRepository(org.sonar.server.ui.PageRepository) Page(org.sonar.api.web.page.Page) WsActionTester(org.sonar.server.ws.WsActionTester)

Example 9 with Page

use of org.sonar.api.web.page.Page in project sonarqube by SonarSource.

the class PageRepositoryTest method fail_if_page_with_wrong_format.

@Test
public void fail_if_page_with_wrong_format() {
    PageDefinition plugin = context -> context.addPage(Page.builder("my_key").setName("N1").build()).addPage(Page.builder("my_plugin/my_key").setName("N2").build());
    underTest = new PageRepository(pluginRepository, new PageDefinition[] { plugin });
    expectedException.expect(IllegalStateException.class);
    expectedException.expectMessage("Page 'N1' with key 'my_key' does not respect the format plugin_key/extension_point_key (ex: governance/project_dump)");
    underTest.start();
}
Also used : PageDefinition(org.sonar.api.web.page.PageDefinition) Qualifier(org.sonar.api.web.page.Page.Qualifier) Assertions.tuple(org.assertj.core.api.Assertions.tuple) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) PluginRepository(org.sonar.core.platform.PluginRepository) Matchers.anyString(org.mockito.Matchers.anyString) List(java.util.List) Page(org.sonar.api.web.page.Page) Rule(org.junit.Rule) LogTester(org.sonar.api.utils.log.LogTester) Qualifiers(org.sonar.api.resources.Qualifiers) COMPONENT(org.sonar.api.web.page.Page.Scope.COMPONENT) ExpectedException(org.junit.rules.ExpectedException) GLOBAL(org.sonar.api.web.page.Page.Scope.GLOBAL) Before(org.junit.Before) Mockito.mock(org.mockito.Mockito.mock) PageDefinition(org.sonar.api.web.page.PageDefinition) Test(org.junit.Test)

Example 10 with Page

use of org.sonar.api.web.page.Page in project sonarqube by SonarSource.

the class PageRepositoryTest method filter_by_navigation_and_qualifier.

@Test
public void filter_by_navigation_and_qualifier() {
    PageDefinition plugin = context -> context.addPage(Page.builder("my_plugin/K1").setName("K1").build()).addPage(Page.builder("my_plugin/K2").setName("K2").setScope(COMPONENT).setComponentQualifiers(Qualifier.PROJECT).build()).addPage(Page.builder("my_plugin/K3").setName("K3").setScope(COMPONENT).setComponentQualifiers(Qualifier.MODULE).build()).addPage(Page.builder("my_plugin/K4").setName("K4").setScope(GLOBAL).build()).addPage(Page.builder("my_plugin/K5").setName("K5").setScope(COMPONENT).setComponentQualifiers(Qualifier.VIEW).build());
    underTest = new PageRepository(pluginRepository, new PageDefinition[] { plugin });
    underTest.start();
    List<Page> result = underTest.getComponentPages(false, Qualifiers.PROJECT);
    assertThat(result).extracting(Page::getKey).containsExactly("my_plugin/K2");
}
Also used : PageDefinition(org.sonar.api.web.page.PageDefinition) Qualifier(org.sonar.api.web.page.Page.Qualifier) Assertions.tuple(org.assertj.core.api.Assertions.tuple) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) PluginRepository(org.sonar.core.platform.PluginRepository) Matchers.anyString(org.mockito.Matchers.anyString) List(java.util.List) Page(org.sonar.api.web.page.Page) Rule(org.junit.Rule) LogTester(org.sonar.api.utils.log.LogTester) Qualifiers(org.sonar.api.resources.Qualifiers) COMPONENT(org.sonar.api.web.page.Page.Scope.COMPONENT) ExpectedException(org.junit.rules.ExpectedException) GLOBAL(org.sonar.api.web.page.Page.Scope.GLOBAL) Before(org.junit.Before) Mockito.mock(org.mockito.Mockito.mock) PageDefinition(org.sonar.api.web.page.PageDefinition) Page(org.sonar.api.web.page.Page) Test(org.junit.Test)

Aggregations

Page (org.sonar.api.web.page.Page)13 PluginRepository (org.sonar.core.platform.PluginRepository)8 Test (org.junit.Test)6 List (java.util.List)5 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)5 Assertions.tuple (org.assertj.core.api.Assertions.tuple)5 Before (org.junit.Before)5 Rule (org.junit.Rule)5 ExpectedException (org.junit.rules.ExpectedException)5 Matchers.anyString (org.mockito.Matchers.anyString)5 Mockito.mock (org.mockito.Mockito.mock)5 Mockito.when (org.mockito.Mockito.when)5 Qualifiers (org.sonar.api.resources.Qualifiers)5 LogTester (org.sonar.api.utils.log.LogTester)5 Qualifier (org.sonar.api.web.page.Page.Qualifier)5 COMPONENT (org.sonar.api.web.page.Page.Scope.COMPONENT)5 GLOBAL (org.sonar.api.web.page.Page.Scope.GLOBAL)5 PageDefinition (org.sonar.api.web.page.PageDefinition)5 PageRepository (org.sonar.server.ui.PageRepository)3 WsActionTester (org.sonar.server.ws.WsActionTester)3