Skip to content

Commit 2266ca2

Browse files
author
liuw529
committed
[Fix] add Unit Test and grant Permission modify(#15771)
1 parent c42f8c6 commit 2266ca2

File tree

2 files changed

+24
-40
lines changed

2 files changed

+24
-40
lines changed

dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -672,11 +672,6 @@ public Map<String, Object> grantProjectByCode(final User loginUser, final int us
672672
return result;
673673
}
674674

675-
if (!isAdmin(loginUser)) {
676-
putMsg(result, Status.NO_CURRENT_OPERATING_PERMISSION);
677-
return result;
678-
}
679-
680675
// 2. check if project is existed
681676
Project project = this.projectMapper.queryByCode(projectCode);
682677
if (project == null) {
@@ -889,11 +884,6 @@ public Map<String, Object> grantDataSource(User loginUser, int userId, String da
889884
return result;
890885
}
891886

892-
if (!isAdmin(loginUser)) {
893-
putMsg(result, Status.NO_CURRENT_OPERATING_PERMISSION);
894-
return result;
895-
}
896-
897887
datasourceUserMapper.deleteByUserId(userId);
898888

899889
if (check(result, StringUtils.isEmpty(datasourceIds), Status.SUCCESS)) {

dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -392,17 +392,19 @@ public void testGrantProject() {
392392
logger.info(result.toString());
393393
Assertions.assertEquals(Status.USER_NOT_EXIST, result.get(Constants.STATUS));
394394

395-
// ERROR: NO_CURRENT_OPERATING_PERMISSION
396-
loginUser.setUserType(UserType.GENERAL_USER);
397-
result = this.usersService.grantProject(loginUser, userId, projectIds);
398-
logger.info(result.toString());
399-
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
400-
401395
// SUCCESS
402396
when(userMapper.selectById(userId)).thenReturn(getUser());
403397
result = usersService.grantProject(loginUser, userId, projectIds);
404398
logger.info(result.toString());
405399
Assertions.assertEquals(Status.SUCCESS, result.get(Constants.STATUS));
400+
401+
// ERROR: NO_CURRENT_OPERATING_PERMISSION
402+
loginUser.setId(3);
403+
loginUser.setUserType(UserType.GENERAL_USER);
404+
when(userMapper.selectById(3)).thenReturn(loginUser);
405+
result = this.usersService.grantProject(loginUser, userId, projectIds);
406+
logger.info(result.toString());
407+
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
406408
}
407409

408410
@Test
@@ -419,17 +421,19 @@ public void testGrantProjectWithReadPerm() {
419421
logger.info(result.toString());
420422
Assertions.assertEquals(Status.USER_NOT_EXIST, result.get(Constants.STATUS));
421423

422-
// ERROR: NO_CURRENT_OPERATING_PERMISSION
423-
loginUser.setUserType(UserType.GENERAL_USER);
424-
result = this.usersService.grantProjectWithReadPerm(loginUser, userId, projectIds);
425-
logger.info(result.toString());
426-
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
427-
428424
// SUCCESS
429425
when(userMapper.selectById(userId)).thenReturn(getUser());
430426
result = usersService.grantProjectWithReadPerm(loginUser, userId, projectIds);
431427
logger.info(result.toString());
432428
Assertions.assertEquals(Status.SUCCESS, result.get(Constants.STATUS));
429+
430+
// ERROR: NO_CURRENT_OPERATING_PERMISSION
431+
loginUser.setId(3);
432+
loginUser.setUserType(UserType.GENERAL_USER);
433+
when(userMapper.selectById(3)).thenReturn(loginUser);
434+
result = this.usersService.grantProjectWithReadPerm(loginUser, userId, projectIds);
435+
logger.info(result.toString());
436+
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
433437
}
434438

435439
@Test
@@ -448,12 +452,6 @@ public void testGrantProjectByCode() {
448452
logger.info(result.toString());
449453
Assertions.assertEquals(Status.USER_NOT_EXIST, result.get(Constants.STATUS));
450454

451-
// ERROR: NO_CURRENT_OPERATING_PERMISSION
452-
loginUser.setUserType(UserType.GENERAL_USER);
453-
result = this.usersService.grantProjectByCode(loginUser, 999, projectCode);
454-
logger.info(result.toString());
455-
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
456-
457455
// ERROR: PROJECT_NOT_FOUNT
458456
result = this.usersService.grantProjectByCode(loginUser, authorizer, 999);
459457
logger.info(result.toString());
@@ -546,17 +544,19 @@ public void testGrantUDFFunction() {
546544
logger.info(result.toString());
547545
Assertions.assertEquals(Status.USER_NOT_EXIST, result.get(Constants.STATUS));
548546

549-
// ERROR: NO_CURRENT_OPERATING_PERMISSION
550-
loginUser.setUserType(UserType.GENERAL_USER);
551-
result = this.usersService.grantUDFFunction(loginUser, 2, udfIds);
552-
logger.info(result.toString());
553-
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
554-
555547
// success
556548
when(udfUserMapper.deleteByUserId(1)).thenReturn(1);
557549
result = usersService.grantUDFFunction(loginUser, 1, udfIds);
558550
logger.info(result.toString());
559551
Assertions.assertEquals(Status.SUCCESS, result.get(Constants.STATUS));
552+
553+
// ERROR: NO_CURRENT_OPERATING_PERMISSION
554+
loginUser.setId(2);
555+
loginUser.setUserType(UserType.GENERAL_USER);
556+
when(userMapper.selectById(2)).thenReturn(loginUser);
557+
result = this.usersService.grantUDFFunction(loginUser, 2, udfIds);
558+
logger.info(result.toString());
559+
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
560560
}
561561

562562
@Test
@@ -591,12 +591,6 @@ public void testGrantDataSource() {
591591
logger.info(result.toString());
592592
Assertions.assertEquals(Status.USER_NOT_EXIST, result.get(Constants.STATUS));
593593

594-
// ERROR: NO_CURRENT_OPERATING_PERMISSION
595-
loginUser.setUserType(UserType.GENERAL_USER);
596-
result = this.usersService.grantDataSource(loginUser, userId, datasourceIds);
597-
logger.info(result.toString());
598-
Assertions.assertEquals(Status.NO_CURRENT_OPERATING_PERMISSION, result.get(Constants.STATUS));
599-
600594
// test admin user
601595
when(userMapper.selectById(userId)).thenReturn(getUser());
602596
when(datasourceUserMapper.deleteByUserId(Mockito.anyInt())).thenReturn(1);

0 commit comments

Comments
 (0)