1
1
/*
2
- * Copyright 2002-2017 the original author or authors.
2
+ * Copyright 2002-2019 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
16
16
17
17
package org .springframework .integration .amqp .outbound ;
18
18
19
- import static org .hamcrest .Matchers .instanceOf ;
20
- import static org .junit .Assert .assertEquals ;
21
- import static org .junit .Assert .assertNotNull ;
22
- import static org .junit .Assert .assertSame ;
23
- import static org .junit .Assert .assertThat ;
19
+ import static org .assertj .core .api .Assertions .assertThat ;
20
+
21
+ import java .util .concurrent .TimeUnit ;
24
22
25
23
import org .junit .Rule ;
26
24
import org .junit .Test ;
27
25
import org .junit .runner .RunWith ;
28
26
29
27
import org .springframework .amqp .core .Queue ;
30
28
import org .springframework .amqp .rabbit .connection .ConnectionFactory ;
29
+ import org .springframework .amqp .rabbit .connection .CorrelationData ;
30
+ import org .springframework .amqp .rabbit .connection .CorrelationData .Confirm ;
31
31
import org .springframework .amqp .rabbit .core .RabbitTemplate ;
32
32
import org .springframework .amqp .rabbit .junit .BrokerRunning ;
33
33
import org .springframework .amqp .support .AmqpHeaders ;
@@ -108,24 +108,24 @@ public void testGatewayPublisherConfirms() throws Exception {
108
108
.build ();
109
109
this .pcRequestChannel .send (message );
110
110
Message <?> ack = this .ackChannel .receive (10000 );
111
- assertNotNull (ack );
112
- assertEquals ( "foo" , ack .getPayload ());
113
- assertEquals ( Boolean . TRUE , ack .getHeaders ().get (AmqpHeaders .PUBLISH_CONFIRM ));
111
+ assertThat (ack ). isNotNull ( );
112
+ assertThat ( ack .getPayload ()). isEqualTo ( "foo" );
113
+ assertThat ( ack .getHeaders ().get (AmqpHeaders .PUBLISH_CONFIRM )). isEqualTo ( Boolean . TRUE );
114
114
115
115
org .springframework .amqp .core .Message received = this .amqpTemplateConfirms .receive (this .queue .getName ());
116
- assertEquals ( " \" hello \" " , new String (received .getBody (), "UTF-8" ));
117
- assertEquals ( "application/json" , received .getMessageProperties ().getContentType ());
118
- assertEquals ( "java.lang.String" , received .getMessageProperties ().getHeaders ()
119
- .get (JsonHeaders .TYPE_ID .replaceFirst (JsonHeaders .PREFIX , "" )));
116
+ assertThat ( new String (received .getBody (), "UTF-8" )). isEqualTo ( " \" hello \" " );
117
+ assertThat ( received .getMessageProperties ().getContentType ()). isEqualTo ( "application/json" );
118
+ assertThat ( received .getMessageProperties ().getHeaders ()
119
+ .get (JsonHeaders .TYPE_ID .replaceFirst (JsonHeaders .PREFIX , "" ))). isEqualTo ( "java.lang.String" ) ;
120
120
121
121
// test whole message is correlation
122
122
message = MessageBuilder .withPayload ("hello" )
123
123
.build ();
124
124
this .pcMessageCorrelationRequestChannel .send (message );
125
125
ack = ackChannel .receive (10000 );
126
- assertNotNull (ack );
127
- assertSame ( message .getPayload (), ack .getPayload ());
128
- assertEquals ( Boolean . TRUE , ack .getHeaders ().get (AmqpHeaders .PUBLISH_CONFIRM ));
126
+ assertThat (ack ). isNotNull ( );
127
+ assertThat ( ack .getPayload ()). isSameAs ( message .getPayload ());
128
+ assertThat ( ack .getHeaders ().get (AmqpHeaders .PUBLISH_CONFIRM )). isEqualTo ( Boolean . TRUE );
129
129
130
130
while (this .amqpTemplateConfirms .receive (this .queue .getName ()) != null ) {
131
131
// drain
@@ -139,31 +139,38 @@ public void adapterWithPublisherConfirms() throws Exception {
139
139
.build ();
140
140
this .pcRequestChannelForAdapter .send (message );
141
141
Message <?> ack = this .ackChannel .receive (10000 );
142
- assertNotNull (ack );
143
- assertEquals ( "foo" , ack .getPayload ());
144
- assertEquals ( Boolean . TRUE , ack .getHeaders ().get (AmqpHeaders .PUBLISH_CONFIRM ));
142
+ assertThat (ack ). isNotNull ( );
143
+ assertThat ( ack .getPayload ()). isEqualTo ( "foo" );
144
+ assertThat ( ack .getHeaders ().get (AmqpHeaders .PUBLISH_CONFIRM )). isEqualTo ( Boolean . TRUE );
145
145
}
146
146
147
147
@ Test
148
148
public void adapterWithReturns () throws Exception {
149
149
this .withReturns .setErrorMessageStrategy (null );
150
- Message <?> message = MessageBuilder .withPayload ("hello" ).build ();
150
+ CorrelationData corrData = new CorrelationData ("adapterWithReturns" );
151
+ Message <?> message = MessageBuilder .withPayload ("hello" )
152
+ .setHeader ("corrData" , corrData )
153
+ .build ();
151
154
this .returnRequestChannel .send (message );
152
155
Message <?> returned = returnChannel .receive (10000 );
153
- assertNotNull (returned );
154
- assertEquals (message .getPayload (), returned .getPayload ());
156
+ assertThat (returned ).isNotNull ();
157
+ assertThat (returned .getPayload ()).isEqualTo (message .getPayload ());
158
+ Confirm confirm = corrData .getFuture ().get (10 , TimeUnit .SECONDS );
159
+ assertThat (confirm ).isNotNull ();
160
+ assertThat (confirm .isAck ()).isTrue ();
161
+ assertThat (corrData .getReturnedMessage ()).isNotNull ();
155
162
}
156
163
157
164
@ Test
158
165
public void adapterWithReturnsAndErrorMessageStrategy () throws Exception {
159
166
Message <?> message = MessageBuilder .withPayload ("hello" ).build ();
160
167
this .returnRequestChannel .send (message );
161
168
Message <?> returned = returnChannel .receive (10000 );
162
- assertNotNull (returned );
163
- assertThat (returned , instanceOf (ErrorMessage .class ) );
164
- assertThat (returned .getPayload (), instanceOf (ReturnedAmqpMessageException .class ) );
169
+ assertThat (returned ). isNotNull ( );
170
+ assertThat (returned ). isInstanceOf (ErrorMessage .class );
171
+ assertThat (returned .getPayload ()). isInstanceOf (ReturnedAmqpMessageException .class );
165
172
ReturnedAmqpMessageException payload = (ReturnedAmqpMessageException ) returned .getPayload ();
166
- assertEquals ( message . getPayload (), payload . getFailedMessage () .getPayload ());
173
+ assertThat ( payload . getFailedMessage (). getPayload ()). isEqualTo ( message .getPayload ());
167
174
}
168
175
169
176
@ Test
@@ -178,18 +185,18 @@ public void adapterWithContentType() throws Exception {
178
185
.build ();
179
186
this .ctRequestChannel .send (message );
180
187
org .springframework .amqp .core .Message m = receive (template );
181
- assertNotNull ( m );
182
- assertEquals ( " \" hello \" " , new String (m .getBody (), "UTF-8" ));
183
- assertEquals ( "application/json" , m .getMessageProperties ().getContentType ());
184
- assertEquals ( "java.lang.String" ,
185
- m . getMessageProperties (). getHeaders (). get ( JsonHeaders . TYPE_ID . replaceFirst ( JsonHeaders . PREFIX , "" )) );
188
+ assertThat ( m ). isNotNull ( );
189
+ assertThat ( new String (m .getBody (), "UTF-8" )). isEqualTo ( " \" hello \" " );
190
+ assertThat ( m .getMessageProperties ().getContentType ()). isEqualTo ( "application/json" );
191
+ assertThat ( m . getMessageProperties (). getHeaders (). get ( JsonHeaders . TYPE_ID . replaceFirst ( JsonHeaders . PREFIX , "" )))
192
+ . isEqualTo ( "java.lang.String" );
186
193
message = MessageBuilder .withPayload ("hello" )
187
194
.build ();
188
195
this .ctRequestChannel .send (message );
189
196
m = receive (template );
190
- assertNotNull ( m );
191
- assertEquals ( "hello" , new String (m .getBody (), "UTF-8" ));
192
- assertEquals ( "text/plain" , m .getMessageProperties ().getContentType ());
197
+ assertThat ( m ). isNotNull ( );
198
+ assertThat ( new String (m .getBody (), "UTF-8" )). isEqualTo ( "hello" );
199
+ assertThat ( m .getMessageProperties ().getContentType ()). isEqualTo ( "text/plain" );
193
200
while (template .receive () != null ) {
194
201
// drain
195
202
}
@@ -202,7 +209,7 @@ private org.springframework.amqp.core.Message receive(RabbitTemplate template) t
202
209
Thread .sleep (100 );
203
210
message = template .receive ();
204
211
}
205
- assertNotNull (message );
212
+ assertThat (message ). isNotNull ( );
206
213
return message ;
207
214
}
208
215
0 commit comments