#include #include "communication/rpc/client_pool.hpp" #include "communication/rpc/server.hpp" #include "database/distributed/distributed_counters.hpp" #include "test_coordination.hpp" TEST(CountersDistributed, All) { TestMasterCoordination coordination; database::MasterCounters master(&coordination); coordination.Start(); communication::rpc::ClientPool master_client_pool( coordination.GetServerEndpoint()); database::WorkerCounters w1(&master_client_pool); database::WorkerCounters w2(&master_client_pool); EXPECT_EQ(w1.Get("a"), 0); EXPECT_EQ(w1.Get("a"), 1); EXPECT_EQ(w2.Get("a"), 2); EXPECT_EQ(w1.Get("a"), 3); EXPECT_EQ(master.Get("a"), 4); EXPECT_EQ(master.Get("b"), 0); EXPECT_EQ(w2.Get("b"), 1); w1.Set("b", 42); EXPECT_EQ(w2.Get("b"), 42); coordination.Stop(); }