Skip to content

Commit 2a6e559

Browse files
committed
more versatile 'expected error' handling
until bug25663 gets fixed
1 parent c454c8a commit 2a6e559

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

test/src/com/rabbitmq/client/test/BrokerTestCase.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.rabbitmq.client.ConnectionFactory;
2828
import com.rabbitmq.client.GetResponse;
2929
import com.rabbitmq.client.MessageProperties;
30+
import com.rabbitmq.client.Method;
3031
import com.rabbitmq.client.ShutdownSignalException;
3132
import com.rabbitmq.client.AlreadyClosedException;
3233
import com.rabbitmq.client.impl.ShutdownNotifierComponent;
@@ -126,14 +127,20 @@ public void checkShutdownSignal(int expectedCode, AlreadyClosedException ace) {
126127
}
127128

128129
public void checkShutdownSignal(int expectedCode, ShutdownSignalException sse) {
129-
Command closeCommand = (Command) sse.getReason();
130+
Object reason = sse.getReason();
131+
Method method;
132+
if (reason instanceof Command) {
133+
method = ((Command) reason).getMethod();
134+
} else {
135+
method = (Method) reason;
136+
}
130137
channel = null;
131138
if (sse.isHardError()) {
132139
connection = null;
133-
AMQP.Connection.Close closeMethod = (AMQP.Connection.Close) closeCommand.getMethod();
140+
AMQP.Connection.Close closeMethod = (AMQP.Connection.Close) method;
134141
assertEquals(expectedCode, closeMethod.getReplyCode());
135142
} else {
136-
AMQP.Channel.Close closeMethod = (AMQP.Channel.Close) closeCommand.getMethod();
143+
AMQP.Channel.Close closeMethod = (AMQP.Channel.Close) method;
137144
assertEquals(expectedCode, closeMethod.getReplyCode());
138145
}
139146
}

0 commit comments

Comments
 (0)