Bladeren bron

SONAR-7135 WS api/measures/component_tree fix permissions and IT

tags/5.4-M5
Teryk Bellahsene 8 jaren geleden
bovenliggende
commit
bdadbd0391

+ 2
- 1
it/it-tests/src/test/java/it/measure/MeasuresWsTest.java Bestand weergeven

@@ -74,9 +74,10 @@ public class MeasuresWsTest {
.setAdditionalFields(newArrayList("metrics", "periods")));

assertThat(response).isNotNull();
assertThat(response.getBaseComponent().getKey()).isEqualTo("sample");
assertThat(response.getMetrics().getMetricsList()).extracting("key").containsOnly("ncloc");
List<WsMeasures.Component> components = response.getComponentsList();
assertThat(components).hasSize(2).extracting("key").containsOnly("sample:src/main/xoo/sample", FILE_KEY);
assertThat(components.get(0).getMeasuresList().get(0).getValue()).isEqualTo("13");
assertThat(components.get(0).getMeasures().getMeasuresList().get(0).getValue()).isEqualTo("13");
}
}

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/measure/ws/ComponentTreeDataLoader.java Bestand weergeven

@@ -333,9 +333,9 @@ public class ComponentTreeDataLoader {

private void checkPermissions(ComponentDto baseComponent) {
String projectUuid = firstNonNull(baseComponent.projectUuid(), baseComponent.uuid());
if (!userSession.hasGlobalPermission(GlobalPermissions.SYSTEM_ADMIN) &&
!userSession.hasProjectPermissionByUuid(UserRole.ADMIN, projectUuid) &&
!userSession.hasProjectPermissionByUuid(UserRole.USER, projectUuid)) {
if (!userSession.hasPermission(GlobalPermissions.SYSTEM_ADMIN) &&
!userSession.hasComponentUuidPermission(UserRole.ADMIN, projectUuid) &&
!userSession.hasComponentUuidPermission(UserRole.USER, projectUuid)) {
throw insufficientPrivilegesException();
}
}

Laden…
Annuleren
Opslaan