refactor: add mock server and add testResourcePool tests
This commit is contained in:
parent
2f472293df
commit
aa5370292a
|
@ -0,0 +1,17 @@
|
||||||
|
package io.metersphere.system.config;
|
||||||
|
|
||||||
|
import org.mockserver.client.MockServerClient;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class TestConfiguration {
|
||||||
|
|
||||||
|
@Bean(destroyMethod = "close")
|
||||||
|
public MockServerClient mockServerClient(@Value("${embedded.mockserver.host}") String host,
|
||||||
|
@Value("${embedded.mockserver.port}") int port) {
|
||||||
|
|
||||||
|
return new MockServerClient(host, port);
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,7 +14,10 @@ import io.metersphere.system.mapper.TestResourcePoolOrganizationMapper;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import org.junit.jupiter.api.*;
|
import org.junit.jupiter.api.*;
|
||||||
|
import org.mockserver.client.MockServerClient;
|
||||||
|
import org.mockserver.model.Header;
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
|
@ -29,7 +32,12 @@ import java.io.UnsupportedEncodingException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import static org.mockserver.matchers.Times.exactly;
|
||||||
|
import static org.mockserver.model.HttpRequest.request;
|
||||||
|
import static org.mockserver.model.HttpResponse.response;
|
||||||
|
import static org.mockserver.model.StringBody.exact;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||||
|
@ -44,6 +52,10 @@ class TestResourcePoolControllerTests extends BaseTest {
|
||||||
private MockMvc mockMvc;
|
private MockMvc mockMvc;
|
||||||
@Resource
|
@Resource
|
||||||
private TestResourcePoolOrganizationMapper testResourcePoolOrganizationMapper;
|
private TestResourcePoolOrganizationMapper testResourcePoolOrganizationMapper;
|
||||||
|
@Resource
|
||||||
|
private MockServerClient mockServerClient;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static final String TEST_RESOURCE_POOL_ADD = "/test/resource/pool/add";
|
private static final String TEST_RESOURCE_POOL_ADD = "/test/resource/pool/add";
|
||||||
private static final String TEST_RESOURCE_POOL_UPDATE = "/test/resource/pool/update";
|
private static final String TEST_RESOURCE_POOL_UPDATE = "/test/resource/pool/update";
|
||||||
|
@ -527,7 +539,7 @@ class TestResourcePoolControllerTests extends BaseTest {
|
||||||
@Test
|
@Test
|
||||||
@Order(21)
|
@Order(21)
|
||||||
void unableTestResourcePoolSuccess() throws Exception {
|
void unableTestResourcePoolSuccess() throws Exception {
|
||||||
MvcResult testPoolBlob = this.addTestResourcePoolSuccess("test_pool_blob3", false, true, true, false, false, ResourcePoolTypeEnum.K8S.name());
|
MvcResult testPoolBlob = this.addTestResourcePoolSuccess("test_pool_blob4", false, true, true, false, false, ResourcePoolTypeEnum.K8S.name());
|
||||||
TestResourcePool testResourcePoolRequest1 = getResult(testPoolBlob);
|
TestResourcePool testResourcePoolRequest1 = getResult(testPoolBlob);
|
||||||
String id = testResourcePoolRequest1.getId();
|
String id = testResourcePoolRequest1.getId();
|
||||||
mockMvc.perform(MockMvcRequestBuilders.post("/test/resource/pool/set/enable/"+id)
|
mockMvc.perform(MockMvcRequestBuilders.post("/test/resource/pool/set/enable/"+id)
|
||||||
|
@ -540,6 +552,37 @@ class TestResourcePoolControllerTests extends BaseTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(22)
|
@Order(22)
|
||||||
|
void createExpectationForInvalidAuth() throws Exception {
|
||||||
|
mockServerClient
|
||||||
|
.when(
|
||||||
|
request()
|
||||||
|
.withMethod("POST")
|
||||||
|
.withPath("172.16.200.8")
|
||||||
|
.withHeader("Content-type", "application/json")
|
||||||
|
.withBody(exact("OK")),
|
||||||
|
exactly(1))
|
||||||
|
.respond(
|
||||||
|
response()
|
||||||
|
.withStatusCode(401)
|
||||||
|
.withHeaders(
|
||||||
|
new Header("Content-Type", "application/json; charset=utf-8"),
|
||||||
|
new Header("Cache-Control", "public, max-age=86400"))
|
||||||
|
.withBody("OK")
|
||||||
|
.withDelay(TimeUnit.SECONDS,1)
|
||||||
|
);
|
||||||
|
MvcResult testPoolBlob = this.addTestResourcePoolSuccess("test_pool_blob3", false, true, true, false, false, ResourcePoolTypeEnum.NODE.name());
|
||||||
|
TestResourcePool testResourcePoolRequest1 = getResult(testPoolBlob);
|
||||||
|
String id = testResourcePoolRequest1.getId();
|
||||||
|
mockMvc.perform(MockMvcRequestBuilders.post("/test/resource/pool/set/enable/"+id)
|
||||||
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
|
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||||
|
.andExpect(status().isOk())
|
||||||
|
.andExpect(content().contentType(MediaType.APPLICATION_JSON));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(23)
|
||||||
void unableTestResourcePoolFiled() throws Exception {
|
void unableTestResourcePoolFiled() throws Exception {
|
||||||
mockMvc.perform(MockMvcRequestBuilders.post("/test/resource/pool/set/enable/105")
|
mockMvc.perform(MockMvcRequestBuilders.post("/test/resource/pool/set/enable/105")
|
||||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
|
@ -550,6 +593,7 @@ class TestResourcePoolControllerTests extends BaseTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void listByKeyWord(String keyWord) throws Exception {
|
void listByKeyWord(String keyWord) throws Exception {
|
||||||
QueryResourcePoolRequest request = new QueryResourcePoolRequest();
|
QueryResourcePoolRequest request = new QueryResourcePoolRequest();
|
||||||
request.setCurrent(1);
|
request.setCurrent(1);
|
||||||
|
|
1
pom.xml
1
pom.xml
|
@ -124,6 +124,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.mock-server</groupId>
|
<groupId>org.mock-server</groupId>
|
||||||
<artifactId>mockserver-netty</artifactId>
|
<artifactId>mockserver-netty</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
<version>${mockserver-client-java.version}</version>
|
<version>${mockserver-client-java.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
Loading…
Reference in New Issue