Browse Source

Add nullability annotations to tests in smoke-test/spring-boot-smoke-test-actuator

See gh-47263
pull/47665/head
Moritz Halbritter 2 months ago
parent
commit
15db7c5158
  1. 6
      smoke-test/spring-boot-smoke-test-actuator/build.gradle
  2. 6
      smoke-test/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementPortSampleActuatorApplicationTests.java
  3. 10
      smoke-test/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/SampleActuatorApplicationTests.java
  4. 4
      smoke-test/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ShutdownSampleActuatorApplicationTests.java

6
smoke-test/spring-boot-smoke-test-actuator/build.gradle

@ -33,4 +33,8 @@ dependencies { @@ -33,4 +33,8 @@ dependencies {
testImplementation(project(":starter:spring-boot-starter-webmvc-test"))
testImplementation(project(":starter:spring-boot-starter-test"))
testRuntimeOnly("org.apache.httpcomponents.client5:httpclient5")
}
}
tasks.named("compileTestJava") {
options.nullability.checking = "tests"
}

6
smoke-test/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementPortSampleActuatorApplicationTests.java

@ -18,6 +18,7 @@ package smoketest.actuator; @@ -18,6 +18,7 @@ package smoketest.actuator;
import java.util.Map;
import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.Test;
import smoketest.actuator.ManagementPortSampleActuatorApplicationTests.CustomErrorAttributes;
@ -96,6 +97,7 @@ class ManagementPortSampleActuatorApplicationTests { @@ -96,6 +97,7 @@ class ManagementPortSampleActuatorApplicationTests {
this.errorAttributes.securityContext = null;
ResponseEntity<Map<String, Object>> entity = asMapEntity(new TestRestTemplate("user", "password")
.getForEntity("http://localhost:" + this.managementPort + "/404", Map.class));
assertThat(this.errorAttributes.securityContext).isNotNull();
assertThat(this.errorAttributes.securityContext.getAuthentication()).isNotNull();
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
assertThat(entity.getBody()).containsEntry("status", 404);
@ -108,10 +110,10 @@ class ManagementPortSampleActuatorApplicationTests { @@ -108,10 +110,10 @@ class ManagementPortSampleActuatorApplicationTests {
static class CustomErrorAttributes extends DefaultErrorAttributes {
private volatile SecurityContext securityContext;
private volatile @Nullable SecurityContext securityContext;
@Override
public Map<String, Object> getErrorAttributes(WebRequest webRequest, ErrorAttributeOptions options) {
public Map<String, @Nullable Object> getErrorAttributes(WebRequest webRequest, ErrorAttributeOptions options) {
this.securityContext = SecurityContextHolder.getContext();
return super.getErrorAttributes(webRequest, options);
}

10
smoke-test/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/SampleActuatorApplicationTests.java

@ -90,8 +90,10 @@ class SampleActuatorApplicationTests { @@ -90,8 +90,10 @@ class SampleActuatorApplicationTests {
ResponseEntity<Map<String, Object>> entity = asMapEntity(
this.restTemplate.withBasicAuth("user", "password").getForEntity("/actuator/metrics", Map.class));
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(entity.getBody()).containsKey("names");
List<String> names = (List<String>) entity.getBody().get("names");
Map<String, Object> body = entity.getBody();
assertThat(body).isNotNull();
assertThat(body).containsKey("names");
List<String> names = (List<String>) body.get("names");
assertThat(names).contains("jvm.buffer.count");
}
@ -157,8 +159,11 @@ class SampleActuatorApplicationTests { @@ -157,8 +159,11 @@ class SampleActuatorApplicationTests {
this.restTemplate.withBasicAuth("user", "password").getForEntity("/actuator/configprops", Map.class));
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
Map<String, Object> body = entity.getBody();
assertThat(body).isNotNull();
Map<String, Object> contexts = (Map<String, Object>) body.get("contexts");
assertThat(contexts).isNotNull();
Map<String, Object> context = (Map<String, Object>) contexts.get(this.applicationContext.getId());
assertThat(context).isNotNull();
Map<String, Object> beans = (Map<String, Object>) context.get("beans");
assertThat(beans).containsKey("spring.datasource-" + DataSourceProperties.class.getName());
}
@ -187,6 +192,7 @@ class SampleActuatorApplicationTests { @@ -187,6 +192,7 @@ class SampleActuatorApplicationTests {
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(entity.getBody()).containsKey("build");
Map<String, Object> body = entity.getBody();
assertThat(body).isNotNull();
Map<String, Object> example = (Map<String, Object>) body.get("example");
assertThat(example).containsEntry("someKey", "someValue");
}

4
smoke-test/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ShutdownSampleActuatorApplicationTests.java

@ -64,7 +64,9 @@ class ShutdownSampleActuatorApplicationTests { @@ -64,7 +64,9 @@ class ShutdownSampleActuatorApplicationTests {
ResponseEntity<Map<String, Object>> entity = asMapEntity(this.restTemplate.withBasicAuth("user", "password")
.postForEntity("/actuator/shutdown", null, Map.class));
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(((String) entity.getBody().get("message"))).contains("Shutting down");
Map<String, Object> body = entity.getBody();
assertThat(body).isNotNull();
assertThat(((String) body.get("message"))).contains("Shutting down");
}
@SuppressWarnings({ "unchecked", "rawtypes" })

Loading…
Cancel
Save