diff options
author | Eric Hartmann <hartmann.eric@gmail.com> | 2018-10-19 10:50:07 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2018-10-25 20:21:01 +0200 |
commit | e14f55a7bb0ca1bfcc8d2a584146c54964ef0952 (patch) | |
tree | d762a3f3ab3b81b3fd6bf769d68ac27e738bbab8 /server/sonar-db-dao | |
parent | 069f74065ca3f4449dc2685fc73c000958d9cc75 (diff) | |
download | sonarqube-e14f55a7bb0ca1bfcc8d2a584146c54964ef0952.tar.gz sonarqube-e14f55a7bb0ca1bfcc8d2a584146c54964ef0952.zip |
SONAR-11370 Add number of rules and active rules on Security Report
Diffstat (limited to 'server/sonar-db-dao')
-rw-r--r-- | server/sonar-db-dao/src/main/resources/org/sonar/db/rule/RuleMapper.xml | 2 | ||||
-rw-r--r-- | server/sonar-db-dao/src/test/java/org/sonar/db/rule/RuleDaoTest.java | 35 |
2 files changed, 36 insertions, 1 deletions
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/rule/RuleMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/rule/RuleMapper.xml index 60d92465953..920726f8b0f 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/rule/RuleMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/rule/RuleMapper.xml @@ -303,7 +303,7 @@ rules r <include refid="outerJoinRulesMetadata"/> where - r.status != 'REMOVED' + r.status != 'REMOVED' and r.is_external is false and r.is_template is false and r.rule_type in <foreach collection="types" item="type" separator="," open="(" close=")">#{type, jdbcType=INTEGER}</foreach> and r.language in <foreach collection="languages" item="language" separator="," open="(" close=")">#{language, jdbcType=VARCHAR}</foreach> </select> diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/rule/RuleDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/rule/RuleDaoTest.java index 946ca37331f..606d28e09a4 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/rule/RuleDaoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/rule/RuleDaoTest.java @@ -19,6 +19,7 @@ */ package org.sonar.db.rule; +import com.hazelcast.map.impl.querycache.accumulator.Accumulator; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -526,6 +527,40 @@ public class RuleDaoTest { } @Test + public void selectByTypeAndLanguages_ignores_external_rules() { + OrganizationDto organization = db.organizations().insert(); + + RuleDefinitionDto rule1 = db.rules().insert( + r -> r.setKey(RuleKey.of("java", "S001")) + .setConfigKey("S1") + .setType(RuleType.VULNERABILITY) + .setIsExternal(true) + .setLanguage("java")); + db.rules().insertOrUpdateMetadata(rule1, organization); + + assertThat(underTest.selectByTypeAndLanguages(db.getSession(), organization.getUuid(), singletonList(RuleType.VULNERABILITY.getDbConstant()), singletonList("java"))) + .extracting(RuleDto::getOrganizationUuid, RuleDto::getId, RuleDto::getLanguage, RuleDto::getType) + .isEmpty(); + } + + @Test + public void selectByTypeAndLanguages_ignores_template_rules() { + OrganizationDto organization = db.organizations().insert(); + + RuleDefinitionDto rule1 = db.rules().insert( + r -> r.setKey(RuleKey.of("java", "S001")) + .setConfigKey("S1") + .setType(RuleType.VULNERABILITY) + .setIsTemplate(true) + .setLanguage("java")); + db.rules().insertOrUpdateMetadata(rule1, organization); + + assertThat(underTest.selectByTypeAndLanguages(db.getSession(), organization.getUuid(), singletonList(RuleType.VULNERABILITY.getDbConstant()), singletonList("java"))) + .extracting(RuleDto::getOrganizationUuid, RuleDto::getId, RuleDto::getLanguage, RuleDto::getType) + .isEmpty(); + } + + @Test public void select_by_query() { OrganizationDto organization = db.organizations().insert(); RuleDefinitionDto rule1 = db.rules().insert(r -> r.setKey(RuleKey.of("java", "S001")).setConfigKey("S1")); |