46
46
import org .springframework .messaging .support .GenericMessage ;
47
47
48
48
import static org .assertj .core .api .Assertions .assertThat ;
49
+ import static org .assertj .core .api .Assertions .assertThatException ;
50
+ import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
49
51
import static org .assertj .core .api .Assertions .assertThatIOException ;
50
- import static org .assertj .core .api .Assertions .fail ;
51
52
import static org .mockito .Mockito .mock ;
52
53
53
54
/**
@@ -135,13 +136,8 @@ public void testReadRawElastic() throws Exception {
135
136
ByteArrayElasticRawDeserializer serializer = new ByteArrayElasticRawDeserializer ();
136
137
byte [] out = serializer .deserialize (socket .getInputStream ());
137
138
assertThat (new String (out )).as ("Data" ).isEqualTo (SocketTestUtils .TEST_STRING + SocketTestUtils .TEST_STRING );
138
- try {
139
- serializer .deserialize (socket .getInputStream ());
140
- fail ("Expected end of Stream" );
141
- }
142
- catch (SoftEndOfStreamException e ) {
143
- // NOSONAR
144
- }
139
+ assertThatExceptionOfType (SoftEndOfStreamException .class )
140
+ .isThrownBy (() -> serializer .deserialize (socket .getInputStream ()));
145
141
server .close ();
146
142
}
147
143
@@ -171,15 +167,9 @@ public void testReadLengthOverflow() throws Exception {
171
167
Socket socket = server .accept ();
172
168
socket .setSoTimeout (5000 );
173
169
ByteArrayLengthHeaderSerializer serializer = new ByteArrayLengthHeaderSerializer ();
174
- try {
175
- serializer .deserialize (socket .getInputStream ());
176
- fail ("Expected message length exceeded exception" );
177
- }
178
- catch (IOException e ) {
179
- if (!e .getMessage ().startsWith ("Message length" )) {
180
- fail ("Unexpected IO Error:" + e .getMessage ());
181
- }
182
- }
170
+ assertThatIOException ()
171
+ .isThrownBy (() -> serializer .deserialize (socket .getInputStream ()))
172
+ .withMessageStartingWith ("Message length" );
183
173
server .close ();
184
174
done .countDown ();
185
175
}
@@ -193,15 +183,9 @@ public void testReadStxEtxTimeout() throws Exception {
193
183
Socket socket = server .accept ();
194
184
socket .setSoTimeout (500 );
195
185
ByteArrayStxEtxSerializer serializer = new ByteArrayStxEtxSerializer ();
196
- try {
197
- serializer .deserialize (socket .getInputStream ());
198
- fail ("Expected timeout exception" );
199
- }
200
- catch (IOException e ) {
201
- if (!e .getMessage ().startsWith ("Read timed out" )) {
202
- fail ("Unexpected IO Error:" + e .getMessage ());
203
- }
204
- }
186
+ assertThatIOException ()
187
+ .isThrownBy (() -> serializer .deserialize (socket .getInputStream ()))
188
+ .withMessageStartingWith ("Read timed out" );
205
189
server .close ();
206
190
done .countDown ();
207
191
}
@@ -215,16 +199,10 @@ public void testReadStxEtxOverflow() throws Exception {
215
199
Socket socket = server .accept ();
216
200
socket .setSoTimeout (5000 );
217
201
ByteArrayStxEtxSerializer serializer = new ByteArrayStxEtxSerializer ();
218
- serializer .setMaxMessageSize (1024 );
219
- try {
220
- serializer .deserialize (socket .getInputStream ());
221
- fail ("Expected message length exceeded exception" );
222
- }
223
- catch (IOException e ) {
224
- if (!e .getMessage ().startsWith ("ETX not found" )) {
225
- fail ("Unexpected IO Error:" + e .getMessage ());
226
- }
227
- }
202
+ serializer .setMaxMessageSize (8 );
203
+ assertThatIOException ()
204
+ .isThrownBy (() -> serializer .deserialize (socket .getInputStream ()))
205
+ .withMessageStartingWith ("ETX not found" );
228
206
server .close ();
229
207
done .countDown ();
230
208
}
@@ -310,15 +288,13 @@ private TcpDeserializationExceptionEvent doDeserialize(AbstractByteArraySerializ
310
288
ByteArrayInputStream bais = new ByteArrayInputStream (data );
311
289
deser .setApplicationEventPublisher (anEvent -> event .set ((TcpDeserializationExceptionEvent ) anEvent ));
312
290
deser .setMaxMessageSize (mms );
313
- try {
314
- deser .deserialize (bais );
315
- fail ("expected exception" );
316
- }
317
- catch (Exception e ) {
318
- assertThat (event .get ()).isNotNull ();
319
- assertThat (event .get ().getCause ()).isSameAs (e );
320
- assertThat (e .getMessage ()).contains (expectedMessage );
321
- }
291
+ assertThatException ()
292
+ .isThrownBy (() -> deser .deserialize (bais ))
293
+ .withMessageContaining (expectedMessage )
294
+ .satisfies ((ex ) -> {
295
+ assertThat (event .get ()).isNotNull ();
296
+ assertThat (event .get ().getCause ()).isSameAs (ex );
297
+ });
322
298
return event .get ();
323
299
}
324
300
@@ -335,6 +311,8 @@ public void testTimeoutWithRawDeserializer() {
335
311
private void testTimeoutWhileDecoding (AbstractByteArraySerializer deserializer , String reply ) {
336
312
ByteArrayRawSerializer serializer = new ByteArrayRawSerializer ();
337
313
TcpNioServerConnectionFactory serverNio = new TcpNioServerConnectionFactory (0 );
314
+ serverNio .setApplicationEventPublisher (event -> {
315
+ });
338
316
ByteArrayLengthHeaderSerializer lengthHeaderSerializer = new ByteArrayLengthHeaderSerializer (1 );
339
317
serverNio .setDeserializer (lengthHeaderSerializer );
340
318
serverNio .setSerializer (serializer );
@@ -348,6 +326,8 @@ private void testTimeoutWhileDecoding(AbstractByteArraySerializer deserializer,
348
326
in .start ();
349
327
TestingUtilities .waitListening (serverNio , null );
350
328
TcpNioClientConnectionFactory clientNio = new TcpNioClientConnectionFactory ("localhost" , serverNio .getPort ());
329
+ clientNio .setApplicationEventPublisher (event -> {
330
+ });
351
331
clientNio .setSerializer (serializer );
352
332
clientNio .setDeserializer (deserializer );
353
333
clientNio .setSoTimeout (500 );
@@ -377,7 +357,7 @@ private void testTimeoutWhileDecoding(AbstractByteArraySerializer deserializer,
377
357
assertThat (new String ((byte []) message .getPayload ())).isEqualTo ("Test" );
378
358
String shortReply = reply .substring (0 , reply .length () - 1 );
379
359
((MessageChannel ) message .getHeaders ().getReplyChannel ()).send (new GenericMessage <>(shortReply ));
380
- message = outputChannel .receive (1000 );
360
+ message = outputChannel .receive (100 );
381
361
assertThat (message ).isNull ();
382
362
}
383
363
@@ -388,6 +368,8 @@ public void testTimeoutWithRawDeserializerEofIsTerminator() {
388
368
ByteArrayLengthHeaderSerializer lengthHeaderSerializer = new ByteArrayLengthHeaderSerializer (1 );
389
369
serverNio .setDeserializer (lengthHeaderSerializer );
390
370
serverNio .setSerializer (serializer );
371
+ serverNio .setApplicationEventPublisher (event -> {
372
+ });
391
373
serverNio .afterPropertiesSet ();
392
374
TcpInboundGateway in = new TcpInboundGateway ();
393
375
in .setConnectionFactory (serverNio );
@@ -401,6 +383,8 @@ public void testTimeoutWithRawDeserializerEofIsTerminator() {
401
383
clientNio .setSerializer (serializer );
402
384
clientNio .setDeserializer (new ByteArrayRawSerializer (true ));
403
385
clientNio .setSoTimeout (1000 );
386
+ clientNio .setApplicationEventPublisher (event -> {
387
+ });
404
388
clientNio .afterPropertiesSet ();
405
389
final TcpOutboundGateway out = new TcpOutboundGateway ();
406
390
out .setConnectionFactory (clientNio );
0 commit comments