private void save(DbSession session, Iterable<Metric> metrics) {
Map<String, MetricDto> basesByKey = new HashMap<>();
- for (MetricDto base : from(dbClient.metricDao().selectEnabled(session)).toList()) {
+ for (MetricDto base : from(dbClient.metricDao().selectAll(session)).toList()) {
basesByKey.put(base.getKey(), base);
}
dbTester.assertDbUnit(getClass(), "disable_undefined_metrics-result.xml", "metrics");
}
+ @Test
+ public void enable_disabled_metrics() {
+ dbTester.prepareDbUnit(getClass(), "enable_disabled_metric.xml");
+
+ RegisterMetrics register = new RegisterMetrics(dbClient);
+ Metric m1 = new Metric.Builder("m1", "New name", Metric.ValueType.FLOAT)
+ .setDescription("new description")
+ .setDirection(-1)
+ .setQualitative(true)
+ .setDomain("new domain")
+ .setUserManaged(false)
+ .setHidden(true)
+ .create();
+ register.register(asList(m1));
+
+ dbTester.assertDbUnit(getClass(), "enable_disabled_metric-result.xml", "metrics");
+ }
+
@Test
public void insert_core_metrics() {
dbTester.truncateTables();
--- /dev/null
+<dataset>
+
+ <metrics delete_historical_data="[false]" id="1" name="m1" val_type="FLOAT" description="new description" domain="new domain"
+ short_name="New name" qualitative="[true]" user_managed="[false]"
+ enabled="[true]"
+ worst_value="[null]"
+ optimized_best_value="[false]" best_value="[null]" direction="-1" hidden="[true]"/>
+
+</dataset>
--- /dev/null
+<dataset>
+
+ <metrics delete_historical_data="[false]" id="1" name="m1" val_type="FLOAT" description="desc1" domain="domain1"
+ short_name="One" qualitative="[true]" user_managed="[false]"
+ enabled="[false]"
+ worst_value="[null]"
+ optimized_best_value="[false]" best_value="[null]" direction="1" hidden="[false]"/>
+
+</dataset>
return metric;
}
+ public List<MetricDto> selectAll(DbSession session) {
+ return mapper(session).selectAll();
+ }
+
public List<MetricDto> selectEnabled(DbSession session) {
return mapper(session).selectAllEnabled();
}
List<MetricDto> selectByKeys(@Param("keys") List<String> keys);
+ List<MetricDto> selectAll();
+
List<MetricDto> selectAllEnabled();
List<MetricDto> selectAllEnabled(Map<String, Object> properties, RowBounds rowBounds);
</where>
</select>
+ <select id="selectAll" resultType="org.sonar.db.metric.MetricDto">
+ SELECT
+ <include refid="metricColumns"/>
+ FROM metrics m
+ ORDER BY UPPER(m.short_name), m.short_name
+ </select>
+
<select id="selectAllEnabled" parameterType="map" resultType="org.sonar.db.metric.MetricDto">
SELECT
<include refid="metricColumns"/>
assertThat(underTest.selectEnabled(session)).hasSize(2);
}
+ @Test
+ public void find_all() {
+ dbTester.prepareDbUnit(getClass(), "shared.xml");
+
+ assertThat(underTest.selectAll(session)).extracting("id").containsExactly(2, 3, 1);
+ }
+
@Test
public void insert() {
underTest.insert(session, new MetricDto()