@Test public void full_test() { Page result = underTest .setComponentQualifiers(PROJECT, MODULE) .setScope(COMPONENT) .setAdmin(true) .build(); assertThat(result.getKey()).isEqualTo("governance/project_dump"); assertThat(result.getPluginKey()).isEqualTo("governance"); assertThat(result.getName()).isEqualTo("Project Dump"); assertThat(result.getComponentQualifiers()).containsOnly(PROJECT, MODULE); assertThat(result.getScope()).isEqualTo(COMPONENT); assertThat(result.isAdmin()).isTrue(); }
@Test public void return_extensions_for_application() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("my-org")); db.qualityGates().createDefaultQualityGate(organization); ComponentDto project = db.components().insertPrivateProject(organization); Page page = Page.builder("my_plugin/app_page") .setName("App Page") .setScope(COMPONENT) .setComponentQualifiers(Qualifier.VIEW, Qualifier.APP) .build(); ComponentDto application = componentDbTester.insertPublicApplication(organization); QualityGateDto qualityGateDto = db.qualityGates().insertQualityGate(organization, qg -> qg.setName("Sonar way")); db.qualityGates().associateProjectToQualityGate(project, qualityGateDto); userSession.registerComponents(application); init(page); String result = ws.newRequest() .setParam(PARAM_COMPONENT, application.getDbKey()) .execute().getInput(); assertThat(result).contains("my_plugin/app_page"); }
@Test public void filter_by_navigation_and_qualifier() { PageDefinition plugin = context -> context // Default with GLOBAL navigation and no qualifiers .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()) .addPage(Page.builder("my_plugin/K6").setName("K6").setScope(COMPONENT).setComponentQualifiers(Qualifier.APP).build()); underTest = new PageRepository(pluginRepository, coreExtensionRepository, new PageDefinition[]{plugin}); underTest.start(); List<Page> result = underTest.getComponentPages(false, Qualifiers.PROJECT); assertThat(result) .extracting(Page::getKey) .containsExactly("my_plugin/K2"); }
@Override public void define(Context context) { context.addPage( Page.builder("dependencycheck/report") .setScope(Scope.COMPONENT) .setComponentQualifiers(Page.Qualifier.PROJECT, Page.Qualifier.MODULE) .setName("Dependency-Check") .setAdmin(false).build()); } }
@Test public void return_configuration_for_admin() { ComponentDto project = insertOrganizationAndProject(); UserDto user = db.users().insertUser(); userSession.logIn(user) .addProjectPermission(UserRole.USER, project) .addProjectPermission(UserRole.ADMIN, project); Page page1 = Page.builder("my_plugin/first_page") .setName("First Page") .setAdmin(true) .setScope(COMPONENT) .setComponentQualifiers(Qualifier.PROJECT) .build(); Page page2 = Page.builder("my_plugin/second_page") .setName("Second Page") .setAdmin(true) .setScope(COMPONENT) .setComponentQualifiers(Qualifier.PROJECT) .build(); init(page1, page2); executeAndVerify(project.getDbKey(), "return_configuration_for_admin.json"); }
private Page[] createPages() { Page page1 = Page.builder("my_plugin/first_page") .setName("First Page") .setScope(COMPONENT) .setComponentQualifiers(Qualifier.PROJECT) .build(); Page page2 = Page.builder("my_plugin/second_page") .setName("Second Page") .setScope(COMPONENT) .setComponentQualifiers(Qualifier.PROJECT) .build(); Page adminPage = Page.builder("my_plugin/admin_page") .setName("Admin Page") .setScope(COMPONENT) .setComponentQualifiers(Qualifier.PROJECT) .setAdmin(true) .build(); return new Page[] {page1, page2, adminPage}; }
@Test public void fail_if_qualifiers_without_scope() { expectedException.expect(IllegalArgumentException.class); underTest.setComponentQualifiers(PROJECT).build(); }
@Test public void fail_if_null_qualifiers() { expectedException.expect(NullPointerException.class); underTest.setComponentQualifiers((Qualifier[])null).build(); }