aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2015-07-23 17:58:02 +0200
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2015-07-24 09:22:47 +0200
commit2659bc296bc643229ff65163aba71a4642362194 (patch)
treed1b24a64eae8b5b17849ad76c4c00daab60e3260
parent5792a69db7fa49a2f865a6018e25555254a20674 (diff)
downloadsonarqube-2659bc296bc643229ff65163aba71a4642362194.tar.gz
sonarqube-2659bc296bc643229ff65163aba71a4642362194.zip
Improve MetricDao code coverage
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/metric/ws/DeleteAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/metric/ws/DomainsAction.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CustomMeasureValidatorTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/metric/ws/CreateActionTest.java1
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/metric/ws/DeleteActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/metric/ws/DomainsActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/metric/ws/SearchActionTest.java2
-rw-r--r--sonar-db/src/main/java/org/sonar/db/metric/MetricDao.java12
-rw-r--r--sonar-db/src/test/java/org/sonar/db/metric/MetricDaoTest.java169
-rw-r--r--sonar-db/src/test/java/org/sonar/db/metric/MetricTesting.java (renamed from server/sonar-server/src/test/java/org/sonar/server/metric/ws/MetricTesting.java)3
15 files changed, 177 insertions, 30 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DeleteAction.java b/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DeleteAction.java
index f46b50bb8fb..016f5d6ce8e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DeleteAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DeleteAction.java
@@ -74,7 +74,7 @@ public class DeleteAction implements MetricsWsAction {
DbSession dbSession = dbClient.openSession(false);
try {
List<Integer> ids = loadIds(dbSession, request);
- dbClient.metricDao().disableByIds(dbSession, ids);
+ dbClient.metricDao().disableCustomByIds(dbSession, ids);
dbClient.customMeasureDao().deleteByMetricIds(dbSession, ids);
dbSession.commit();
} finally {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DomainsAction.java b/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DomainsAction.java
index f2867541b15..726575d2c05 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DomainsAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/metric/ws/DomainsAction.java
@@ -51,7 +51,7 @@ public class DomainsAction implements MetricsWsAction {
public void handle(Request request, Response response) throws Exception {
DbSession dbSession = dbClient.openSession(false);
try {
- List<String> domains = dbClient.metricDao().selectDomains(dbSession);
+ List<String> domains = dbClient.metricDao().selectEnabledDomains(dbSession);
JsonWriter json = response.newJsonWriter();
json.beginObject();
writeDomains(json, domains);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java b/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java
index 383d349e624..faa8b3c84b4 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java
@@ -104,7 +104,7 @@ public class RegisterMetrics {
for (MetricDto nonUpdatedBase : basesByKey.values()) {
if (!nonUpdatedBase.isUserManaged()) {
LOG.info("Disable metric {} [{}]", nonUpdatedBase.getShortName(), nonUpdatedBase.getKey());
- dbClient.metricDao().disableByKey(session, nonUpdatedBase.getKey());
+ dbClient.metricDao().disableCustomByKey(session, nonUpdatedBase.getKey());
}
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java
index d6652bd2c32..ef1bc03b96d 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java
@@ -52,7 +52,7 @@ import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.exceptions.ServerException;
import org.sonar.db.measure.custom.CustomMeasureDao;
import org.sonar.db.metric.MetricDao;
-import org.sonar.server.metric.ws.MetricTesting;
+import org.sonar.db.metric.MetricTesting;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.user.index.UserDoc;
import org.sonar.server.user.index.UserIndex;
diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CustomMeasureValidatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CustomMeasureValidatorTest.java
index 5fd4834e24d..93e284c9932 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CustomMeasureValidatorTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CustomMeasureValidatorTest.java
@@ -36,7 +36,7 @@ import static org.sonar.api.measures.Metric.ValueType.INT;
import static org.sonar.api.measures.Metric.ValueType.LEVEL;
import static org.sonar.api.measures.Metric.ValueType.STRING;
import static org.sonar.api.measures.Metric.ValueType.WORK_DUR;
-import static org.sonar.server.metric.ws.MetricTesting.newMetricDto;
+import static org.sonar.db.metric.MetricTesting.newMetricDto;
import static org.sonar.server.util.TypeValidationsTesting.newFullTypeValidations;
public class CustomMeasureValidatorTest {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java
index 474e30302b3..5bf699e9cf4 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java
@@ -56,7 +56,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.db.measure.custom.CustomMeasureTesting.newCustomMeasureDto;
import static org.sonar.server.measure.custom.ws.CustomMeasuresWs.ENDPOINT;
import static org.sonar.server.measure.custom.ws.MetricsAction.ACTION;
-import static org.sonar.server.metric.ws.MetricTesting.newMetricDto;
+import static org.sonar.db.metric.MetricTesting.newMetricDto;
@Category(DbTests.class)
public class MetricsActionTest {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java
index 000738435e9..1355da06866 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java
@@ -61,7 +61,7 @@ import org.sonar.server.ws.WsTester;
import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.db.measure.custom.CustomMeasureTesting.newCustomMeasureDto;
-import static org.sonar.server.metric.ws.MetricTesting.newMetricDto;
+import static org.sonar.db.metric.MetricTesting.newMetricDto;
public class SearchActionTest {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java
index a086593bcc8..420bafe9d8d 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java
@@ -46,7 +46,7 @@ import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.ServerException;
import org.sonar.server.exceptions.UnauthorizedException;
import org.sonar.db.metric.MetricDao;
-import org.sonar.server.metric.ws.MetricTesting;
+import org.sonar.db.metric.MetricTesting;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.user.index.UserDoc;
import org.sonar.server.user.index.UserIndex;
diff --git a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/CreateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/CreateActionTest.java
index d844cdd171a..c57f6658689 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/CreateActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/CreateActionTest.java
@@ -32,6 +32,7 @@ import org.sonar.core.permission.GlobalPermissions;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.metric.MetricDto;
+import org.sonar.db.metric.MetricTesting;
import org.sonar.server.db.DbClient;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.ServerException;
diff --git a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DeleteActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DeleteActionTest.java
index 38079656bf5..1eb8133a449 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DeleteActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DeleteActionTest.java
@@ -47,7 +47,7 @@ import org.sonar.test.DbTests;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
-import static org.sonar.server.metric.ws.MetricTesting.newMetricDto;
+import static org.sonar.db.metric.MetricTesting.newMetricDto;
@Category(DbTests.class)
public class DeleteActionTest {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DomainsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DomainsActionTest.java
index 6281ef4e273..60d45f5dd64 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DomainsActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/DomainsActionTest.java
@@ -35,7 +35,7 @@ import org.sonar.server.ws.WsTester;
import org.sonar.test.DbTests;
import org.sonar.test.JsonAssert;
-import static org.sonar.server.metric.ws.MetricTesting.newMetricDto;
+import static org.sonar.db.metric.MetricTesting.newMetricDto;
@Category(DbTests.class)
public class DomainsActionTest {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/SearchActionTest.java
index c2add0c926e..86295881a30 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/SearchActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/metric/ws/SearchActionTest.java
@@ -37,7 +37,7 @@ import org.sonar.server.ws.WsTester;
import org.sonar.test.DbTests;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.sonar.server.metric.ws.MetricTesting.newMetricDto;
+import static org.sonar.db.metric.MetricTesting.newMetricDto;
import static org.sonar.server.metric.ws.SearchAction.PARAM_IS_CUSTOM;
@Category(DbTests.class)
diff --git a/sonar-db/src/main/java/org/sonar/db/metric/MetricDao.java b/sonar-db/src/main/java/org/sonar/db/metric/MetricDao.java
index 9780c00d382..1037ae9d331 100644
--- a/sonar-db/src/main/java/org/sonar/db/metric/MetricDao.java
+++ b/sonar-db/src/main/java/org/sonar/db/metric/MetricDao.java
@@ -82,8 +82,10 @@ public class MetricDao implements Dao {
return mapper(session).countEnabled(isCustom);
}
- public void insert(DbSession session, MetricDto dto) {
+ public MetricDto insert(DbSession session, MetricDto dto) {
mapper(session).insert(dto);
+
+ return dto;
}
public void insert(DbSession session, Collection<MetricDto> items) {
@@ -96,7 +98,7 @@ public class MetricDao implements Dao {
insert(session, Lists.asList(item, others));
}
- public List<String> selectDomains(DbSession session) {
+ public List<String> selectEnabledDomains(DbSession session) {
return newArrayList(Collections2.filter(mapper(session).selectDomains(), new NotEmptyPredicate()));
}
@@ -126,7 +128,7 @@ public class MetricDao implements Dao {
return session.getMapper(MetricMapper.class);
}
- public void disableByIds(final DbSession session, List<Integer> ids) {
+ public void disableCustomByIds(final DbSession session, List<Integer> ids) {
DatabaseUtils.executeLargeInputsWithoutOutput(ids, new Function<List<Integer>, Void>() {
@Override
public Void apply(@Nonnull List<Integer> input) {
@@ -136,7 +138,7 @@ public class MetricDao implements Dao {
});
}
- public void disableByKey(final DbSession session, String key) {
+ public void disableCustomByKey(final DbSession session, String key) {
mapper(session).disableByKey(key);
}
@@ -149,7 +151,7 @@ public class MetricDao implements Dao {
return mapper(session).selectById(id);
}
- public MetricDto selectOrFailById(DbSession session, int id) {
+ public MetricDto selectOrFailById(DbSession session, long id) {
MetricDto metric = mapper(session).selectById(id);
if (metric == null) {
throw new RowNotFoundException(String.format("Metric id '%d' not found", id));
diff --git a/sonar-db/src/test/java/org/sonar/db/metric/MetricDaoTest.java b/sonar-db/src/test/java/org/sonar/db/metric/MetricDaoTest.java
index 0917d79d021..ca6767e6702 100644
--- a/sonar-db/src/test/java/org/sonar/db/metric/MetricDaoTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/metric/MetricDaoTest.java
@@ -20,34 +20,41 @@
package org.sonar.db.metric;
+import java.util.Arrays;
+import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.junit.rules.ExpectedException;
import org.sonar.api.utils.System2;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.RowNotFoundException;
import org.sonar.test.DbTests;
+import static com.google.common.collect.Sets.newHashSet;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.sonar.db.metric.MetricTesting.newMetricDto;
@Category(DbTests.class)
public class MetricDaoTest {
@Rule
public DbTester dbTester = DbTester.create(System2.INSTANCE);
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
DbSession session;
- MetricDao dao;
+ MetricDao underTest;
@Before
public void createDao() {
dbTester.truncateTables();
session = dbTester.myBatis().openSession(false);
- dao = new MetricDao();
+ underTest = new MetricDao();
}
@After
@@ -56,10 +63,10 @@ public class MetricDaoTest {
}
@Test
- public void get_by_key() {
+ public void select_by_key() {
dbTester.prepareDbUnit(getClass(), "shared.xml");
- MetricDto result = dao.selectByKey(session, "coverage");
+ MetricDto result = underTest.selectByKey(session, "coverage");
assertThat(result.getId()).isEqualTo(2);
assertThat(result.getKey()).isEqualTo("coverage");
assertThat(result.getShortName()).isEqualTo("Coverage");
@@ -77,21 +84,21 @@ public class MetricDaoTest {
assertThat(result.isEnabled()).isTrue();
// Disabled metrics are returned
- result = dao.selectByKey(session, "disabled");
+ result = underTest.selectByKey(session, "disabled");
assertThat(result.getId()).isEqualTo(3);
assertThat(result.isEnabled()).isFalse();
}
@Test(expected = RowNotFoundException.class)
- public void get_nullable_by_key() {
- dao.selectOrFailByKey(session, "unknown");
+ public void select_or_fail_by_key() {
+ underTest.selectOrFailByKey(session, "unknown");
}
@Test
public void get_manual_metric() {
dbTester.prepareDbUnit(getClass(), "manual_metric.xml");
- MetricDto result = dao.selectByKey(session, "manual");
+ MetricDto result = underTest.selectByKey(session, "manual");
assertThat(result.getId()).isEqualTo(1);
assertThat(result.getKey()).isEqualTo("manual");
assertThat(result.getShortName()).isEqualTo("Manual metric");
@@ -113,12 +120,12 @@ public class MetricDaoTest {
public void find_all_enabled() {
dbTester.prepareDbUnit(getClass(), "shared.xml");
- assertThat(dao.selectEnabled(session)).hasSize(2);
+ assertThat(underTest.selectEnabled(session)).hasSize(2);
}
@Test
public void insert() {
- dao.insert(session, new MetricDto()
+ underTest.insert(session, new MetricDto()
.setKey("coverage")
.setShortName("Coverage")
.setDescription("Coverage by unit tests")
@@ -134,7 +141,7 @@ public class MetricDaoTest {
.setDeleteHistoricalData(true)
.setEnabled(true));
- MetricDto result = dao.selectByKey(session, "coverage");
+ MetricDto result = underTest.selectByKey(session, "coverage");
assertThat(result.getId()).isNotNull();
assertThat(result.getKey()).isEqualTo("coverage");
assertThat(result.getShortName()).isEqualTo("Coverage");
@@ -154,7 +161,7 @@ public class MetricDaoTest {
@Test
public void insert_metrics() {
- dao.insert(session, new MetricDto()
+ underTest.insert(session, new MetricDto()
.setKey("coverage")
.setShortName("Coverage")
.setDescription("Coverage by unit tests")
@@ -188,4 +195,142 @@ public class MetricDaoTest {
assertThat(dbTester.countRowsOfTable("metrics")).isEqualTo(2);
}
+
+ @Test
+ public void selectById() {
+ MetricDto metric = underTest.insert(session, newMetricDto());
+
+ MetricDto result = underTest.selectById(session, metric.getId());
+
+ assertThat(result).isNotNull();
+ }
+
+ @Test
+ public void selectOrFailById() {
+ MetricDto metric = underTest.insert(session, newMetricDto());
+
+ MetricDto result = underTest.selectOrFailById(session, metric.getId());
+
+ assertThat(result).isNotNull();
+ }
+
+ @Test
+ public void fail_when_no_id_selectOrFailById() {
+ thrown.expect(RowNotFoundException.class);
+
+ underTest.selectOrFailById(session, 42L);
+ }
+
+ @Test
+ public void selectByIds() {
+ MetricDto metric1 = underTest.insert(session, newMetricDto());
+ MetricDto metric2 = underTest.insert(session, newMetricDto());
+
+ List<MetricDto> result = underTest.selectByIds(session, newHashSet(metric1.getId(), metric2.getId()));
+
+ assertThat(result).hasSize(2);
+ }
+
+ @Test
+ public void update() {
+ MetricDto metric = underTest.insert(session, newMetricDto().setKey("first-key"));
+
+ underTest.update(session, metric.setKey("second-key"));
+
+ MetricDto result = underTest.selectByKey(session, "second-key");
+ assertThat(result).isNotNull();
+ }
+
+ @Test
+ public void countEnabled() {
+ underTest.insert(session, newMetricDto().setEnabled(true).setUserManaged(true));
+ underTest.insert(session, newMetricDto().setEnabled(true).setUserManaged(true));
+ underTest.insert(session, newMetricDto().setEnabled(false));
+
+ int result = underTest.countEnabled(session, true);
+
+ assertThat(result).isEqualTo(2);
+ }
+
+ @Test
+ public void selectDomains() {
+ underTest.insert(session, newMetricDto().setDomain("first-domain").setEnabled(true));
+ underTest.insert(session, newMetricDto().setDomain("second-domain").setEnabled(true));
+ underTest.insert(session, newMetricDto().setDomain("second-domain").setEnabled(true));
+ underTest.insert(session, newMetricDto().setDomain("third-domain").setEnabled(true));
+
+ List<String> domains = underTest.selectEnabledDomains(session);
+
+ assertThat(domains).hasSize(3).containsOnly("first-domain", "second-domain", "third-domain");
+ }
+
+ @Test
+ public void selectByKeys() {
+ underTest.insert(session, newMetricDto().setKey("first-key"));
+ underTest.insert(session, newMetricDto().setKey("second-key"));
+ underTest.insert(session, newMetricDto().setKey("third-key"));
+
+ List<MetricDto> result = underTest.selectByKeys(session, Arrays.asList("first-key", "second-key", "third-key"));
+
+ assertThat(result).hasSize(3)
+ .extracting("key").containsOnly("first-key", "second-key", "third-key");
+ }
+
+ @Test
+ public void disableByIds() {
+ MetricDto metric1 = underTest.insert(session, newMetricDto().setEnabled(true).setUserManaged(true));
+ MetricDto metric2 = underTest.insert(session, newMetricDto().setEnabled(true).setUserManaged(true));
+
+ underTest.disableCustomByIds(session, Arrays.asList(metric1.getId(), metric2.getId()));
+
+ List<MetricDto> result = underTest.selectByIds(session, newHashSet(metric1.getId(), metric2.getId()));
+ assertThat(result).hasSize(2);
+ assertThat(result).extracting("enabled").containsOnly(false);
+ }
+
+ @Test
+ public void disableByKey() {
+ underTest.insert(session, newMetricDto().setKey("metric-key").setEnabled(true).setUserManaged(true));
+
+ underTest.disableCustomByKey(session, "metric-key");
+
+ MetricDto result = underTest.selectByKey(session, "metric-key");
+ assertThat(result.isEnabled()).isFalse();
+ }
+
+ @Test
+ public void selectOrFailByKey() {
+ underTest.insert(session, newMetricDto().setKey("metric-key"));
+
+ MetricDto result = underTest.selectOrFailByKey(session, "metric-key");
+
+ assertThat(result).isNotNull();
+ assertThat(result.getKey()).isEqualTo("metric-key");
+ }
+
+ @Test
+ public void selectEnabled_with_paging_and_custom() {
+ underTest.insert(session, newMetricDto().setUserManaged(true).setEnabled(true));
+ underTest.insert(session, newMetricDto().setUserManaged(true).setEnabled(true));
+ underTest.insert(session, newMetricDto().setUserManaged(true).setEnabled(true));
+ underTest.insert(session, newMetricDto().setUserManaged(false).setEnabled(true));
+ underTest.insert(session, newMetricDto().setUserManaged(true).setEnabled(false));
+
+ List<MetricDto> result = underTest.selectEnabled(session, true, 0, 100);
+
+ assertThat(result).hasSize(3);
+ }
+
+ @Test
+ public void selectAvailableByComponentUuid() {
+ underTest.insert(session, newMetricDto().setUserManaged(true).setEnabled(true).setKey("metric-key"));
+ underTest.insert(session, newMetricDto().setUserManaged(false).setEnabled(true).setKey("another-metric-key"));
+ underTest.insert(session, newMetricDto().setUserManaged(true).setEnabled(false).setKey("third-metric-key"));
+
+ List<MetricDto> result = underTest.selectAvailableCustomMetricsByComponentUuid(session, "project-uuid");
+
+ assertThat(result).hasSize(1)
+ .extracting("key").containsOnly("metric-key");
+
+ }
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/MetricTesting.java b/sonar-db/src/test/java/org/sonar/db/metric/MetricTesting.java
index f04d3f1152b..502f23ea5b7 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/metric/ws/MetricTesting.java
+++ b/sonar-db/src/test/java/org/sonar/db/metric/MetricTesting.java
@@ -18,12 +18,11 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.server.metric.ws;
+package org.sonar.db.metric;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.math.RandomUtils;
import org.sonar.api.measures.Metric;
-import org.sonar.db.metric.MetricDto;
public class MetricTesting {
private MetricTesting() {