use of org.sonarqube.ws.WsMeasures.Measure in project sonarqube by SonarSource.
the class QualityGateTest method conditions_on_multiple_metric_types.
@Test
public void conditions_on_multiple_metric_types() throws IOException {
QualityGate allTypes = qgClient().create("AllMetricTypes");
qgClient().createCondition(NewCondition.create(allTypes.id()).metricKey("ncloc").operator("GT").warningThreshold("10"));
qgClient().createCondition(NewCondition.create(allTypes.id()).metricKey("duplicated_lines_density").operator("GT").warningThreshold("20"));
qgClient().setDefault(allTypes.id());
try {
SonarScanner build = SonarScanner.create(projectDir("qualitygate/xoo-sample")).setProperty("sonar.cpd.xoo.minimumLines", "2").setProperty("sonar.cpd.xoo.minimumTokens", "5");
BuildResult buildResult = orchestrator.executeBuild(build);
verifyQGStatusInPostTask(buildResult, TASK_STATUS_SUCCESS, QG_STATUS_WARN);
Measure alertStatus = getGateStatusMeasure();
assertThat(alertStatus.getValue()).isEqualTo("WARN");
String qualityGateDetailJson = ItUtils.getMeasure(orchestrator, PROJECT_KEY, "quality_gate_details").getValue();
assertThat(QualityGateDetails.parse(qualityGateDetailJson).getConditions()).extracting(QualityGateDetails.Conditions::getMetric, QualityGateDetails.Conditions::getOp, QualityGateDetails.Conditions::getWarning).contains(tuple("ncloc", "GT", "10"), tuple("duplicated_lines_density", "GT", "20"));
} finally {
qgClient().unsetDefault();
qgClient().destroy(allTypes.id());
}
}
use of org.sonarqube.ws.WsMeasures.Measure in project sonar-web by SonarSource.
the class WebTestSuite method getMeasure.
@CheckForNull
static Measure getMeasure(Orchestrator orchestrator, String componentKey, String metricKey) {
WsMeasures.ComponentWsResponse response = newWsClient(orchestrator).measures().component(new ComponentWsRequest().setComponentKey(componentKey).setMetricKeys(Collections.singletonList(metricKey)));
List<Measure> measures = response.getComponent().getMeasuresList();
return measures.size() == 1 ? measures.get(0) : null;
}
Aggregations