From bc5f256338bf3b46834f1dde1113d31cf79dead8 Mon Sep 17 00:00:00 2001 From: Duarte Meneses Date: Mon, 11 Jun 2018 17:32:21 +0200 Subject: [PATCH] SONAR-10587 Don't return external issues in batch/issues --- .../src/main/resources/org/sonar/db/issue/IssueMapper.xml | 4 ++-- .../test/java/org/sonar/server/batch/IssuesActionTest.java | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml index d541fade3ca..122f92b4944 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/issue/IssueMapper.xml @@ -206,7 +206,7 @@ inner join projects p on p.uuid=i.component_uuid inner join projects root on root.uuid=i.project_uuid where - r.is_external = ${_false} and + (r.is_external is NULL or r.is_external = ${_false}) and i.component_uuid = #{componentUuid,jdbcType=VARCHAR} and i.status <> 'CLOSED' @@ -259,7 +259,7 @@ inner join projects p on p.uuid = i.component_uuid inner join projects root on root.uuid = i.project_uuid where - r.is_external = ${_false} and + (r.is_external is NULL or r.is_external = ${_false}) and i.project_uuid = #{projectUuid, jdbcType=VARCHAR} and p.module_uuid_path like #{likeModuleUuidPath, jdbcType=VARCHAR} escape '/' and i.status <> 'CLOSED' diff --git a/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java index fc85bda10e2..195086c3d3b 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java @@ -173,6 +173,10 @@ public class IssuesActionTest { RuleDefinitionDto external = db.rules().insert(ruleDefinitionDto -> ruleDefinitionDto.setIsExternal(true)); IssueDto issueFromExteralruleOnFile = db.issues().insert(external, project, file, i -> i.setKee("ON_FILE_FROM_EXTERNAL")); + + RuleDefinitionDto migrated = db.rules().insert(); + db.executeUpdateSql("update rules set is_external = NULL where rules.id = ?", migrated.getId()); + IssueDto issueFromMigratedRule = db.issues().insert(migrated, project, file, i -> i.setKee("MIGRATED")); addPermissionTo(project); try (CloseableIterator result = callStream(project.getKey(), null)) { @@ -181,7 +185,8 @@ public class IssuesActionTest { .containsExactlyInAnyOrder( tuple(issueOnFile.getKey(), module.getKey()), tuple(issueOnModule.getKey(), module.getKey()), - tuple(issueOnProject.getKey(), project.getKey())); + tuple(issueOnProject.getKey(), project.getKey()), + tuple(issueFromMigratedRule.getKey(), module.getKey())); } } -- 2.39.5