22#include <glog/logging.h>
23#include <gmock/gmock.h>
24#include <gtest/gtest.h>
35using ::resdb::testing::EqualsProto;
38class GlobalExecutorTest :
public Test {
52TEST_F(GlobalExecutorTest, ExecuteSuccess) {
53 auto mock_executor = std::make_unique<MockTransactionManager>();
57 BatchUserRequest batch_request;
58 batch_request.add_user_requests()->mutable_request()->set_data(
59 "global_execute_test");
60 batch_request.SerializeToString(request.mutable_data());
62 EXPECT_CALL(*mock_executor, ExecuteBatch(EqualsProto(batch_request)))
65 GeoGlobalExecutor global_executor(std::move(mock_executor),
config_);
66 global_executor.Execute(std::make_unique<Request>(request));
69TEST_F(GlobalExecutorTest, ExecuteSkiped) {
70 auto mock_executor = std::make_unique<MockTransactionManager>();
75 EXPECT_CALL(*mock_executor, ExecuteBatch).Times(0);
77 GeoGlobalExecutor global_executor(std::move(mock_executor),
config_);
78 global_executor.Execute(std::make_unique<Request>(request));
81TEST_F(GlobalExecutorTest, ExecuteFailed) {
82 auto mock_executor = std::make_unique<MockTransactionManager>();
86 request.mutable_data()->append(
"append wrong data");
87 EXPECT_CALL(*mock_executor, ExecuteBatch).Times(0);
89 GeoGlobalExecutor global_executor(std::move(mock_executor),
config_);
90 global_executor.Execute(std::make_unique<Request>(request));
ReplicaInfo GenerateReplicaInfo(int id, const std::string &ip, int port)
TEST_F(ResDBTest, TestPBFTService)
std::unique_ptr< ResDBConfig > config_