Apologies for the late reply, Logs can't tell me much since I am trashing the docker container that runs RabbitMQ. What I try with my integration test step by step is the following(using RabbitMQ .NET client):
- Step 2 Setup connection, channel.
- Step 3 Assign a callback for ConnectionRecoveryError
- Step 4 Publish
- Step 5 Docker stop
- Step 6 Quickly after try to publish -> I didn't know how it will behave, I thought It d block the thread till 5 second until its sure connection is gone but instead it just throws exception(not reachable broker). Anyway still this is fine.
- Step 7 Quickly after docker start
- Step 8 Publish
- Step 9 Assert both Publishes have been succesfully made while docker running(Step 4 and step 8). -> passes
- Step 9 Assert Callback NOT called -> fails
It calls the callback with IOException -> "connection.start never received ....",
Could you explain why I am getting this? To my opinion the callback shouldn't be called with any exception at all since recovery was successful. And one other case is when I shutdown the container for long time it really cant recover the connection. So its calling the callback as expected but again with additional this IOException, so I receive one aggregate exception(only this expected) and additionally this IOException (not expected) with same message -> "connection.start never received ...."
It would be great if one can tell me how to approach this.
Best regards,
Boran