Skip to content

Commit 67d6784

Browse files
committed
chore: cleanup of test cases
1 parent a90595e commit 67d6784

14 files changed

+106
-132
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,12 @@
11
package app;
22

3-
import app.todoclient.TodoClient;
4-
import app.userclient.UserClient;
5-
import org.springframework.beans.factory.annotation.Value;
63
import org.springframework.boot.SpringApplication;
74
import org.springframework.boot.autoconfigure.SpringBootApplication;
8-
import org.springframework.context.annotation.Bean;
9-
import org.springframework.web.reactive.function.client.WebClient;
10-
import org.springframework.web.reactive.function.client.support.WebClientAdapter;
11-
import org.springframework.web.service.invoker.HttpServiceProxyFactory;
125

136
@SpringBootApplication
147
public class App {
158

16-
public static void main(String[] args) {
9+
public static void main(final String[] args) {
1710
SpringApplication.run(App.class, args);
1811
}
19-
20-
@Bean
21-
UserClient userClient(WebClient.Builder builder, @Value("${user-client.url}") String url) {
22-
WebClient webClient = builder.baseUrl(url).build();
23-
24-
HttpServiceProxyFactory httpServiceProxyFactory =
25-
HttpServiceProxyFactory.builder(WebClientAdapter.forClient(webClient)).build();
26-
return httpServiceProxyFactory.createClient(UserClient.class);
27-
}
28-
29-
@Bean
30-
TodoClient todoClient(WebClient.Builder builder, @Value("${todo-client.url}") String url)
31-
throws InterruptedException {
32-
Thread.sleep(1000);
33-
WebClient webClient = builder.baseUrl(url).build();
34-
35-
HttpServiceProxyFactory httpServiceProxyFactory =
36-
HttpServiceProxyFactory.builder(WebClientAdapter.forClient(webClient)).build();
37-
return httpServiceProxyFactory.createClient(TodoClient.class);
38-
}
3912
}

wiremock-spring-boot-example/src/main/java/app/controller/TodoController.java

-27
This file was deleted.

wiremock-spring-boot-example/src/main/java/app/controller/TodoDTO.java

-3
This file was deleted.

wiremock-spring-boot-example/src/main/java/app/todoclient/Todo.java

-3
This file was deleted.

wiremock-spring-boot-example/src/main/java/app/todoclient/TodoClient.java

-9
This file was deleted.

wiremock-spring-boot-example/src/main/java/app/userclient/User.java

-3
This file was deleted.

wiremock-spring-boot-example/src/main/java/app/userclient/UserClient.java

-10
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
user-client.url=https://jsonplaceholder.typicode.com/users
2-
todo-client.url=https://jsonplaceholder.typicode.com/todos
3-
41
#logging.level.org.springframework.test.context.cache=DEBUG

wiremock-spring-boot-example/src/test/java/app/DefaultInstanceTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.springframework.boot.test.context.SpringBootTest;
1111
import org.wiremock.spring.EnableWireMock;
1212

13-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
13+
@SpringBootTest
1414
@EnableWireMock
1515
class DefaultInstanceTest {
1616

wiremock-spring-boot-example/src/test/java/app/InjectDefaultWireMockTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
import org.wiremock.spring.EnableWireMock;
1212
import org.wiremock.spring.InjectWireMock;
1313

14-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
14+
@SpringBootTest
1515
@EnableWireMock
16-
class InjectNamedWireMockTest {
16+
class InjectDefaultWireMockTest {
1717

1818
@InjectWireMock private WireMockServer wireMockServer;
1919

wiremock-spring-boot-example/src/test/java/app/InjectNamedWireMockTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
import org.wiremock.spring.EnableWireMock;
1313
import org.wiremock.spring.InjectWireMock;
1414

15-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
15+
@SpringBootTest
1616
@EnableWireMock(@ConfigureWireMock(name = "mywiremock"))
17-
class InjectDefaultWireMockTest {
17+
class InjectNamedWireMockTest {
1818

1919
@InjectWireMock("mywiremock")
2020
private WireMockServer wireMockServer;

wiremock-spring-boot-example/src/test/java/app/JavaStubbingTest.java

+22-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import static com.github.tomakehurst.wiremock.client.WireMock.get;
55
import static org.assertj.core.api.Assertions.assertThat;
66

7-
import app.todoclient.TodoClient;
87
import com.github.tomakehurst.wiremock.client.WireMock;
8+
import io.restassured.RestAssured;
99
import org.junit.jupiter.api.Test;
10-
import org.springframework.beans.factory.annotation.Autowired;
10+
import org.springframework.beans.factory.annotation.Value;
1111
import org.springframework.boot.test.context.SpringBootTest;
1212
import org.wiremock.spring.ConfigureWireMock;
1313
import org.wiremock.spring.EnableWireMock;
@@ -21,7 +21,8 @@
2121
})
2222
class JavaStubbingTest {
2323

24-
@Autowired private TodoClient todoClient;
24+
@Value("${todo-client.url}")
25+
private String todoUrl;
2526

2627
@Test
2728
void usesJavaStubbing() {
@@ -41,6 +42,23 @@ void usesJavaStubbing() {
4142
{ "id": 2, "userId": 1, "title": "my todo2" }
4243
]
4344
""")));
44-
assertThat(this.todoClient.findAll()).isNotNull().hasSize(2);
45+
46+
assertThat(
47+
RestAssured.when().get(this.todoUrl).then().statusCode(200).extract().asPrettyString())
48+
.isEqualToIgnoringWhitespace(
49+
"""
50+
[
51+
{
52+
"id": 1,
53+
"userId": 1,
54+
"title": "my todo"
55+
},
56+
{
57+
"id": 2,
58+
"userId": 1,
59+
"title": "my todo2"
60+
}
61+
]
62+
""");
4563
}
4664
}

wiremock-spring-boot-example/src/test/java/app/MultipleWireMocksTest.java

+52-22
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,15 @@
44
import static com.github.tomakehurst.wiremock.client.WireMock.get;
55
import static org.assertj.core.api.Assertions.assertThat;
66

7-
import app.controller.TodoDTO;
87
import com.github.tomakehurst.wiremock.WireMockServer;
8+
import io.restassured.RestAssured;
99
import org.junit.jupiter.api.Test;
10-
import org.springframework.beans.factory.annotation.Autowired;
1110
import org.springframework.boot.test.context.SpringBootTest;
12-
import org.springframework.boot.test.web.client.TestRestTemplate;
13-
import org.springframework.http.HttpStatus;
14-
import org.springframework.http.ResponseEntity;
1511
import org.wiremock.spring.ConfigureWireMock;
1612
import org.wiremock.spring.EnableWireMock;
1713
import org.wiremock.spring.InjectWireMock;
1814

19-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
15+
@SpringBootTest
2016
@EnableWireMock({
2117
@ConfigureWireMock(name = "user-client", baseUrlProperties = "user-client.url"),
2218
@ConfigureWireMock(name = "todo-service", baseUrlProperties = "todo-client.url")
@@ -29,8 +25,6 @@ class MultipleWireMocksTest {
2925
@InjectWireMock("user-client")
3026
private WireMockServer userService;
3127

32-
@Autowired private TestRestTemplate restTemplate;
33-
3428
@Test
3529
void returnsTodos() {
3630
this.todoService.stubFor(
@@ -64,21 +58,57 @@ void returnsTodos() {
6458
{ "id": 2, "name": "John" }
6559
""")));
6660

67-
final ResponseEntity<TodoDTO[]> response = this.restTemplate.getForEntity("/", TodoDTO[].class);
61+
assertThat(
62+
RestAssured.when()
63+
.get("http://localhost:" + this.todoService.port() + "/")
64+
.then()
65+
.statusCode(200)
66+
.extract()
67+
.asPrettyString())
68+
.isEqualToIgnoringWhitespace(
69+
"""
70+
[
71+
{
72+
"id": 1,
73+
"userId": 1,
74+
"title": "my todo"
75+
},
76+
{
77+
"id": 2,
78+
"userId": 2,
79+
"title": "my todo2"
80+
}
81+
]
82+
""");
6883

69-
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
70-
assertThat(response.getBody()).hasSize(2);
71-
assertThat(response.getBody())
72-
.hasSize(2)
73-
.satisfies(
74-
todos -> {
75-
assertThat(todos[0].id()).isEqualTo(1);
76-
assertThat(todos[0].title()).isEqualTo("my todo");
77-
assertThat(todos[0].userName()).isEqualTo("Amy");
84+
assertThat(
85+
RestAssured.when()
86+
.get("http://localhost:" + this.userService.port() + "/1")
87+
.then()
88+
.statusCode(200)
89+
.extract()
90+
.asPrettyString())
91+
.isEqualToIgnoringWhitespace(
92+
"""
93+
{
94+
"id": 1,
95+
"name": "Amy"
96+
}
97+
""");
7898

79-
assertThat(todos[1].id()).isEqualTo(2);
80-
assertThat(todos[1].title()).isEqualTo("my todo2");
81-
assertThat(todos[1].userName()).isEqualTo("John");
82-
});
99+
assertThat(
100+
RestAssured.when()
101+
.get("http://localhost:" + this.userService.port() + "/2")
102+
.then()
103+
.statusCode(200)
104+
.extract()
105+
.asPrettyString())
106+
.isEqualToIgnoringWhitespace(
107+
"""
108+
{
109+
"id": 2,
110+
"name": "John"
111+
}
112+
""");
83113
}
84114
}

wiremock-spring-boot-example/src/test/java/app/SingleWireMockTest.java renamed to wiremock-spring-boot-example/src/test/java/app/SingleNamedWireMockTest.java

+26-15
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44
import static com.github.tomakehurst.wiremock.client.WireMock.get;
55
import static org.assertj.core.api.Assertions.assertThat;
66

7-
import app.userclient.User;
8-
import app.userclient.UserClient;
97
import com.github.tomakehurst.wiremock.WireMockServer;
8+
import io.restassured.RestAssured;
109
import org.junit.jupiter.api.Test;
11-
import org.springframework.beans.factory.annotation.Autowired;
1210
import org.springframework.boot.test.context.SpringBootTest;
1311
import org.wiremock.spring.ConfigureWireMock;
1412
import org.wiremock.spring.EnableWireMock;
@@ -18,12 +16,10 @@
1816
@EnableWireMock({
1917
@ConfigureWireMock(
2018
name = "user-client",
21-
filesUnderClasspath = {"wiremock"},
19+
filesUnderClasspath = {"wiremock/user-client"},
2220
baseUrlProperties = "user-client.url")
2321
})
24-
class SingleWireMockTest {
25-
26-
@Autowired private UserClient userClient;
22+
class SingleNamedWireMockTest {
2723

2824
@InjectWireMock("user-client")
2925
private WireMockServer wiremock;
@@ -38,17 +34,32 @@ void usesJavaStubbing() {
3834
.withBody("""
3935
{ "id": 2, "name": "Amy" }
4036
""")));
41-
final User user = this.userClient.findOne(2L);
42-
assertThat(user).isNotNull();
43-
assertThat(user.id()).isEqualTo(2L);
44-
assertThat(user.name()).isEqualTo("Amy");
37+
38+
RestAssured.baseURI = "http://localhost:" + this.wiremock.port();
39+
final String actual =
40+
RestAssured.when().get("/2").then().statusCode(200).extract().asPrettyString();
41+
assertThat(actual)
42+
.isEqualToIgnoringWhitespace(
43+
"""
44+
{
45+
"id": 2,
46+
"name": "Amy"
47+
}
48+
""");
4549
}
4650

4751
@Test
4852
void usesStubFiles() {
49-
final User user = this.userClient.findOne(1L);
50-
assertThat(user).isNotNull();
51-
assertThat(user.id()).isEqualTo(1L);
52-
assertThat(user.name()).isEqualTo("Jenna");
53+
RestAssured.baseURI = "http://localhost:" + this.wiremock.port();
54+
final String actual =
55+
RestAssured.when().get("/1").then().statusCode(200).extract().asPrettyString();
56+
assertThat(actual)
57+
.isEqualToIgnoringWhitespace(
58+
"""
59+
{
60+
"name": "Jenna",
61+
"id": 1
62+
}
63+
""");
5364
}
5465
}

0 commit comments

Comments
 (0)