diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2023-06-16 14:48:59 -0500 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-06-29 20:05:14 +0000 |
commit | 114a4deec2e278438cb9db6666b9bc8dfc46ab2c (patch) | |
tree | 046a3509a9af9f2e3b4052200078f01cb18ce698 /server/sonar-db-dao/src/it/java/org/sonar/db/entity | |
parent | 63fc7d901eaacd42e9a40099906c38ae2aa779d4 (diff) | |
download | sonarqube-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.java | 40 |
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(); |