From 43719f7c15008f2e72268ce5058069e7c43b67ed Mon Sep 17 00:00:00 2001 From: rickchengx <38122586+rickchengx@users.noreply.github.com> Date: Sun, 27 Nov 2022 13:15:38 +0800 Subject: [PATCH] [Improvement-12763][UT] Improve testListAuthorizedProjects() in ProjectMapperTest (#12768) --- .../dao/mapper/ProjectMapperTest.java | 40 +++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapperTest.java b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapperTest.java index 066995818a..fd99f6bc82 100644 --- a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapperTest.java +++ b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapperTest.java @@ -22,7 +22,6 @@ import org.apache.dolphinscheduler.dao.entity.Project; import org.apache.dolphinscheduler.dao.entity.ProjectUser; import org.apache.dolphinscheduler.dao.entity.User; -import java.util.Collections; import java.util.Date; import java.util.List; @@ -217,14 +216,41 @@ public class ProjectMapperTest extends BaseDaoTest { Assertions.assertNotEquals(allProject.size(), 0); } - /** - * test query project permission - */ + private Project insertProject(long projectCode, String projectName, int userId) { + Project project = new Project(); + project.setName(projectName); + project.setUserId(userId); + project.setCode(projectCode); + project.setCreateTime(new Date()); + project.setUpdateTime(new Date()); + projectMapper.insert(project); + return project; + } + @Test public void testListAuthorizedProjects() { - Project project = insertOne(); - List projects = projectMapper.listAuthorizedProjects(1, Collections.singletonList(project.getId())); - Assertions.assertEquals(projects.size(), 0); + User user = new User(); + user.setUserName("ut user"); + userMapper.insert(user); + + // project1: created by user + insertProject(1, "project 1", user.getId()); + + // project2: not created by user + insertProject(2, "project 2", user.getId() + 1); + + // project3: not created by user but is authorized to user + Project project3 = insertProject(3, "project 3", user.getId() + 1); + ProjectUser projectUser = new ProjectUser(); + projectUser.setProjectId(project3.getId()); + projectUser.setUserId(user.getId()); + projectUser.setCreateTime(new Date()); + projectUser.setUpdateTime(new Date()); + projectUserMapper.insert(projectUser); + + List projects = projectMapper.listAuthorizedProjects(user.getId(), null); + + Assertions.assertEquals(projects.size(), 2); } }