Unverified Commit 4fb06a73 authored by Yichao Yang's avatar Yichao Yang Committed by GitHub
Browse files

[Test][api] Introduce api controller unit test example (#3447)

* [Test][api] Introduce api controller test example

* Add controller test
parent 40a21816
Loading
Loading
Loading
Loading
+39 −44
Original line number Diff line number Diff line
@@ -16,29 +16,27 @@
 */
package org.apache.dolphinscheduler.api.controller;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import org.apache.dolphinscheduler.api.enums.Status;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.utils.*;
import org.apache.dolphinscheduler.common.utils.JSONUtils;

import org.junit.Assert;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

/**
 * process instance controller test
 */
public class ProcessInstanceControllerTest extends AbstractControllerTest {
    private static Logger logger = LoggerFactory.getLogger(ProcessInstanceControllerTest.class);

    @Test
    public void testQueryProcessInstanceList() throws Exception {
@@ -59,8 +57,8 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
                .andReturn();
        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.SUCCESS.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }

    @Test
@@ -74,9 +72,8 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andReturn();

        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        assert result != null;
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.PROJECT_NOT_FOUNT.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }

    @Test
@@ -91,7 +88,6 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
        paramsMap.add("syncDefine", "false");
        paramsMap.add("locations", locations);
        paramsMap.add("connects", "[]");
//        paramsMap.add("flag", "2");

        MvcResult mvcResult = mockMvc.perform(post("/projects/{projectName}/instance/update", "cxc_1113")
                .header("sessionId", sessionId)
@@ -100,8 +96,8 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
                .andReturn();
        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.SUCCESS.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }

    @Test
@@ -115,12 +111,11 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andReturn();

        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.SUCCESS.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }



    @Test
    public void testQuerySubProcessInstanceByTaskId() throws Exception {

@@ -132,8 +127,8 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andReturn();

        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.TASK_INSTANCE_NOT_EXISTS.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }

    @Test
@@ -147,8 +142,8 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andReturn();

        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.PROCESS_INSTANCE_NOT_SUB_PROCESS_INSTANCE.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }


@@ -163,8 +158,8 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andReturn();

        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.SUCCESS.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }


@@ -179,8 +174,8 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andReturn();

        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.SUCCESS.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }

    @Test
@@ -194,7 +189,7 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest {
                .andReturn();

        Result result = JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);
        Assert.assertNotNull(result);
        Assert.assertEquals(Status.DELETE_PROCESS_INSTANCE_BY_ID_ERROR.getCode(), result.getCode().intValue());
        logger.info(mvcResult.getResponse().getContentAsString());
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -702,6 +702,7 @@
                        <include>**/alert/utils/JSONUtilsTest.java</include>
                        <!--<include>**/alert/utils/MailUtilsTest.java</include>-->
                        <include>**/alert/plugin/EmailAlertPluginTest.java</include>
                        <include>**/api/controller/ProcessDefinitionControllerTest.java</include>
                        <include>**/api/dto/resources/filter/ResourceFilterTest.java</include>
                        <include>**/api/dto/resources/visitor/ResourceTreeVisitorTest.java</include>
                        <includeDataxTaskTest>**/api/enums/testGetEnum.java</includeDataxTaskTest>