blob: a66005d0321e9eb0f4b61c24b31c430c2f333fa2 [file] [log] [blame]
#include "SendCallbacks.h"
#include "gtest/gtest.h"
#include <thread>
ROCKETMQ_NAMESPACE_BEGIN
class SendCallbacksTest : public testing::Test {};
TEST_F(SendCallbacksTest, testAwait) {
std::string msg_id("Msg-0");
AwaitSendCallback callback;
std::thread waker([&]() {
std::this_thread::sleep_for(std::chrono::seconds(3));
SendResult send_result;
send_result.setMsgId(msg_id);
callback.onSuccess(send_result);
});
callback.await();
EXPECT_TRUE(callback);
EXPECT_EQ(callback.sendResult().getMsgId(), msg_id);
if (waker.joinable()) {
waker.join();
}
}
ROCKETMQ_NAMESPACE_END