// the publish is async, so this is racy. This also tests we don't die
// by heartbeat (3x heartbeat interval + epsilon)
assertNull(c.nextDelivery(3100));
// once the alarm has cleared the publishes should go through
clearResourceAlarm("memory");
assertNotNull(c.nextDelivery());
// everything should be back to normal
channel.basicCancel(consumerTag);
basicPublishVolatile(Q);
assertNotNull(basicGet(Q));
}