|
18 | 18 |
|
19 | 19 | import static org.assertj.core.api.Assertions.assertThat;
|
20 | 20 | import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
| 21 | +import static org.assertj.core.api.Assertions.assertThatThrownBy; |
21 | 22 | import static org.assertj.core.api.Assertions.fail;
|
22 | 23 | import static org.mockito.ArgumentMatchers.any;
|
23 | 24 | import static org.mockito.ArgumentMatchers.anyBoolean;
|
|
27 | 28 | import static org.mockito.BDDMockito.given;
|
28 | 29 | import static org.mockito.BDDMockito.willAnswer;
|
29 | 30 | import static org.mockito.BDDMockito.willReturn;
|
| 31 | +import static org.mockito.BDDMockito.willThrow; |
30 | 32 | import static org.mockito.Mockito.mock;
|
31 | 33 | import static org.mockito.Mockito.times;
|
32 | 34 | import static org.mockito.Mockito.verify;
|
|
47 | 49 | import org.mockito.Mockito;
|
48 | 50 |
|
49 | 51 | import org.springframework.amqp.AmqpAuthenticationException;
|
| 52 | +import org.springframework.amqp.AmqpConnectException; |
50 | 53 | import org.springframework.amqp.AmqpException;
|
51 | 54 | import org.springframework.amqp.core.Address;
|
52 | 55 | import org.springframework.amqp.core.Message;
|
|
62 | 65 | import org.springframework.amqp.rabbit.connection.SingleConnectionFactory;
|
63 | 66 | import org.springframework.amqp.support.converter.SimpleMessageConverter;
|
64 | 67 | import org.springframework.amqp.utils.SerializationUtils;
|
| 68 | +import org.springframework.amqp.utils.test.TestUtils; |
65 | 69 | import org.springframework.context.ApplicationContext;
|
66 | 70 | import org.springframework.expression.Expression;
|
67 | 71 | import org.springframework.expression.spel.standard.SpelExpressionParser;
|
@@ -227,6 +231,16 @@ public void testRetry() throws Exception {
|
227 | 231 | assertThat(count.get()).isEqualTo(3);
|
228 | 232 | }
|
229 | 233 |
|
| 234 | + @Test |
| 235 | + public void testEvaluateDirectReplyToWithConnectException() throws Exception { |
| 236 | + org.springframework.amqp.rabbit.connection.ConnectionFactory mockConnectionFactory = |
| 237 | + mock(org.springframework.amqp.rabbit.connection.ConnectionFactory.class); |
| 238 | + willThrow(new AmqpConnectException(null)).given(mockConnectionFactory).createConnection(); |
| 239 | + RabbitTemplate template = new RabbitTemplate(mockConnectionFactory); |
| 240 | + assertThatThrownBy(() -> template.convertSendAndReceive("foo")).isInstanceOf(AmqpConnectException.class); |
| 241 | + assertThat(TestUtils.getPropertyValue(template, "evaluatedFastReplyTo", Boolean.class)).isFalse(); |
| 242 | + } |
| 243 | + |
230 | 244 | @Test
|
231 | 245 | public void testRecovery() throws Exception {
|
232 | 246 | ConnectionFactory mockConnectionFactory = mock(ConnectionFactory.class);
|
|
0 commit comments