This is an automated email from the ASF dual-hosted git repository.
journey pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new c558da0 add BaseServiceTest BaseDAGServiceTest UT (#1835)
c558da0 is described below
commit c558da0b755669ef13350c7ca4f59a2df3ac524c
Author: samz406 <[email protected]>
AuthorDate: Thu Jan 16 11:25:40 2020 +0800
add BaseServiceTest BaseDAGServiceTest UT (#1835)
* modify UdfFuncServiceTest UT
* fix get tenantCode my NPE
* add ResourcesServiceTest
* add error log
* add BaseServiceTest BaseServiceTest UT
* update
---
.../api/service/BaseDAGServiceTest.java | 50 ++++++++
.../api/service/BaseServiceTest.java | 140 +++++++++++++++++++++
pom.xml | 2 +
3 files changed, 192 insertions(+)
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/BaseDAGServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/BaseDAGServiceTest.java
new file mode 100644
index 0000000..bb6e388
--- /dev/null
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/BaseDAGServiceTest.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dolphinscheduler.api.service;
+
+import org.apache.dolphinscheduler.common.graph.DAG;
+import org.apache.dolphinscheduler.common.model.TaskNode;
+import org.apache.dolphinscheduler.common.model.TaskNodeRelation;
+import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
+
+@RunWith(MockitoJUnitRunner.class)
+public class BaseDAGServiceTest {
+
+ @Test
+ public void testProcessInstance2DAG(){
+
+ ProcessInstance processInstance = new ProcessInstance();
+
processInstance.setProcessInstanceJson("{\"globalParams\":[],\"tasks\":[{\"type\":\"SHELL\",\"id\":\"tasks-61567\","
+
+
"\"name\":\"开始\",\"params\":{\"resourceList\":[],\"localParams\":[],\"rawScript\":\"echo
'1'\"}," +
+
"\"description\":\"\",\"runFlag\":\"NORMAL\",\"dependence\":{},\"maxRetryTimes\":\"0\",\"retryInterval\":\"1\","
+
+
"\"timeout\":{\"strategy\":\"\",\"interval\":null,\"enable\":false},\"taskInstancePriority\":\"MEDIUM\","
+
+
"\"workerGroupId\":-1,\"preTasks\":[]},{\"type\":\"SHELL\",\"id\":\"tasks-6-3ug5ej\",\"name\":\"结束\","
+
+
"\"params\":{\"resourceList\":[],\"localParams\":[],\"rawScript\":\"echo
'1'\"},\"description\":\"\"," +
+
"\"runFlag\":\"NORMAL\",\"dependence\":{},\"maxRetryTimes\":\"0\",\"retryInterval\":\"1\","
+
+
"\"timeout\":{\"strategy\":\"\",\"interval\":null,\"enable\":false},\"taskInstancePriority\":\"MEDIUM\","
+
+
"\"workerGroupId\":-1,\"preTasks\":[\"开始\"]}],\"tenantId\":-1,\"timeout\":0}");
+
+ DAG<String, TaskNode, TaskNodeRelation> relationDAG =
BaseDAGService.processInstance2DAG(processInstance);
+
+ Assert.assertTrue(relationDAG.containsNode("开始"));
+
+ }
+}
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/BaseServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/BaseServiceTest.java
new file mode 100644
index 0000000..02086a8
--- /dev/null
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/BaseServiceTest.java
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dolphinscheduler.api.service;
+
+import org.apache.dolphinscheduler.api.enums.Status;
+import org.apache.dolphinscheduler.api.utils.Result;
+import org.apache.dolphinscheduler.common.Constants;
+import org.apache.dolphinscheduler.common.enums.UserType;
+import org.apache.dolphinscheduler.common.utils.HadoopUtils;
+import org.apache.dolphinscheduler.dao.entity.User;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.mock.web.MockCookie;
+import org.springframework.mock.web.MockHttpServletRequest;
+
+import javax.servlet.http.Cookie;
+import java.util.HashMap;
+import java.util.Map;
+
+@RunWith(PowerMockRunner.class)
+@PowerMockIgnore({"sun.security.*", "javax.net.*"})
+@PrepareForTest({HadoopUtils.class})
+public class BaseServiceTest {
+
+ private static final Logger logger =
LoggerFactory.getLogger(BaseServiceTest.class);
+
+ private BaseService baseService;
+
+ @Mock
+ private HadoopUtils hadoopUtils;
+
+ @Before
+ public void setUp() {
+ baseService = new BaseService();
+ }
+
+ @Test
+ public void testIsAdmin(){
+
+ User user = new User();
+ user.setUserType(UserType.ADMIN_USER);
+ //ADMIN_USER
+ boolean isAdmin = baseService.isAdmin(user);
+ Assert.assertTrue(isAdmin);
+ //GENERAL_USER
+ user.setUserType(UserType.GENERAL_USER);
+ isAdmin = baseService.isAdmin(user);
+ Assert.assertFalse(isAdmin);
+
+ }
+
+ @Test
+ public void testPutMsg(){
+
+ Map<String, Object> result = new HashMap<>();
+ baseService.putMsg(result, Status.SUCCESS);
+ Assert.assertEquals(Status.SUCCESS,result.get(Constants.STATUS));
+ //has params
+ baseService.putMsg(result, Status.PROJECT_NOT_FOUNT,"test");
+
+ }
+ @Test
+ public void testPutMsgTwo(){
+
+ Result result = new Result();
+ baseService.putMsg(result, Status.SUCCESS);
+ Assert.assertEquals(Status.SUCCESS.getMsg(),result.getMsg());
+ //has params
+ baseService.putMsg(result,Status.PROJECT_NOT_FOUNT,"test");
+ }
+ @Test
+ public void testGetCookie(){
+
+ MockHttpServletRequest request = new MockHttpServletRequest();
+ MockCookie mockCookie = new MockCookie("userId","1");
+ request.setCookies(mockCookie);
+ //cookie is not null
+ Cookie cookie = BaseService.getCookie(request,"userId");
+ Assert.assertNotNull(cookie);
+ //cookie is null
+ cookie = BaseService.getCookie(request,"userName");
+ Assert.assertNull(cookie);
+
+ }
+ @Test
+ public void testCreateTenantDirIfNotExists(){
+
+ PowerMockito.mockStatic(HadoopUtils.class);
+ PowerMockito.when(HadoopUtils.getInstance()).thenReturn(hadoopUtils);
+
+ try {
+ baseService.createTenantDirIfNotExists("test");
+ } catch (Exception e) {
+ Assert.assertTrue(false);
+ logger.error("CreateTenantDirIfNotExists error ",e);
+ e.printStackTrace();
+ }
+
+ }
+ @Test
+ public void testHasPerm(){
+
+ User user = new User();
+ user.setId(1);
+ //create user
+ boolean hasPerm = baseService.hasPerm(user,1);
+ Assert.assertTrue(hasPerm);
+
+ //admin
+ user.setId(2);
+ user.setUserType(UserType.ADMIN_USER);
+ hasPerm = baseService.hasPerm(user,1);
+ Assert.assertTrue(hasPerm);
+
+ }
+
+}
diff --git a/pom.xml b/pom.xml
index 4468c72..41c75f7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -694,6 +694,8 @@
<include>**/api/service/ProcessDefinitionServiceTest.java</include>
<include>**/api/service/UdfFuncServiceTest.java</include>
<include>**/api/service/ResourcesServiceTest.java</include>
+
<include>**/api/service/BaseServiceTest.java</include>
+
<include>**/api/service/BaseDAGServiceTest.java</include>
<include>**/alert/utils/ExcelUtilsTest.java</include>
<include>**/alert/utils/FuncUtilsTest.java</include>
<include>**/alert/utils/JSONUtilsTest.java</include>