|
25 | 25 | import org.springframework.boot.web.server.AbstractConfigurableWebServerFactory; |
26 | 26 | import org.springframework.http.HttpStatus; |
27 | 27 | import org.springframework.http.ResponseEntity; |
| 28 | +import org.springframework.test.json.JsonContent; |
28 | 29 |
|
29 | 30 | import static org.assertj.core.api.Assertions.assertThat; |
30 | 31 |
|
@@ -53,20 +54,39 @@ void testHome() { |
53 | 54 | void testSslInfo() { |
54 | 55 | ResponseEntity<String> entity = this.restTemplate.getForEntity("/actuator/info", String.class); |
55 | 56 | 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 "); |
60 | 70 | } |
61 | 71 |
|
62 | 72 | @Test |
63 | 73 | void testSslHealth() { |
64 | 74 | ResponseEntity<String> entity = this.restTemplate.getForEntity("/actuator/health", String.class); |
65 | 75 | 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 "); |
70 | 90 | } |
71 | 91 |
|
72 | 92 | } |
0 commit comments