This is an automated email from the ASF dual-hosted git repository.
wangyang pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 68a190674f [Improvement][Monitor] Add UT for montor (#15998)
68a190674f is described below
commit 68a190674fe7f6d0e957fca1efa085b067224cb7
Author: 旺阳 <[email protected]>
AuthorDate: Wed May 15 14:44:04 2024 +0800
[Improvement][Monitor] Add UT for montor (#15998)
---
.../api/controller/DataAnalysisControllerTest.java | 36 +++++++++++
.../api/service/DataAnalysisServiceTest.java | 72 +++++++++++++++++++++-
.../dao/mapper/CommandMapperTest.java | 14 +++++
.../dao/mapper/ErrorCommandMapperTest.java | 17 +++++
4 files changed, 138 insertions(+), 1 deletion(-)
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
index 2e9961b5d2..36622b8b98 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataAnalysisControllerTest.java
@@ -150,4 +150,40 @@ public class DataAnalysisControllerTest extends
AbstractControllerTest {
assertThat(result.getCode().intValue()).isEqualTo(Status.SUCCESS.getCode());
logger.info(mvcResult.getResponse().getContentAsString());
}
+
+ @Test
+ public void testListCommand() throws Exception {
+ MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
+ paramsMap.add("projectCode", "16");
+ paramsMap.add("pageNo", "1");
+ paramsMap.add("pageSize", "10");
+
+ MvcResult mvcResult =
mockMvc.perform(get("/projects/analysis/listCommand")
+ .header("sessionId", sessionId)
+ .params(paramsMap))
+ .andExpect(status().isOk())
+ .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+ .andReturn();
+ Result result =
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(),
Result.class);
+
assertThat(result.getCode().intValue()).isEqualTo(Status.SUCCESS.getCode());
+ logger.info(mvcResult.getResponse().getContentAsString());
+ }
+
+ @Test
+ public void testListErrorCommand() throws Exception {
+ MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
+ paramsMap.add("projectCode", "16");
+ paramsMap.add("pageNo", "1");
+ paramsMap.add("pageSize", "10");
+
+ MvcResult mvcResult =
mockMvc.perform(get("/projects/analysis/listErrorCommand")
+ .header("sessionId", sessionId)
+ .params(paramsMap))
+ .andExpect(status().isOk())
+ .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+ .andReturn();
+ Result result =
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(),
Result.class);
+
assertThat(result.getCode().intValue()).isEqualTo(Status.SUCCESS.getCode());
+ logger.info(mvcResult.getResponse().getContentAsString());
+ }
}
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
index 32033cc2af..a2d655f47f 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
@@ -32,12 +32,15 @@ import org.apache.dolphinscheduler.api.enums.Status;
import org.apache.dolphinscheduler.api.exceptions.ServiceException;
import
org.apache.dolphinscheduler.api.permission.ResourcePermissionCheckService;
import org.apache.dolphinscheduler.api.service.impl.DataAnalysisServiceImpl;
+import org.apache.dolphinscheduler.api.utils.PageInfo;
import org.apache.dolphinscheduler.api.vo.TaskInstanceCountVO;
import org.apache.dolphinscheduler.common.constants.Constants;
import org.apache.dolphinscheduler.common.enums.AuthorizationType;
import org.apache.dolphinscheduler.common.enums.CommandType;
import org.apache.dolphinscheduler.common.enums.UserType;
+import org.apache.dolphinscheduler.dao.entity.Command;
import org.apache.dolphinscheduler.dao.entity.CommandCount;
+import org.apache.dolphinscheduler.dao.entity.ErrorCommand;
import org.apache.dolphinscheduler.dao.entity.ExecuteStatusCount;
import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.User;
@@ -70,6 +73,9 @@ import org.mockito.quality.Strictness;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
/**
* data analysis service test
*/
@@ -110,13 +116,17 @@ public class DataAnalysisServiceTest {
private User user;
+ private Project project;
+
@BeforeEach
public void setUp() {
user = new User();
+ user.setUserType(UserType.ADMIN_USER);
user.setId(1);
- Project project = new Project();
+ project = new Project();
project.setId(1);
+ project.setCode(1);
project.setName("test");
resultMap = new HashMap<>();
@@ -285,6 +295,66 @@ public class DataAnalysisServiceTest {
.allMatch(count -> count.equals(0));
}
+ @Test
+ public void testListPendingCommands() {
+ IPage<Command> page = new Page<>(1, 10);
+ page.setTotal(2L);
+ page.setRecords(getList());
+ when(commandMapper.queryCommandPage(any())).thenReturn(page);
+ PageInfo<Command> list1 =
dataAnalysisServiceImpl.listPendingCommands(user, 1L, 1, 10);
+ assertThat(list1.getTotal()).isEqualTo(2);
+ user.setUserType(UserType.GENERAL_USER);
+
when(resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.PROJECTS,
1,
+ serviceLogger))
+ .thenReturn(projectIds());
+ PageInfo<Command> list2 =
dataAnalysisServiceImpl.listPendingCommands(user, 1L, 1, 10);
+ assertThat(list2.getTotal()).isEqualTo(0);
+
when(projectMapper.selectBatchIds(any())).thenReturn(Collections.singletonList(project));
+
when(processDefinitionMapper.queryDefinitionCodeListByProjectCodes(any()))
+ .thenReturn(Collections.singletonList(1L));
+ when(commandMapper.queryCommandPageByIds(any(),
any())).thenReturn(page);
+ PageInfo<Command> list3 =
dataAnalysisServiceImpl.listPendingCommands(user, 1L, 1, 10);
+ assertThat(list3.getTotal()).isEqualTo(2);
+ }
+
+ @Test
+ public void testListErrorCommand() {
+ IPage<ErrorCommand> page = new Page<>(1, 10);
+ page.setTotal(2L);
+ page.setRecords(getErrorList());
+ when(errorCommandMapper.queryErrorCommandPage(any())).thenReturn(page);
+ PageInfo<ErrorCommand> list1 =
dataAnalysisServiceImpl.listErrorCommand(user, 1L, 1, 10);
+ assertThat(list1.getTotal()).isEqualTo(2);
+ user.setUserType(UserType.GENERAL_USER);
+
when(resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.PROJECTS,
1,
+ serviceLogger))
+ .thenReturn(projectIds());
+ PageInfo<ErrorCommand> list2 =
dataAnalysisServiceImpl.listErrorCommand(user, 1L, 1, 10);
+ assertThat(list2.getTotal()).isEqualTo(0);
+
when(projectMapper.selectBatchIds(any())).thenReturn(Collections.singletonList(project));
+
when(processDefinitionMapper.queryDefinitionCodeListByProjectCodes(any()))
+ .thenReturn(Collections.singletonList(1L));
+ when(errorCommandMapper.queryErrorCommandPageByIds(any(),
any())).thenReturn(page);
+ PageInfo<ErrorCommand> list3 =
dataAnalysisServiceImpl.listErrorCommand(user, 1L, 1, 10);
+ assertThat(list3.getTotal()).isEqualTo(2);
+ }
+
+ private List<Command> getList() {
+ List<Command> commandList = new ArrayList<>();
+ Command command = new Command();
+ command.setId(1);
+ commandList.add(command);
+ return commandList;
+ }
+
+ private List<ErrorCommand> getErrorList() {
+ List<ErrorCommand> commandList = new ArrayList<>();
+ ErrorCommand command = new ErrorCommand();
+ command.setId(1);
+ commandList.add(command);
+ return commandList;
+ }
+
private Set<Integer> projectIds() {
Set<Integer> projectIds = new HashSet<>();
projectIds.add(1);
diff --git
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/CommandMapperTest.java
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/CommandMapperTest.java
index 5623969b08..2105885fa3 100644
---
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/CommandMapperTest.java
+++
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/CommandMapperTest.java
@@ -43,6 +43,8 @@ import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
/**
@@ -65,6 +67,18 @@ public class CommandMapperTest extends BaseDaoTest {
Assertions.assertTrue(command.getId() > 0);
}
+ @Test
+ public void testQueryCommandPageByIds() {
+ Command expectedCommand = createCommand();
+ Page<Command> page = new Page<>(1, 10);
+ IPage<Command> commandIPage = commandMapper.queryCommandPageByIds(page,
+
Lists.newArrayList(expectedCommand.getProcessDefinitionCode()));
+ List<Command> commandList = commandIPage.getRecords();
+ assertThat(commandList).isNotEmpty();
+ assertThat(commandIPage.getTotal()).isEqualTo(1);
+
assertThat(commandList.get(0).getId()).isEqualTo(expectedCommand.getId());
+ }
+
/**
* test select by id
*/
diff --git
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapperTest.java
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapperTest.java
index 098c001f2d..07409cf0e5 100644
---
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapperTest.java
+++
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapperTest.java
@@ -17,6 +17,8 @@
package org.apache.dolphinscheduler.dao.mapper;
+import static com.google.common.truth.Truth.assertThat;
+
import org.apache.dolphinscheduler.common.enums.CommandType;
import org.apache.dolphinscheduler.dao.BaseDaoTest;
import org.apache.dolphinscheduler.dao.entity.CommandCount;
@@ -31,6 +33,9 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
public class ErrorCommandMapperTest extends BaseDaoTest {
@Autowired
@@ -54,6 +59,18 @@ public class ErrorCommandMapperTest extends BaseDaoTest {
return errorCommand;
}
+ @Test
+ public void testQueryCommandPageByIds() {
+ ErrorCommand expectedCommand = insertOne();
+ Page<ErrorCommand> page = new Page<>(1, 10);
+ IPage<ErrorCommand> commandIPage =
errorCommandMapper.queryErrorCommandPageByIds(page,
+
Lists.newArrayList(expectedCommand.getProcessDefinitionCode()));
+ List<ErrorCommand> commandList = commandIPage.getRecords();
+ assertThat(commandList).isNotEmpty();
+ assertThat(commandIPage.getTotal()).isEqualTo(1);
+
assertThat(commandList.get(0).getId()).isEqualTo(expectedCommand.getId());
+ }
+
/**
* test query
*/