[Improvement-12697][UT] Improve the ProjectServiceTest (#12698)
This commit is contained in:
parent
eb4cba8884
commit
7c97febefb
|
|
@ -36,7 +36,6 @@ import org.apache.dolphinscheduler.common.enums.AuthorizationType;
|
|||
import org.apache.dolphinscheduler.common.enums.UserType;
|
||||
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
|
||||
import org.apache.dolphinscheduler.dao.entity.Project;
|
||||
import org.apache.dolphinscheduler.dao.entity.ProjectUser;
|
||||
import org.apache.dolphinscheduler.dao.entity.User;
|
||||
import org.apache.dolphinscheduler.dao.mapper.ProcessDefinitionMapper;
|
||||
import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
|
||||
|
|
@ -46,7 +45,6 @@ import org.apache.dolphinscheduler.dao.mapper.UserMapper;
|
|||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
|
@ -105,18 +103,18 @@ public class ProjectServiceTest {
|
|||
|
||||
@Test
|
||||
public void testCreateProject() {
|
||||
|
||||
User loginUser = getLoginUser();
|
||||
loginUser.setId(1);
|
||||
Mockito.when(resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.PROJECTS, 1,
|
||||
PROJECT_CREATE, baseServiceLogger)).thenReturn(true);
|
||||
Mockito.when(resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.PROJECTS, null, 1,
|
||||
baseServiceLogger)).thenReturn(true);
|
||||
|
||||
// REQUEST_PARAMS_NOT_VALID_ERROR
|
||||
Result result = projectService.createProject(loginUser, projectName, getDesc());
|
||||
logger.info(result.toString());
|
||||
Assertions.assertEquals(Status.REQUEST_PARAMS_NOT_VALID_ERROR.getCode(), 10001);
|
||||
|
||||
// project name exist
|
||||
// PROJECT_ALREADY_EXISTS
|
||||
Mockito.when(projectMapper.queryByName(projectName)).thenReturn(getProject());
|
||||
result = projectService.createProject(loginUser, projectName, projectName);
|
||||
logger.info(result.toString());
|
||||
|
|
@ -132,17 +130,16 @@ public class ProjectServiceTest {
|
|||
|
||||
@Test
|
||||
public void testCheckProjectAndAuth() {
|
||||
|
||||
long projectCode = 1L;
|
||||
User loginUser = getLoginUser();
|
||||
|
||||
// PROJECT_NOT_EXIST
|
||||
Map<String, Object> result = projectService.checkProjectAndAuth(loginUser, null, projectCode, PROJECT);
|
||||
logger.info(result.toString());
|
||||
Status status = (Status) result.get(Constants.STATUS);
|
||||
Assertions.assertEquals(Status.PROJECT_NOT_EXIST, result.get(Constants.STATUS));
|
||||
|
||||
Project project = getProject();
|
||||
// USER_NO_OPERATION_PROJECT_PERM
|
||||
Project project = getProject();
|
||||
project.setUserId(2);
|
||||
result = projectService.checkProjectAndAuth(loginUser, project, projectCode, PROJECT);
|
||||
logger.info(result.toString());
|
||||
|
|
@ -159,31 +156,10 @@ public class ProjectServiceTest {
|
|||
result = projectService.checkProjectAndAuth(loginUser, project, projectCode, PROJECT);
|
||||
logger.info(result.toString());
|
||||
Assertions.assertEquals(Status.SUCCESS, result.get(Constants.STATUS));
|
||||
|
||||
Map<String, Object> result2 = new HashMap<>();
|
||||
|
||||
result2 = projectService.checkProjectAndAuth(loginUser, null, projectCode, PROJECT);
|
||||
Assertions.assertEquals(Status.PROJECT_NOT_EXIST, result2.get(Constants.STATUS));
|
||||
|
||||
Project project1 = getProject();
|
||||
// USER_NO_OPERATION_PROJECT_PERM
|
||||
project1.setUserId(2);
|
||||
loginUser.setUserType(UserType.GENERAL_USER);
|
||||
Mockito.when(resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.PROJECTS,
|
||||
loginUser.getId(), PROJECT, baseServiceLogger)).thenReturn(true);
|
||||
result2 = projectService.checkProjectAndAuth(loginUser, project1, projectCode, PROJECT);
|
||||
Assertions.assertEquals(Status.USER_NO_OPERATION_PROJECT_PERM, result2.get(Constants.STATUS));
|
||||
|
||||
// success
|
||||
project1.setUserId(1);
|
||||
projectService.checkProjectAndAuth(loginUser, project1, projectCode, PROJECT);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHasProjectAndPerm() {
|
||||
|
||||
// Mockito.when(projectUserMapper.queryProjectRelation(1, 1)).thenReturn(getProjectUser());
|
||||
User loginUser = getLoginUser();
|
||||
Project project = getProject();
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
|
@ -200,12 +176,11 @@ public class ProjectServiceTest {
|
|||
// success
|
||||
result = new HashMap<>();
|
||||
project.setUserId(1);
|
||||
loginUser.setUserType(UserType.ADMIN_USER);
|
||||
Mockito.when(resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.PROJECTS,
|
||||
loginUser.getId(), null, baseServiceLogger)).thenReturn(true);
|
||||
Mockito.when(resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.PROJECTS,
|
||||
new Object[]{project.getId()},
|
||||
0, baseServiceLogger)).thenReturn(true);
|
||||
loginUser.getId(), baseServiceLogger)).thenReturn(true);
|
||||
checkResult = projectService.hasProjectAndPerm(loginUser, project, result, null);
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(checkResult);
|
||||
|
|
@ -240,8 +215,6 @@ public class ProjectServiceTest {
|
|||
|
||||
@Test
|
||||
public void testHasProjectAndWritePerm() {
|
||||
|
||||
// Mockito.when(projectUserMapper.queryProjectRelation(1, 1)).thenReturn(getProjectUser());
|
||||
User loginUser = getLoginUser();
|
||||
Project project = getProject();
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
|
@ -263,7 +236,7 @@ public class ProjectServiceTest {
|
|||
loginUser.getId(), null, baseServiceLogger)).thenReturn(true);
|
||||
Mockito.when(resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.PROJECTS,
|
||||
new Object[]{project.getId()},
|
||||
0, baseServiceLogger)).thenReturn(true);
|
||||
loginUser.getId(), baseServiceLogger)).thenReturn(true);
|
||||
checkResult = projectService.hasProjectAndWritePerm(loginUser, project, result);
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(checkResult);
|
||||
|
|
@ -273,19 +246,14 @@ public class ProjectServiceTest {
|
|||
public void testDeleteProject() {
|
||||
User loginUser = getLoginUser();
|
||||
Mockito.when(projectMapper.queryByCode(1L)).thenReturn(getProject());
|
||||
Mockito.when(
|
||||
resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.PROJECTS, loginUser.getId(),
|
||||
PROJECT_DELETE, baseServiceLogger))
|
||||
.thenReturn(true);
|
||||
|
||||
// PROJECT_NOT_FOUND
|
||||
Result result = projectService.deleteProject(loginUser, 11L);
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(Status.PROJECT_NOT_FOUND.getCode() == result.getCode());
|
||||
loginUser.setId(2);
|
||||
|
||||
// USER_NO_OPERATION_PROJECT_PERM
|
||||
Mockito.when(resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.PROJECTS, new Object[]{1},
|
||||
loginUser.getId(),
|
||||
baseServiceLogger)).thenReturn(true);
|
||||
result = projectService.deleteProject(loginUser, 1L);
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(Status.USER_NO_WRITE_PROJECT_PERM.getCode() == result.getCode());
|
||||
|
|
@ -298,6 +266,10 @@ public class ProjectServiceTest {
|
|||
resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.PROJECTS, new Object[]{1}, 0,
|
||||
baseServiceLogger))
|
||||
.thenReturn(true);
|
||||
Mockito.when(
|
||||
resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.PROJECTS, loginUser.getId(),
|
||||
PROJECT_DELETE, baseServiceLogger))
|
||||
.thenReturn(true);
|
||||
result = projectService.deleteProject(loginUser, 1L);
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(Status.DELETE_PROJECT_ERROR_DEFINES_NOT_NULL.getCode() == result.getCode());
|
||||
|
|
@ -317,6 +289,14 @@ public class ProjectServiceTest {
|
|||
loginUser.setId(1);
|
||||
Project project = getProject();
|
||||
project.setCode(2L);
|
||||
Mockito.when(projectMapper.queryByName(projectName)).thenReturn(project);
|
||||
Mockito.when(projectMapper.queryByCode(2L)).thenReturn(getProject());
|
||||
// PROJECT_NOT_FOUND
|
||||
Result result = projectService.update(loginUser, 1L, projectName, "desc", "testUser");
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(Status.PROJECT_NOT_FOUND.getCode() == result.getCode());
|
||||
|
||||
// PROJECT_ALREADY_EXISTS
|
||||
Mockito.when(
|
||||
resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.PROJECTS, loginUser.getId(),
|
||||
PROJECT_UPDATE, baseServiceLogger))
|
||||
|
|
@ -324,18 +304,11 @@ public class ProjectServiceTest {
|
|||
Mockito.when(resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.PROJECTS, new Object[]{1},
|
||||
loginUser.getId(),
|
||||
baseServiceLogger)).thenReturn(true);
|
||||
Mockito.when(projectMapper.queryByName(projectName)).thenReturn(project);
|
||||
Mockito.when(projectMapper.queryByCode(2L)).thenReturn(getProject());
|
||||
// PROJECT_NOT_FOUNT
|
||||
Result result = projectService.update(loginUser, 1L, projectName, "desc", "testUser");
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(Status.PROJECT_NOT_FOUND.getCode() == result.getCode());
|
||||
|
||||
// PROJECT_ALREADY_EXISTS
|
||||
result = projectService.update(loginUser, 2L, projectName, "desc", userName);
|
||||
logger.info(result.toString());
|
||||
Assertions.assertTrue(Status.PROJECT_ALREADY_EXISTS.getCode() == result.getCode());
|
||||
|
||||
// USER_NOT_EXIST
|
||||
Mockito.when(userMapper.queryByUserNameAccurately(Mockito.any())).thenReturn(null);
|
||||
result = projectService.update(loginUser, 2L, "test", "desc", "testuser");
|
||||
Assertions.assertTrue(Status.USER_NOT_EXIST.getCode() == result.getCode());
|
||||
|
|
@ -381,7 +354,6 @@ public class ProjectServiceTest {
|
|||
Assertions.assertTrue(Status.PROJECT_NOT_FOUND.getCode() == result.getCode());
|
||||
|
||||
// Failure 2: USER_NO_OPERATION_PROJECT_PERM
|
||||
loginUser.setId(100);
|
||||
Mockito.when(this.projectMapper.queryByCode(Mockito.anyLong())).thenReturn(this.getProject());
|
||||
result = this.projectService.queryAuthorizedUser(loginUser, 3682329499136L);
|
||||
logger.info("FAILURE 2: {}", result.toString());
|
||||
|
|
@ -403,10 +375,6 @@ public class ProjectServiceTest {
|
|||
|
||||
loginUser.setId(1);
|
||||
loginUser.setUserType(UserType.GENERAL_USER);
|
||||
Mockito.when(
|
||||
resourcePermissionCheckService.operationPermissionCheck(AuthorizationType.PROJECTS,
|
||||
loginUser.getId(), PROJECT, baseServiceLogger))
|
||||
.thenReturn(true);
|
||||
Mockito.when(resourcePermissionCheckService.resourcePermissionCheck(AuthorizationType.PROJECTS, new Object[]{1},
|
||||
1, baseServiceLogger)).thenReturn(true);
|
||||
result = this.projectService.queryAuthorizedUser(loginUser, 3682329499136L);
|
||||
|
|
@ -433,13 +401,11 @@ public class ProjectServiceTest {
|
|||
|
||||
@Test
|
||||
public void testQueryProjectCreatedAndAuthorizedByUser() {
|
||||
|
||||
Result result;
|
||||
User loginUser = getLoginUser();
|
||||
Set<Integer> set = new HashSet();
|
||||
set.add(1);
|
||||
List<Integer> list = new ArrayList<>(1);
|
||||
list.add(1);
|
||||
|
||||
// not admin user
|
||||
Mockito.when(resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.PROJECTS,
|
||||
loginUser.getId(), projectLogger)).thenReturn(set);
|
||||
|
|
@ -577,13 +543,6 @@ public class ProjectServiceTest {
|
|||
return list;
|
||||
}
|
||||
|
||||
private List<Project> getSingleList() {
|
||||
return Collections.singletonList(getProject(2));
|
||||
}
|
||||
|
||||
/**
|
||||
* create admin user
|
||||
*/
|
||||
private User getLoginUser() {
|
||||
User loginUser = new User();
|
||||
loginUser.setUserType(UserType.GENERAL_USER);
|
||||
|
|
@ -616,16 +575,6 @@ public class ProjectServiceTest {
|
|||
return userList;
|
||||
}
|
||||
|
||||
/**
|
||||
* get project user
|
||||
*/
|
||||
private ProjectUser getProjectUser() {
|
||||
ProjectUser projectUser = new ProjectUser();
|
||||
projectUser.setProjectId(1);
|
||||
projectUser.setUserId(1);
|
||||
return projectUser;
|
||||
}
|
||||
|
||||
private List<ProcessDefinition> getProcessDefinitions() {
|
||||
List<ProcessDefinition> list = new ArrayList<>();
|
||||
ProcessDefinition processDefinition = new ProcessDefinition();
|
||||
|
|
@ -634,10 +583,6 @@ public class ProjectServiceTest {
|
|||
return list;
|
||||
}
|
||||
|
||||
private List<Integer> getProjectIds() {
|
||||
return Collections.singletonList(1);
|
||||
}
|
||||
|
||||
private String getDesc() {
|
||||
return "projectUserMapper.deleteProjectRelation(projectId,userId)projectUserMappe"
|
||||
+ ".deleteProjectRelation(projectId,userId)projectUserMappe"
|
||||
|
|
|
|||
Loading…
Reference in New Issue