diff options
author | Teryk Bellahsene <teryk.bellahsene@sonarsource.com> | 2017-07-25 11:59:49 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-07-31 11:27:51 +0200 |
commit | b78aa1511c2317498fbe4873453d06dc63b669db (patch) | |
tree | cd0e83fc910582db4c0a82128de8aa9eb42b743b | |
parent | 1eb306c7ef1fb85efbcf954174c90bc73263c1d1 (diff) | |
download | sonarqube-b78aa1511c2317498fbe4873453d06dc63b669db.tar.gz sonarqube-b78aa1511c2317498fbe4873453d06dc63b669db.zip |
SONAR-9551 Test page extensions are returned for application
3 files changed, 40 insertions, 20 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentAction.java b/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentAction.java index e976aecd5e0..9d8a938cc9e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentAction.java @@ -103,25 +103,6 @@ public class ComponentAction implements NavigationWsAction { this.billingValidations = billingValidations; } - private static Consumer<QualityProfile> writeToJson(JsonWriter json) { - return profile -> json.beginObject() - .prop("key", profile.getQpKey()) - .prop("name", profile.getQpName()) - .prop("language", profile.getLanguageKey()) - .endObject(); - } - - private static Function<MeasureDto, Stream<QualityProfile>> toQualityProfiles() { - return dbMeasure -> QPMeasureData.fromJson(dbMeasure.getData()).getProfiles().stream(); - } - - private static void writePage(JsonWriter json, Page page) { - json.beginObject() - .prop("key", page.getKey()) - .prop("name", page.getName()) - .endObject(); - } - @Override public void define(NewController context) { NewAction projectNavigation = context.createAction("component") @@ -168,6 +149,25 @@ public class ComponentAction implements NavigationWsAction { } } + private static Consumer<QualityProfile> writeToJson(JsonWriter json) { + return profile -> json.beginObject() + .prop("key", profile.getQpKey()) + .prop("name", profile.getQpName()) + .prop("language", profile.getLanguageKey()) + .endObject(); + } + + private static Function<MeasureDto, Stream<QualityProfile>> toQualityProfiles() { + return dbMeasure -> QPMeasureData.fromJson(dbMeasure.getData()).getProfiles().stream(); + } + + private static void writePage(JsonWriter json, Page page) { + json.beginObject() + .prop("key", page.getKey()) + .prop("name", page.getName()) + .endObject(); + } + private void writeComponent(JsonWriter json, DbSession session, ComponentDto component, OrganizationDto organizationDto, @Nullable SnapshotDto analysis) { json.prop("key", component.key()) .prop("organization", organizationDto.getKey()) diff --git a/server/sonar-server/src/test/java/org/sonar/server/ui/PageRepositoryTest.java b/server/sonar-server/src/test/java/org/sonar/server/ui/PageRepositoryTest.java index cde31b07f52..3571d324692 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/ui/PageRepositoryTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/ui/PageRepositoryTest.java @@ -82,7 +82,8 @@ public class PageRepositoryTest { .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/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, new PageDefinition[] {plugin}); underTest.start(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentActionTest.java index 74ad74ed8f9..93545bdf5f9 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentActionTest.java @@ -281,6 +281,25 @@ public class ComponentActionTest { } @Test + public void return_extensions_for_application() throws Exception { + Page page = Page.builder("my_plugin/app_page") + .setName("App Page") + .setScope(COMPONENT) + .setComponentQualifiers(Qualifier.VIEW, Qualifier.APP) + .build(); + + init(page); + ComponentDto application = componentDbTester.insertApplication(dbTester.getDefaultOrganization()); + userSession.registerComponents(application); + + String result = ws.newRequest() + .setParam(PARAM_COMPONENT, application.key()) + .execute().getInput(); + + assertThat(result).contains("my_plugin/app_page"); + } + + @Test public void return_extensions_for_admin() throws Exception { init(createPages()); componentDbTester.insertComponent(project); |