aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-ce-task-projectanalysis/src/it
diff options
context:
space:
mode:
authorSteve Marion <unknown>2023-07-26 17:49:52 +0200
committersonartech <sonartech@sonarsource.com>2023-08-02 20:03:03 +0000
commit6365d7447e159d3cc255e381b67894f3827bcd6c (patch)
treec0f17c6c12ede18d803cf8397eb4eafabce072e6 /server/sonar-ce-task-projectanalysis/src/it
parent40919a571ab3d2b3e87689e47473b64a7eda9e56 (diff)
downloadsonarqube-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.java49
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();
+ }
}