aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao/src/it/java/org/sonar/db/entity
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2023-06-16 14:48:59 -0500
committersonartech <sonartech@sonarsource.com>2023-06-29 20:05:14 +0000
commit114a4deec2e278438cb9db6666b9bc8dfc46ab2c (patch)
tree046a3509a9af9f2e3b4052200078f01cb18ce698 /server/sonar-db-dao/src/it/java/org/sonar/db/entity
parent63fc7d901eaacd42e9a40099906c38ae2aa779d4 (diff)
downloadsonarqube-114a4deec2e278438cb9db6666b9bc8dfc46ab2c.tar.gz
sonarqube-114a4deec2e278438cb9db6666b9bc8dfc46ab2c.zip
SONAR-19558 Refactor 'issues', 'issue_changes', Components and view indexes
Diffstat (limited to 'server/sonar-db-dao/src/it/java/org/sonar/db/entity')
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/entity/EntityDaoIT.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/entity/EntityDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/entity/EntityDaoIT.java
index 7b54d98409c..3f6276ac35c 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/entity/EntityDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/entity/EntityDaoIT.java
@@ -27,8 +27,12 @@ import org.junit.Test;
import org.sonar.api.impl.utils.AlwaysIncreasingSystem2;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
+import org.sonar.db.component.BranchDto;
+import org.sonar.db.component.ComponentDto;
+import org.sonar.db.component.ComponentTesting;
import org.sonar.db.component.ProjectData;
import org.sonar.db.portfolio.PortfolioDto;
+import org.sonar.db.project.ProjectDto;
import static java.util.Collections.emptyList;
import static org.assertj.core.api.Assertions.assertThat;
@@ -42,6 +46,42 @@ public class EntityDaoIT {
private final EntityDao entityDao = new EntityDao();
@Test
+ public void selectEntityByComponentUuid_shouldReturnProjectEntityBasedOnComponent() {
+ ProjectDto project = db.components().insertPrivateProject().getProjectDto();
+ BranchDto branchDto = db.components().insertProjectBranch(project);
+ ComponentDto fileInBranch = db.components().insertFile(branchDto);
+
+ assertThat(entityDao.selectByComponentUuid(db.getSession(), fileInBranch.uuid()).get())
+ .extracting(EntityDto::getUuid, EntityDto::getKey)
+ .containsOnly(project.getUuid(), project.getKey());
+ }
+
+ @Test
+ public void selectEntityByComponentUuid_shouldReturnPortfolioEntityBasedOnComponent() {
+ PortfolioDto portfolio = db.components().insertPublicPortfolioDto();
+ assertThat(entityDao.selectByComponentUuid(db.getSession(), portfolio.getUuid()).get())
+ .extracting(EntityDto::getUuid, EntityDto::getKey)
+ .containsOnly(portfolio.getUuid(), portfolio.getKey());
+ }
+
+ @Test
+ public void selectEntityByComponentUuid_whenPortfolioWithHierarchy_shouldReturnPortfolioEntityBasedOnComponent() {
+ ComponentDto projectBranch = db.components().insertPublicProject().getMainBranchComponent();
+ ComponentDto portfolio = db.components().insertPublicPortfolio();
+ ComponentDto subPortfolio = db.components().insertSubportfolio(portfolio);
+ ComponentDto projectCopy = db.components().insertComponent(ComponentTesting.newProjectCopy(projectBranch, subPortfolio));
+
+ assertThat(entityDao.selectByComponentUuid(db.getSession(), projectCopy.uuid()).get())
+ .extracting(EntityDto::getUuid, EntityDto::getKey)
+ .containsOnly(portfolio.uuid(), portfolio.getKey());
+ }
+
+ @Test
+ public void selectEntityByComponentUuid_whenUnknown_shouldReturnEmpty() {
+ assertThat(entityDao.selectByComponentUuid(db.getSession(), "unknown")).isEmpty();
+ }
+
+ @Test
public void selectEntitiesByKeys_shouldReturnAllEntities() {
ProjectData application = db.components().insertPrivateApplication();
ProjectData project = db.components().insertPrivateProject();