Browse Source

[Fix-10595][api] Fix Dependent Node Only View Projects Created By Self (#10834)

* [Fix-10595][api] Fix Dependent Node Only View Projects Created By Self
3.1.0-release
Assert 2 years ago committed by GitHub
parent
commit
4ff8eaa996
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.xml
  2. 48
      dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapperTest.java

10
dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.xml

@ -162,11 +162,13 @@
<select id="queryAllProject" resultType="org.apache.dolphinscheduler.dao.entity.Project">
select
<include refid="baseSql"/>
from t_ds_project
where 1=1
<include refid="baseSqlV2">
<property name="alias" value="p"/>
</include>
from t_ds_project p
<if test="userId != 0">
and user_id = #{userId}
right join t_ds_relation_project_user rpu on p.id = rpu.project_id
where rpu.user_id = #{userId}
</if>
</select>

48
dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapperTest.java

@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.dao.mapper;
import org.apache.dolphinscheduler.dao.BaseDaoTest;
import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.ProjectUser;
import org.apache.dolphinscheduler.dao.entity.User;
import java.util.Arrays;
@ -41,6 +42,9 @@ public class ProjectMapperTest extends BaseDaoTest {
@Autowired
private UserMapper userMapper;
@Autowired
private ProjectUserMapper projectUserMapper;
/**
* insert
*
@ -143,14 +147,14 @@ public class ProjectMapperTest extends BaseDaoTest {
Page<Project> page = new Page(1, 3);
IPage<Project> projectIPage = projectMapper.queryProjectListPaging(
page,
null,
null
page,
null,
null
);
IPage<Project> projectIPage1 = projectMapper.queryProjectListPaging(
page,
null,
project.getName()
page,
null,
project.getName()
);
Assert.assertEquals(projectIPage.getTotal(), 1);
Assert.assertEquals(projectIPage1.getTotal(), 1);
@ -170,7 +174,7 @@ public class ProjectMapperTest extends BaseDaoTest {
}
/**
* test query authed prject list by userId
* test query authed project list by userId
*/
@Test
public void testQueryAuthedProjectListByUserId() {
@ -189,20 +193,42 @@ public class ProjectMapperTest extends BaseDaoTest {
Project project = insertOne();
List<Project> projects = projectMapper.queryProjectExceptUserId(
100000
100000
);
Assert.assertNotEquals(projects.size(), 0);
}
@Test
public void testQueryAllProject() {
User user = new User();
user.setUserName("ut user");
userMapper.insert(user);
Project project = insertOne();
project.setUserId(user.getId());
projectMapper.updateById(project);
ProjectUser projectUser = new ProjectUser();
projectUser.setProjectId(project.getId());
projectUser.setUserId(user.getId());
projectUser.setCreateTime(new Date());
projectUser.setUpdateTime(new Date());
projectUserMapper.insert(projectUser);
List<Project> allProject = projectMapper.queryAllProject(user.getId());
Assert.assertNotEquals(allProject.size(), 0);
}
/**
* test query project permission
*/
@Test
public void testListAuthorizedProjects(){
public void testListAuthorizedProjects() {
Project project = insertOne();
List<Project> projects = projectMapper.listAuthorizedProjects(1, Collections.singletonList(project.getId()));
Assert.assertEquals(projects.size(),0);
List<Project> projects = projectMapper.listAuthorizedProjects(1, Collections.singletonList(project.getId()));
Assert.assertEquals(projects.size(), 0);
}
}
Loading…
Cancel
Save