aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2017-07-25 11:59:49 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2017-07-31 11:27:51 +0200
commitb78aa1511c2317498fbe4873453d06dc63b669db (patch)
treecd0e83fc910582db4c0a82128de8aa9eb42b743b
parent1eb306c7ef1fb85efbcf954174c90bc73263c1d1 (diff)
downloadsonarqube-b78aa1511c2317498fbe4873453d06dc63b669db.tar.gz
sonarqube-b78aa1511c2317498fbe4873453d06dc63b669db.zip
SONAR-9551 Test page extensions are returned for application
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentAction.java38
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/ui/PageRepositoryTest.java3
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentActionTest.java19
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);