Skip to content

Commit 86cedc6

Browse files
Use JsonContent instead of String contains
1 parent de45a71 commit 86cedc6

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-tomcat-ssl/src/test/java/smoketest/tomcat/ssl/SampleTomcatSslApplicationTests.java

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.boot.web.server.AbstractConfigurableWebServerFactory;
2626
import org.springframework.http.HttpStatus;
2727
import org.springframework.http.ResponseEntity;
28+
import org.springframework.test.json.JsonContent;
2829

2930
import static org.assertj.core.api.Assertions.assertThat;
3031

@@ -53,20 +54,39 @@ void testHome() {
5354
void testSslInfo() {
5455
ResponseEntity<String> entity = this.restTemplate.getForEntity("/actuator/info", String.class);
5556
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
56-
assertThat(entity.getBody()).contains("\"name\":\"ssldemo\"")
57-
.contains("\"alias\":\"spring-boot-ssl-sample\"")
58-
.contains("\"status\":\"EXPIRED\"")
59-
.contains("\"subject\":\"CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown\"");
57+
JsonContent body = new JsonContent(entity.getBody());
58+
assertThat(body).extractingPath("ssl.bundles[0].name").isEqualTo("ssldemo");
59+
assertThat(body).extractingPath("ssl.bundles[0].certificateChains[0].alias")
60+
.isEqualTo("spring-boot-ssl-sample");
61+
assertThat(body).extractingPath("ssl.bundles[0].certificateChains[0].certificates[0].issuer")
62+
.isEqualTo("CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown");
63+
assertThat(body).extractingPath("ssl.bundles[0].certificateChains[0].certificates[0].subject")
64+
.isEqualTo("CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown");
65+
assertThat(body).extractingPath("ssl.bundles[0].certificateChains[0].certificates[0].validity.status")
66+
.isEqualTo("EXPIRED");
67+
assertThat(body).extractingPath("ssl.bundles[0].certificateChains[0].certificates[0].validity.message")
68+
.asString()
69+
.startsWith("Not valid after ");
6070
}
6171

6272
@Test
6373
void testSslHealth() {
6474
ResponseEntity<String> entity = this.restTemplate.getForEntity("/actuator/health", String.class);
6575
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.SERVICE_UNAVAILABLE);
66-
assertThat(entity.getBody()).contains("\"status\":\"OUT_OF_SERVICE\"")
67-
.contains("\"alias\":\"spring-boot-ssl-sample\"")
68-
.contains("\"status\":\"EXPIRED\"")
69-
.contains("\"subject\":\"CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown\"");
76+
JsonContent body = new JsonContent(entity.getBody());
77+
assertThat(body).extractingPath("status").isEqualTo("OUT_OF_SERVICE");
78+
assertThat(body).extractingPath("components.ssl.status").isEqualTo("OUT_OF_SERVICE");
79+
assertThat(body).extractingPath("components.ssl.details.certificateChains[0].alias")
80+
.isEqualTo("spring-boot-ssl-sample");
81+
assertThat(body).extractingPath("components.ssl.details.certificateChains[0].certificates[0].issuer")
82+
.isEqualTo("CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown");
83+
assertThat(body).extractingPath("components.ssl.details.certificateChains[0].certificates[0].subject")
84+
.isEqualTo("CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,C=Unknown");
85+
assertThat(body).extractingPath("components.ssl.details.certificateChains[0].certificates[0].validity.status")
86+
.isEqualTo("EXPIRED");
87+
assertThat(body).extractingPath("components.ssl.details.certificateChains[0].certificates[0].validity.message")
88+
.asString()
89+
.startsWith("Not valid after ");
7090
}
7191

7292
}

0 commit comments

Comments
 (0)