Skip to content

Commit b8394d7

Browse files
committed
webflux integration
1 parent 9d69421 commit b8394d7

File tree

46 files changed

+814
-303
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+814
-303
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package test.org.springdoc.ui;
2+
3+
import java.nio.charset.StandardCharsets;
4+
import java.nio.file.Files;
5+
import java.nio.file.Path;
6+
import java.nio.file.Paths;
7+
8+
import nonapi.io.github.classgraph.utils.FileUtils;
9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
11+
12+
import org.springframework.beans.factory.annotation.Autowired;
13+
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
14+
import org.springframework.test.context.ActiveProfiles;
15+
import org.springframework.test.web.servlet.MockMvc;
16+
17+
@AutoConfigureMockMvc
18+
@ActiveProfiles("test")
19+
public abstract class AbstractCommonTest {
20+
21+
protected static final Logger LOGGER = LoggerFactory.getLogger(AbstractCommonTest.class);
22+
23+
@Autowired
24+
protected MockMvc mockMvc;
25+
26+
protected String getContent(String fileName) throws Exception {
27+
try {
28+
Path path = Paths.get(FileUtils.class.getClassLoader().getResource(fileName).toURI());
29+
byte[] fileBytes = Files.readAllBytes(path);
30+
return new String(fileBytes, StandardCharsets.UTF_8);
31+
}
32+
catch (Exception e) {
33+
throw new RuntimeException("Failed to read file: " + fileName, e);
34+
}
35+
}
36+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package test.org.springdoc.ui;
2+
3+
import javax.annotation.PostConstruct;
4+
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort;
7+
import org.springframework.boot.web.client.RestTemplateBuilder;
8+
import org.springframework.web.client.RestTemplate;
9+
10+
public abstract class AbstractSpringDocActuatorTest extends AbstractCommonTest{
11+
12+
@LocalManagementPort
13+
private int managementPort;
14+
15+
@Autowired
16+
private RestTemplateBuilder restTemplateBuilder;
17+
18+
protected RestTemplate actuatorRestTemplate;
19+
20+
@PostConstruct
21+
void init() {
22+
actuatorRestTemplate = restTemplateBuilder
23+
.rootUri("http://localhost:" + this.managementPort).build();
24+
}
25+
}

springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,40 +18,13 @@
1818

1919
package test.org.springdoc.ui;
2020

21-
import java.nio.charset.StandardCharsets;
22-
import java.nio.file.Files;
23-
import java.nio.file.Path;
24-
import java.nio.file.Paths;
25-
26-
import nonapi.io.github.classgraph.utils.FileUtils;
27-
28-
import org.springframework.beans.factory.annotation.Autowired;
29-
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
3021
import org.springframework.boot.test.context.SpringBootTest;
31-
import org.springframework.test.context.ActiveProfiles;
32-
import org.springframework.test.web.servlet.MockMvc;
3322

34-
@ActiveProfiles("test")
3523
@SpringBootTest
36-
@AutoConfigureMockMvc
37-
public abstract class AbstractSpringDocTest {
24+
public abstract class AbstractSpringDocTest extends AbstractCommonTest {
3825

3926
public static String className;
4027

41-
@Autowired
42-
protected MockMvc mockMvc;
43-
44-
public static String getContent(String fileName) throws Exception {
45-
try {
46-
Path path = Paths.get(FileUtils.class.getClassLoader().getResource(fileName).toURI());
47-
byte[] fileBytes = Files.readAllBytes(path);
48-
return new String(fileBytes, StandardCharsets.UTF_8);
49-
}
50-
catch (Exception e) {
51-
throw new RuntimeException("Failed to read file: " + fileName, e);
52-
}
53-
}
54-
5528
protected String getExpectedResult() throws Exception {
5629
className = getClass().getSimpleName();
5730
String testNumber = className.replaceAll("[^0-9]", "");

springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app13/SpringDocApp13Test.java

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,12 @@
1818

1919
package test.org.springdoc.ui.app13;
2020

21-
import javax.annotation.PostConstruct;
22-
2321
import org.junit.jupiter.api.Test;
24-
import test.org.springdoc.ui.AbstractSpringDocTest;
22+
import test.org.springdoc.ui.AbstractSpringDocActuatorTest;
2523

26-
import org.springframework.beans.factory.annotation.Autowired;
27-
import org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort;
2824
import org.springframework.boot.autoconfigure.SpringBootApplication;
2925
import org.springframework.boot.test.context.SpringBootTest;
30-
import org.springframework.boot.web.client.RestTemplateBuilder;
3126
import org.springframework.test.web.servlet.MvcResult;
32-
import org.springframework.web.client.RestTemplate;
3327

3428
import static org.junit.jupiter.api.Assertions.assertTrue;
3529
import static org.skyscreamer.jsonassert.JSONAssert.assertEquals;
@@ -40,25 +34,11 @@
4034
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
4135
properties = { "management.endpoints.web.exposure.include:*", "springdoc.use-management-port=true",
4236
"management.server.port=9092", "management.endpoints.web.base-path=/application" })
43-
class SpringDocApp13Test extends AbstractSpringDocTest {
37+
class SpringDocApp13Test extends AbstractSpringDocActuatorTest {
4438

4539
@SpringBootApplication
4640
static class SpringDocTestApp {}
4741

48-
@LocalManagementPort
49-
private int managementPort;
50-
51-
@Autowired
52-
private RestTemplateBuilder restTemplateBuilder;
53-
54-
private RestTemplate actuatorRestTemplate;
55-
56-
@PostConstruct
57-
void init() {
58-
actuatorRestTemplate = restTemplateBuilder
59-
.rootUri("http://localhost:" + this.managementPort).build();
60-
}
61-
6242
@Test
6343
void testIndex() throws Exception {
6444
MvcResult mvcResult = mockMvc.perform(get("/application/swagger-ui/index.html")).andExpect(status().isOk()).andReturn();

springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app14/SpringDocApp14Test.java

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,12 @@
1818

1919
package test.org.springdoc.ui.app14;
2020

21-
import javax.annotation.PostConstruct;
22-
2321
import org.junit.jupiter.api.Test;
24-
import test.org.springdoc.ui.AbstractSpringDocTest;
22+
import test.org.springdoc.ui.AbstractSpringDocActuatorTest;
2523

26-
import org.springframework.beans.factory.annotation.Autowired;
27-
import org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort;
2824
import org.springframework.boot.autoconfigure.SpringBootApplication;
2925
import org.springframework.boot.test.context.SpringBootTest;
30-
import org.springframework.boot.web.client.RestTemplateBuilder;
3126
import org.springframework.test.web.servlet.MvcResult;
32-
import org.springframework.web.client.RestTemplate;
3327

3428
import static org.junit.jupiter.api.Assertions.assertTrue;
3529
import static org.skyscreamer.jsonassert.JSONAssert.assertEquals;
@@ -40,25 +34,11 @@
4034
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
4135
properties = { "management.endpoints.web.exposure.include:*", "springdoc.use-management-port=true",
4236
"management.server.port=9093", "management.endpoints.web.base-path=/application" })
43-
class SpringDocApp14Test extends AbstractSpringDocTest {
37+
class SpringDocApp14Test extends AbstractSpringDocActuatorTest {
4438

4539
@SpringBootApplication
4640
static class SpringDocTestApp {}
4741

48-
@LocalManagementPort
49-
private int managementPort;
50-
51-
@Autowired
52-
private RestTemplateBuilder restTemplateBuilder;
53-
54-
private RestTemplate actuatorRestTemplate;
55-
56-
@PostConstruct
57-
void init() {
58-
actuatorRestTemplate = restTemplateBuilder
59-
.rootUri("http://localhost:" + this.managementPort).build();
60-
}
61-
6242
@Test
6343
void testIndex() throws Exception {
6444
MvcResult mvcResult = mockMvc.perform(get("/application/swagger-ui/index.html")).andExpect(status().isOk()).andReturn();

springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app15/SpringDocApp15Test.java

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,12 @@
1818

1919
package test.org.springdoc.ui.app15;
2020

21-
import javax.annotation.PostConstruct;
22-
2321
import org.junit.jupiter.api.Test;
24-
import test.org.springdoc.ui.AbstractSpringDocTest;
22+
import test.org.springdoc.ui.AbstractSpringDocActuatorTest;
2523

26-
import org.springframework.beans.factory.annotation.Autowired;
27-
import org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort;
2824
import org.springframework.boot.autoconfigure.SpringBootApplication;
2925
import org.springframework.boot.test.context.SpringBootTest;
30-
import org.springframework.boot.web.client.RestTemplateBuilder;
3126
import org.springframework.test.web.servlet.MvcResult;
32-
import org.springframework.web.client.RestTemplate;
3327

3428
import static org.junit.jupiter.api.Assertions.assertTrue;
3529
import static org.skyscreamer.jsonassert.JSONAssert.assertEquals;
@@ -43,25 +37,11 @@
4337
"management.server.port=9094",
4438
"management.server.base-path=/test",
4539
"management.endpoints.web.base-path=/application" })
46-
class SpringDocApp15Test extends AbstractSpringDocTest {
40+
class SpringDocApp15Test extends AbstractSpringDocActuatorTest {
4741

4842
@SpringBootApplication
4943
static class SpringDocTestApp {}
5044

51-
@LocalManagementPort
52-
private int managementPort;
53-
54-
@Autowired
55-
private RestTemplateBuilder restTemplateBuilder;
56-
57-
private RestTemplate actuatorRestTemplate;
58-
59-
@PostConstruct
60-
void init() {
61-
actuatorRestTemplate = restTemplateBuilder
62-
.rootUri("http://localhost:" + this.managementPort).build();
63-
}
64-
6545
@Test
6646
void testIndex() throws Exception {
6747
MvcResult mvcResult = mockMvc.perform(get("/application/swagger-ui/index.html")).andExpect(status().isOk()).andReturn();

springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app16/SpringDocApp16Test.java

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,12 @@
1818

1919
package test.org.springdoc.ui.app16;
2020

21-
import javax.annotation.PostConstruct;
22-
2321
import org.junit.jupiter.api.Test;
24-
import test.org.springdoc.ui.AbstractSpringDocTest;
22+
import test.org.springdoc.ui.AbstractSpringDocActuatorTest;
2523

26-
import org.springframework.beans.factory.annotation.Autowired;
27-
import org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort;
2824
import org.springframework.boot.autoconfigure.SpringBootApplication;
2925
import org.springframework.boot.test.context.SpringBootTest;
30-
import org.springframework.boot.web.client.RestTemplateBuilder;
3126
import org.springframework.test.web.servlet.MvcResult;
32-
import org.springframework.web.client.RestTemplate;
3327

3428
import static org.junit.jupiter.api.Assertions.assertTrue;
3529
import static org.skyscreamer.jsonassert.JSONAssert.assertEquals;
@@ -43,25 +37,11 @@
4337
"management.server.port=9095",
4438
"management.server.base-path=/test",
4539
"management.endpoints.web.base-path=/application" })
46-
class SpringDocApp16Test extends AbstractSpringDocTest {
40+
class SpringDocApp16Test extends AbstractSpringDocActuatorTest {
4741

4842
@SpringBootApplication
4943
static class SpringDocTestApp {}
5044

51-
@LocalManagementPort
52-
private int managementPort;
53-
54-
@Autowired
55-
private RestTemplateBuilder restTemplateBuilder;
56-
57-
private RestTemplate actuatorRestTemplate;
58-
59-
@PostConstruct
60-
void init() {
61-
actuatorRestTemplate = restTemplateBuilder
62-
.rootUri("http://localhost:" + this.managementPort).build();
63-
}
64-
6545
@Test
6646
void testIndex() throws Exception {
6747
MvcResult mvcResult = mockMvc.perform(get("/application/swagger-ui/index.html")).andExpect(status().isOk()).andReturn();

springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app17/SpringDocApp17Test.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
package test.org.springdoc.ui.app17;
2020

2121
import org.junit.jupiter.api.Test;
22-
import test.org.springdoc.ui.AbstractSpringDocTest;
22+
import test.org.springdoc.ui.AbstractSpringDocActuatorTest;
2323

2424
import org.springframework.boot.autoconfigure.SpringBootApplication;
2525
import org.springframework.boot.test.context.SpringBootTest;
@@ -37,7 +37,7 @@
3737
"server.servlet.context-path=/sample",
3838
"management.server.base-path=/test",
3939
"management.endpoints.web.base-path=/application" })
40-
class SpringDocApp17Test extends AbstractSpringDocTest {
40+
class SpringDocApp17Test extends AbstractSpringDocActuatorTest {
4141

4242
@SpringBootApplication
4343
static class SpringDocTestApp {}

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/TestCommon.java renamed to springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/AbstractCommonTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616

1717
@AutoConfigureWebTestClient(timeout = "3600000")
1818
@ActiveProfiles("test")
19-
public abstract class TestCommon {
19+
public abstract class AbstractCommonTest {
2020

21-
protected static final Logger LOGGER = LoggerFactory.getLogger(TestCommon.class);
21+
protected static final Logger LOGGER = LoggerFactory.getLogger(AbstractCommonTest.class);
2222

2323
@Autowired
2424
protected WebTestClient webTestClient;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package test.org.springdoc.api;
2+
3+
import javax.annotation.PostConstruct;
4+
5+
import org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort;
6+
import org.springframework.web.reactive.function.client.WebClient;
7+
8+
public abstract class AbstractSpringDocActuatorTest extends AbstractCommonTest{
9+
10+
@LocalManagementPort
11+
private int managementPort;
12+
13+
protected WebClient webClient;
14+
15+
@PostConstruct
16+
void init(){
17+
webClient = WebClient.builder().baseUrl("http://localhost:" + this.managementPort)
18+
.build();
19+
}
20+
}

0 commit comments

Comments
 (0)