The default exchange should (as I understand - please correct if I'm wrong) route a message to a queue specified by the routing_key even if it is not explicitly bound (ala https://www.rabbitmq.com/tutorials/amqp-concepts.html under "Default Exchange")
So something like:
channel.default_exchange.publish('message', routing_key: 'test_queue', persistent: true)
should always send the message 'message' to the queue 'test_queue', even with no explicit binding, assuming that that queue exists.
This doesn't seem to happen with BunnyMock.