private static void processQualityGateStatus(Criterion criterion, ProjectMeasuresQuery query) { checkOperator(criterion); checkValue(criterion); Operator operator = criterion.getOperator(); String value = criterion.getValue(); checkArgument(EQ.equals(operator), "Only equals operator is available for quality gate criteria"); Level qualityGate = Arrays.stream(Level.values()).filter(level -> level.name().equalsIgnoreCase(value)).findFirst() .orElseThrow(() -> new IllegalArgumentException(format("Unknown quality gate status : '%s'", value))); query.setQualityGateStatus(qualityGate); }
@DataProvider public static Object[][] allCombinationsOfStatuses() { Metric.Level[] levelsAndNull = concat(of((Metric.Level) null), stream(Metric.Level.values())) .toArray(Metric.Level[]::new); Object[][] res = new Object[levelsAndNull.length * levelsAndNull.length][2]; int i = 0; for (Metric.Level previousStatus : Arrays.asList(levelsAndNull)) { for (Metric.Level newStatus : Arrays.asList(levelsAndNull)) { res[i][0] = previousStatus; res[i][1] = newStatus; i++; } } return res; }
private static QGChangeEvent newQGChangeEvent(ComponentAndBranch branch, SnapshotDto analysis, Configuration configuration, @Nullable EvaluatedQualityGate evaluatedQualityGate) { Metric.Level previousStatus = randomLevel(); if (evaluatedQualityGate != null) { Metric.Level otherLevel = stream(Metric.Level.values()) .filter(s -> s != previousStatus) .toArray(Metric.Level[]::new)[new Random().nextInt(Metric.Level.values().length - 1)]; when(evaluatedQualityGate.getStatus()).thenReturn(otherLevel); } return new QGChangeEvent(branch.component, branch.branch, analysis, configuration, previousStatus, () -> Optional.ofNullable(evaluatedQualityGate)); }
private static void processQualityGateStatus(Criterion criterion, ProjectMeasuresQuery query) { checkOperator(criterion); checkValue(criterion); Operator operator = criterion.getOperator(); String value = criterion.getValue(); checkArgument(EQ.equals(operator), "Only equals operator is available for quality gate criteria"); Level qualityGate = Arrays.stream(Level.values()).filter(level -> level.name().equalsIgnoreCase(value)).findFirst() .orElseThrow(() -> new IllegalArgumentException(format("Unknown quality gate status : '%s'", value))); query.setQualityGateStatus(qualityGate); }
@DataProvider public static Object[][] metricLevels() { return Arrays.stream(Metric.Level.values()) .map(l -> new Object[] {l}) .toArray(Object[][]::new); }