@Override
    public SendResult send(final Message message) {
        return send(message, this.rocketmqProducer.getSendMsgTimeout());
    }
@Test
    public void testSend_Not_OK() throws InterruptedException, RemotingException, MQClientException, MQBrokerException {
        SendResult sendResult = new SendResult();
        sendResult.setSendStatus(SendStatus.FLUSH_DISK_TIMEOUT);

        when(rocketmqProducer.send(any(Message.class), anyLong())).thenReturn(sendResult);
        try {
            producer.send(producer.createBytesMessage("HELLO_TOPIC", new byte[] {'a'}));
            failBecauseExceptionWasNotThrown(OMSRuntimeException.class);
        } catch (Exception e) {
            assertThat(e).hasMessageContaining("Send message to RocketMQ broker failed.");
        }
    }