use of org.sonar.api.measures.Metric in project sonarqube by SonarSource.
the class RegisterMetrics method getPluginMetrics.
@VisibleForTesting
List<Metric> getPluginMetrics() {
List<Metric> metricsToRegister = newArrayList();
Map<String, Metrics> metricsByRepository = Maps.newHashMap();
for (Metrics metrics : metricsRepositories) {
checkMetrics(metricsByRepository, metrics);
metricsToRegister.addAll(metrics.getMetrics());
}
return metricsToRegister;
}
use of org.sonar.api.measures.Metric in project sonarqube by SonarSource.
the class RegisterMetrics method checkMetrics.
private void checkMetrics(Map<String, Metrics> metricsByRepository, Metrics metrics) {
for (Metric metric : metrics.getMetrics()) {
String metricKey = metric.getKey();
if (CoreMetrics.getMetrics().contains(metric)) {
throw new IllegalStateException(String.format("Metric [%s] is already defined by SonarQube", metricKey));
}
Metrics anotherRepository = metricsByRepository.get(metricKey);
if (anotherRepository != null) {
throw new IllegalStateException(String.format("Metric [%s] is already defined by the repository [%s]", metricKey, anotherRepository));
}
metricsByRepository.put(metricKey, metrics);
}
}
use of org.sonar.api.measures.Metric in project sonarqube by SonarSource.
the class CoreCustomMetricsTest method checkDefinitions.
@Test
public void checkDefinitions() {
CoreCustomMetrics coreCustomMetrics = new CoreCustomMetrics();
List<Metric> metrics = coreCustomMetrics.getMetrics();
assertThat(metrics.size()).isGreaterThan(2);
for (Metric metric : metrics) {
assertThat(metric.getUserManaged()).isTrue();
assertThat(metric.getDomain()).isEqualTo("Management");
}
}
use of org.sonar.api.measures.Metric in project sonarqube by SonarSource.
the class QualityGatesTest method should_list_gate_metrics.
@Test
public void should_list_gate_metrics() {
Metric dataMetric = mock(Metric.class);
when(dataMetric.isDataType()).thenReturn(true);
Metric hiddenMetric = mock(Metric.class);
when(hiddenMetric.isHidden()).thenReturn(true);
Metric nullHiddenMetric = mock(Metric.class);
when(nullHiddenMetric.isHidden()).thenReturn(null);
Metric alertMetric = CoreMetrics.ALERT_STATUS;
Metric ratingMetric = mock(Metric.class);
when(ratingMetric.getType()).thenReturn(ValueType.RATING);
Metric classicMetric = mock(Metric.class);
when(classicMetric.getType()).thenReturn(ValueType.BOOL);
when(metricFinder.findAll()).thenReturn(ImmutableList.of(dataMetric, hiddenMetric, nullHiddenMetric, alertMetric, ratingMetric, classicMetric));
}
use of org.sonar.api.measures.Metric in project sonarqube by SonarSource.
the class QualityGatesTest method should_list_conditions.
@Test
public void should_list_conditions() {
long qGateId = QUALITY_GATE_ID;
long metric1Id = 1L;
String metric1Key = "polop";
long metric2Id = 2L;
String metric2Key = "palap";
QualityGateConditionDto cond1 = new QualityGateConditionDto().setMetricId(metric1Id);
QualityGateConditionDto cond2 = new QualityGateConditionDto().setMetricId(metric2Id);
Collection<QualityGateConditionDto> conditions = ImmutableList.of(cond1, cond2);
when(conditionDao.selectForQualityGate(dbSession, qGateId)).thenReturn(conditions);
Metric metric1 = mock(Metric.class);
when(metric1.getKey()).thenReturn(metric1Key);
when(metricFinder.findById((int) metric1Id)).thenReturn(metric1);
Metric metric2 = mock(Metric.class);
when(metric2.getKey()).thenReturn(metric2Key);
when(metricFinder.findById((int) metric2Id)).thenReturn(metric2);
assertThat(underTest.listConditions(qGateId)).isEqualTo(conditions);
Iterator<QualityGateConditionDto> iterator = conditions.iterator();
assertThat(iterator.next().getMetricKey()).isEqualTo(metric1Key);
assertThat(iterator.next().getMetricKey()).isEqualTo(metric2Key);
}
Aggregations