Browse Source

SONAR-11570 Add period back to QG conditions recomputed on UI change

tags/7.6
Janos Gyerik 5 years ago
parent
commit
ea0f9ffd3b

+ 32
- 0
server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/qualitygatedetails/QualityGateDetailsDataTest.java View File

@@ -79,6 +79,38 @@ public class QualityGateDetailsDataTest {
"}");
}

@Test
public void verify_json_for_condition_on_leak_metric() {
String value = "actualValue";
Condition condition = new Condition(new MetricImpl(1, "new_key1", "name1", Metric.MetricType.STRING), Condition.Operator.GREATER_THAN.getDbValue(), "errorTh");
ImmutableList<EvaluatedCondition> evaluatedConditions = ImmutableList.of(
new EvaluatedCondition(condition, Measure.Level.OK, value),
new EvaluatedCondition(condition, Measure.Level.ERROR, value));
String actualJson = new QualityGateDetailsData(Measure.Level.OK, evaluatedConditions, false).toJson();

JsonAssert.assertJson(actualJson).isSimilarTo("{" +
"\"level\":\"OK\"," +
"\"conditions\":[" +
" {" +
" \"metric\":\"new_key1\"," +
" \"op\":\"GT\"," +
" \"error\":\"errorTh\"," +
" \"actual\":\"actualValue\"," +
" \"period\":1," +
" \"level\":\"OK\"" +
" }," +
" {" +
" \"metric\":\"new_key1\"," +
" \"op\":\"GT\"," +
" \"error\":\"errorTh\"," +
" \"actual\":\"actualValue\"," +
" \"period\":1," +
" \"level\":\"ERROR\"" +
" }" +
"]" +
"}");
}

@Test
public void verify_json_for_small_leak() {
String actualJson = new QualityGateDetailsData(Measure.Level.OK, Collections.emptyList(), false).toJson();

+ 3
- 0
server/sonar-server/src/main/java/org/sonar/server/qualitygate/QualityGateConverter.java View File

@@ -49,6 +49,9 @@ public class QualityGateConverter {
JsonObject result = new JsonObject();
result.addProperty("metric", condition.getMetricKey());
result.addProperty("op", condition.getOperator().getDbValue());
if (condition.isOnLeakPeriod()) {
result.addProperty("period", 1);
}
result.addProperty("error", condition.getErrorThreshold());
evaluatedCondition.getValue().ifPresent(v -> result.addProperty("actual", v));
result.addProperty(FIELD_LEVEL, evaluatedCondition.getStatus().name());

Loading…
Cancel
Save