diff options
author | Steve Marion <unknown> | 2023-07-26 17:49:52 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-08-02 20:03:03 +0000 |
commit | 6365d7447e159d3cc255e381b67894f3827bcd6c (patch) | |
tree | c0f17c6c12ede18d803cf8397eb4eafabce072e6 /server/sonar-ce-task-projectanalysis/src/it | |
parent | 40919a571ab3d2b3e87689e47473b64a7eda9e56 (diff) | |
download | sonarqube-6365d7447e159d3cc255e381b67894f3827bcd6c.tar.gz sonarqube-6365d7447e159d3cc255e381b67894f3827bcd6c.zip |
SONAR-20061 purge used anticipated_transition
Diffstat (limited to 'server/sonar-ce-task-projectanalysis/src/it')
-rw-r--r-- | server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java index 4c97694f98b..77e630aaa39 100644 --- a/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java +++ b/server/sonar-ce-task-projectanalysis/src/it/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStepIT.java @@ -49,6 +49,7 @@ import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDto; +import org.sonar.db.issue.AnticipatedTransitionDto; import org.sonar.db.issue.IssueChangeDto; import org.sonar.db.issue.IssueDto; import org.sonar.db.issue.IssueMapper; @@ -628,4 +629,52 @@ public class PersistIssuesStepIT extends BaseStepTest { entry("inserts", "0"), entry("updates", "1"), entry("merged", "0")); } + @Test + public void when_anticipatedTransitionIsPresent_ItShouldBeDeleted() { + periodHolder.setPeriod(new Period(NewCodePeriodType.REFERENCE_BRANCH.name(), "master", null)); + RuleDto rule = RuleTesting.newRule(RuleKey.of("xoo", "S01")); + db.rules().insert(rule); + ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); + ComponentDto file = db.components().insertComponent(newFileDto(project)); + session.commit(); + String issueKey = "ISSUE-4"; + + DefaultIssue newIssue = new DefaultIssue() + .setKey(issueKey) + .setType(RuleType.CODE_SMELL) + .setRuleKey(rule.getKey()) + .setComponentUuid(file.uuid()) + .setComponentKey(file.getKey()) + .setProjectUuid(project.uuid()) + .setProjectKey(project.getKey()) + .setSeverity(BLOCKER) + .setStatus(STATUS_OPEN) + .setCreationDate(new Date(NOW)) + .setNew(true) + .setIsOnChangedLine(true) + .setType(RuleType.BUG); + + AnticipatedTransitionDto atDto = db.anticipatedTransitions().createForIssue(newIssue, "test_uuid", file.name()); + newIssue.setAnticipatedTransitionUuid(atDto.getUuid()); + + var defaultIssueCacheAppender = protoIssueCache.newAppender(); + defaultIssueCacheAppender.append(newIssue).close(); + + TestComputationStepContext context = new TestComputationStepContext(); + underTest.execute(context); + + IssueDto result = dbClient.issueDao().selectOrFailByKey(session, issueKey); + assertThat(result.getKey()).isEqualTo(issueKey); + assertThat(result.getRuleKey()).isEqualTo(rule.getKey()); + assertThat(result.getComponentUuid()).isEqualTo(file.uuid()); + assertThat(result.getProjectUuid()).isEqualTo(project.uuid()); + assertThat(result.getSeverity()).isEqualTo(BLOCKER); + assertThat(result.getStatus()).isEqualTo(STATUS_OPEN); + assertThat(result.getType()).isEqualTo(RuleType.BUG.getDbConstant()); + assertThat(context.getStatistics().getAll()).contains( + entry("inserts", "1"), entry("updates", "0"), entry("merged", "0")); + assertThat(result.isNewCodeReferenceIssue()).isTrue(); + + assertThat(db.anticipatedTransitions().selectByProjectUuid(project.uuid())).isEmpty(); + } } |