Search in sources :

Example 1 with PageDefinition

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

the class PageRepositoryTest method pages_from_different_page_definitions_ordered_by_key.

@Test
public void pages_from_different_page_definitions_ordered_by_key() {
    PageDefinition firstPlugin = context -> context.addPage(Page.builder("my_plugin/K1").setName("N1").build()).addPage(Page.builder("my_plugin/K3").setName("N3").build());
    PageDefinition secondPlugin = context -> context.addPage(Page.builder("my_plugin/K2").setName("N2").build());
    underTest = new PageRepository(pluginRepository, new PageDefinition[] { firstPlugin, secondPlugin });
    underTest.start();
    List<Page> result = underTest.getAllPages();
    assertThat(result).extracting(Page::getKey, Page::getName).containsExactly(tuple("my_plugin/K1", "N1"), tuple("my_plugin/K2", "N2"), tuple("my_plugin/K3", "N3"));
}
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)

Example 2 with PageDefinition

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

the class PageRepositoryTest method filter_pages_without_qualifier.

@Test
public void filter_pages_without_qualifier() {
    PageDefinition plugin = context -> context.addPage(Page.builder("my_plugin/K1").setName("N1").build()).addPage(Page.builder("my_plugin/K2").setName("N2").build()).addPage(Page.builder("my_plugin/K3").setName("N3").build());
    underTest = new PageRepository(pluginRepository, new PageDefinition[] { plugin });
    underTest.start();
    List<Page> result = underTest.getGlobalPages(false);
    assertThat(result).extracting(Page::getKey).containsExactly("my_plugin/K1", "my_plugin/K2", "my_plugin/K3");
}
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)

Example 3 with PageDefinition

use of org.sonar.api.web.page.PageDefinition 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 4 with PageDefinition

use of org.sonar.api.web.page.PageDefinition 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 5 with PageDefinition

use of org.sonar.api.web.page.PageDefinition 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

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 Test (org.junit.Test)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 Page (org.sonar.api.web.page.Page)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 PluginRepository (org.sonar.core.platform.PluginRepository)5