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 <lilin5...@163.com>
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>

Reply via email to