Skip to content

Commit d0ae20f

Browse files
committed
Add nullability annotations to tests in module/spring-boot-rsocket
See gh-47263
1 parent 04aefab commit d0ae20f

4 files changed

Lines changed: 37 additions & 15 deletions

File tree

module/spring-boot-rsocket/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,11 @@ dependencies {
4343
testImplementation("io.projectreactor:reactor-test")
4444
testImplementation("org.springframework:spring-webflux")
4545

46+
testCompileOnly("com.google.code.findbugs:jsr305")
47+
4648
testRuntimeOnly("ch.qos.logback:logback-classic")
4749
}
50+
51+
tasks.named("compileTestJava") {
52+
options.nullability.checking = "tests"
53+
}

module/spring-boot-rsocket/src/test/java/org/springframework/boot/rsocket/autoconfigure/RSocketMessagingAutoConfigurationTests.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ void shouldFailOnMissingStrategies() {
6565
new ApplicationContextRunner().withConfiguration(AutoConfigurations.of(RSocketMessagingAutoConfiguration.class))
6666
.run((context) -> {
6767
assertThat(context).hasFailed();
68-
assertThat(context.getStartupFailure().getMessage()).contains("No qualifying bean of type "
68+
Throwable startupFailure = context.getStartupFailure();
69+
assertThat(startupFailure).isNotNull();
70+
assertThat(startupFailure.getMessage()).contains("No qualifying bean of type "
6971
+ "'org.springframework.messaging.rsocket.RSocketStrategies' available");
7072
});
7173
}
@@ -90,7 +92,9 @@ void shouldRegisterControllerAdvice() {
9092
this.contextRunner.withBean(TestControllerAdvice.class).withBean(TestController.class).run((context) -> {
9193
RSocketMessageHandler handler = context.getBean(RSocketMessageHandler.class);
9294
MessageHeaderAccessor headers = new MessageHeaderAccessor();
93-
RouteMatcher.Route route = handler.getRouteMatcher().parseRoute("exception");
95+
RouteMatcher routeMatcher = handler.getRouteMatcher();
96+
assertThat(routeMatcher).isNotNull();
97+
RouteMatcher.Route route = routeMatcher.parseRoute("exception");
9498
headers.setHeader(DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER, route);
9599
headers.setHeader(RSocketFrameTypeMessageCondition.FRAME_TYPE_HEADER, FrameType.REQUEST_FNF);
96100
Message<?> message = MessageBuilder.createMessage(Mono.empty(), headers.getMessageHeaders());

module/spring-boot-rsocket/src/test/java/org/springframework/boot/rsocket/autoconfigure/RSocketWebSocketNettyRouteProviderTests.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.net.URI;
2020
import java.time.Duration;
2121

22+
import org.jspecify.annotations.Nullable;
2223
import org.junit.jupiter.api.Test;
2324
import tools.jackson.databind.json.JsonMapper;
2425

@@ -67,13 +68,16 @@ void webEndpointsShouldWork() {
6768
.run((context) -> {
6869
ReactiveWebServerApplicationContext serverContext = (ReactiveWebServerApplicationContext) context
6970
.getSourceApplicationContext();
70-
RSocketRequester requester = createRSocketRequester(context, serverContext.getWebServer());
71+
WebServer webServer = serverContext.getWebServer();
72+
assertThat(webServer).isNotNull();
73+
RSocketRequester requester = createRSocketRequester(context, webServer);
7174
TestProtocol rsocketResponse = requester.route("websocket")
7275
.data(new TestProtocol("rsocket"))
7376
.retrieveMono(TestProtocol.class)
7477
.block(Duration.ofSeconds(3));
78+
assertThat(rsocketResponse).isNotNull();
7579
assertThat(rsocketResponse.getName()).isEqualTo("rsocket");
76-
WebTestClient client = createWebTestClient(serverContext.getWebServer());
80+
WebTestClient client = createWebTestClient(webServer);
7781
client.get()
7882
.uri("/protocol")
7983
.exchange()
@@ -150,20 +154,20 @@ TestProtocol testRSocketEndpoint() {
150154

151155
public static class TestProtocol {
152156

153-
private String name;
157+
private @Nullable String name;
154158

155159
TestProtocol() {
156160
}
157161

158-
TestProtocol(String name) {
162+
TestProtocol(@Nullable String name) {
159163
this.name = name;
160164
}
161165

162-
public String getName() {
166+
public @Nullable String getName() {
163167
return this.name;
164168
}
165169

166-
public void setName(String name) {
170+
public void setName(@Nullable String name) {
167171
this.name = name;
168172
}
169173

module/spring-boot-rsocket/src/test/java/org/springframework/boot/rsocket/netty/NettyRSocketServerFactoryTests.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import io.rsocket.transport.netty.client.TcpClientTransport;
3333
import io.rsocket.transport.netty.client.WebsocketClientTransport;
3434
import io.rsocket.util.DefaultPayload;
35-
import org.assertj.core.api.Assertions;
35+
import org.jspecify.annotations.Nullable;
3636
import org.junit.jupiter.api.AfterEach;
3737
import org.junit.jupiter.api.Test;
3838
import org.mockito.InOrder;
@@ -79,9 +79,9 @@
7979
*/
8080
class NettyRSocketServerFactoryTests {
8181

82-
private NettyRSocketServer server;
82+
private @Nullable NettyRSocketServer server;
8383

84-
private RSocketRequester requester;
84+
private @Nullable RSocketRequester requester;
8585

8686
@AfterEach
8787
void tearDown() {
@@ -111,10 +111,15 @@ void specificPort() {
111111
factory.setPort(0);
112112
this.server = factory.create(new EchoRequestResponseAcceptor());
113113
this.server.start();
114-
return this.server.address().getPort();
114+
InetSocketAddress address = this.server.address();
115+
assertThat(address).isNotNull();
116+
return address.getPort();
115117
});
116118
this.requester = createRSocketTcpClient();
117-
assertThat(this.server.address().getPort()).isEqualTo(specificPort);
119+
assertThat(this.server).isNotNull();
120+
InetSocketAddress address = this.server.address();
121+
assertThat(address).isNotNull();
122+
assertThat(address.getPort()).isEqualTo(specificPort);
118123
checkEchoRequest();
119124
}
120125

@@ -264,6 +269,7 @@ void websocketTransportBasicSslCertificateFromFileSystemWithBundle(@ResourcePath
264269

265270
private void checkEchoRequest() {
266271
String payload = "test payload";
272+
assertThat(this.requester).isNotNull();
267273
Mono<String> response = this.requester.route("test").data(payload).retrieveMono(String.class);
268274
StepVerifier.create(response).expectNext(payload).expectComplete().verify(Duration.ofSeconds(30));
269275
}
@@ -375,8 +381,9 @@ private HttpClient createSecureHttpClient() {
375381
}
376382

377383
private HttpClient createHttpClient() {
378-
Assertions.assertThat(this.server).isNotNull();
384+
assertThat(this.server).isNotNull();
379385
InetSocketAddress address = this.server.address();
386+
assertThat(address).isNotNull();
380387
return HttpClient.create().host(address.getHostName()).port(address.getPort());
381388
}
382389

@@ -389,8 +396,9 @@ private TcpClient createSecureTcpClient() {
389396
}
390397

391398
private TcpClient createTcpClient() {
392-
Assertions.assertThat(this.server).isNotNull();
399+
assertThat(this.server).isNotNull();
393400
InetSocketAddress address = this.server.address();
401+
assertThat(address).isNotNull();
394402
return TcpClient.create().host(address.getHostName()).port(address.getPort());
395403
}
396404

0 commit comments

Comments
 (0)