Skip to content

Commit

Permalink
Merge branch 'dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
SbloodyS authored Oct 6, 2024
2 parents 6586aab + 9a58eca commit fbbda80
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
import org.apache.dolphinscheduler.dao.mapper.TaskGroupMapper;
import org.apache.dolphinscheduler.dao.mapper.TenantMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkerGroupMapper;
import org.apache.dolphinscheduler.dao.repository.UserDao;
import org.apache.dolphinscheduler.service.process.ProcessService;

import java.util.Arrays;
Expand Down Expand Up @@ -240,8 +241,11 @@ public static class EnvironmentResourcePermissionCheck implements ResourceAcquis

private final EnvironmentMapper environmentMapper;

public EnvironmentResourcePermissionCheck(EnvironmentMapper environmentMapper) {
private final UserDao userDao;

public EnvironmentResourcePermissionCheck(EnvironmentMapper environmentMapper, UserDao userDao) {
this.environmentMapper = environmentMapper;
this.userDao = userDao;
}

@Override
Expand All @@ -251,7 +255,12 @@ public List<AuthorizationType> authorizationTypes() {

@Override
public boolean permissionCheck(int userId, String url, Logger logger) {
return true;
User user = userDao.queryById(userId);
if (user == null) {
logger.error("User does not exist, userId:{}.", userId);
return false;
}
return user.getUserType() == UserType.ADMIN_USER;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,14 @@

package org.apache.dolphinscheduler.api.permission;

import static org.mockito.Mockito.when;

import org.apache.dolphinscheduler.common.enums.AuthorizationType;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.dao.entity.Environment;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.EnvironmentMapper;
import org.apache.dolphinscheduler.dao.repository.UserDao;

import java.util.Arrays;
import java.util.Collections;
Expand All @@ -34,7 +37,6 @@
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -46,14 +48,24 @@ public class EnvironmentResourcePermissionCheckTest {
@InjectMocks
private ResourcePermissionCheckServiceImpl.EnvironmentResourcePermissionCheck environmentResourcePermissionCheck;

@Mock
private UserDao userDao;

@Mock
private EnvironmentMapper environmentMapper;

@Test
public void testPermissionCheck() {
User user = getLoginUser();
User user = getLoginAdminUser();
when(userDao.queryById(user.getId())).thenReturn(user);
Assertions.assertTrue(environmentResourcePermissionCheck.permissionCheck(user.getId(), null, logger));
}
@Test
public void testPermissionCheckFail() {
User user = getLoginAdminUser();
when(userDao.queryById(user.getId())).thenReturn(null);
Assertions.assertFalse(environmentResourcePermissionCheck.permissionCheck(user.getId(), null, logger));
}

@Test
public void testAuthorizationTypes() {
Expand All @@ -69,7 +81,7 @@ public void testListAuthorizedResourceIds() {
ids.add(environment.getId());
List<Environment> environments = Arrays.asList(environment);

Mockito.when(environmentMapper.queryAllEnvironmentList()).thenReturn(environments);
when(environmentMapper.queryAllEnvironmentList()).thenReturn(environments);

Assertions.assertEquals(ids,
environmentResourcePermissionCheck.listAuthorizedResourceIds(user.getId(), logger));
Expand All @@ -82,4 +94,11 @@ private User getLoginUser() {
loginUser.setId(1);
return loginUser;
}
private User getLoginAdminUser() {
User loginUser = new User();
loginUser.setUserType(UserType.ADMIN_USER);
loginUser.setUserName("test");
loginUser.setId(1);
return loginUser;
}
}
25 changes: 0 additions & 25 deletions dolphinscheduler-ui/src/common/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import {
StopOutlined,
IssuesCloseOutlined,
SendOutlined,
HistoryOutlined,
HourglassOutlined
} from '@vicons/antd'
import { format, parseISO } from 'date-fns'
Expand Down Expand Up @@ -361,14 +360,6 @@ export const workflowExecutionState = (
isSpin: false,
classNames: 'success'
},
DELAY_EXECUTION: {
id: 12,
desc: `${t('project.workflow.delay_execution')}`,
color: '#5102ce',
icon: PauseCircleFilled,
isSpin: false,
classNames: 'delay_execution'
},
SERIAL_WAIT: {
id: 14,
desc: `${t('project.workflow.serial_wait')}`,
Expand All @@ -377,22 +368,6 @@ export const workflowExecutionState = (
isSpin: true,
classNames: 'serial_wait'
},
READY_BLOCK: {
id: 15,
desc: `${t('project.workflow.ready_to_block')}`,
color: '#5101be',
icon: SendOutlined,
isSpin: false,
classNames: 'pending'
},
BLOCK: {
id: 16,
desc: `${t('project.workflow.block')}`,
color: '#5101be',
icon: HistoryOutlined,
isSpin: false,
classNames: 'pending'
},
WAIT_TO_RUN: {
id: 18,
desc: `${t('project.workflow.wait_to_run')}`,
Expand Down
3 changes: 0 additions & 3 deletions dolphinscheduler-ui/src/common/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,7 @@ export type IWorkflowExecutionState =
| 'STOP'
| 'FAILURE'
| 'SUCCESS'
| 'DELAY_EXECUTION'
| 'SERIAL_WAIT'
| 'READY_BLOCK'
| 'BLOCK'
| 'WAIT_TO_RUN'

export type ITaskStateConfig = {
Expand Down
2 changes: 0 additions & 2 deletions dolphinscheduler-ui/src/locales/en_US/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,6 @@ export default {
'Can not find any relations of workflows.',
workflow_relation_no_data_result_desc:
'There is not any workflows. Please create a workflow, and then visit this page again.',
ready_to_block: 'Ready to block',
block: 'Block',
wait_to_run: 'Wait to run',
want_to_set_timing: 'Would you like to set the workflow timing?',
confirm_to_online: 'Confirm to make the workflow online?',
Expand Down
2 changes: 0 additions & 2 deletions dolphinscheduler-ui/src/locales/zh_CN/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,6 @@ export default {
workflow_relation_no_data_result_title: '工作流关系不存在',
workflow_relation_no_data_result_desc:
'目前没有任何工作流,请先创建工作流,再访问该页面',
ready_to_block: '准备锁定',
block: '锁定',
wait_to_run: '等待执行',
want_to_set_timing: '现在想去配置该工作流定时?',
confirm_to_online: '是否确定上线该工作流?',
Expand Down

0 comments on commit fbbda80

Please sign in to comment.