Summary: Defined a new test based on reported bug, for multiple remote expansion. Fixed the bug. Introduced minor refactors in distributed unit testing. Reviewers: mculinovic, dgleich Reviewed By: mculinovic Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1173
32 lines
933 B
C++
32 lines
933 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include "database/graph_db_accessor.hpp"
|
|
|
|
#include "distributed_common.hpp"
|
|
|
|
TEST_F(DistributedGraphDbTest, RemoteUpdateLocalVisibility) {
|
|
database::GraphDbAccessor dba_tx1{worker(1)};
|
|
auto v = dba_tx1.InsertVertex();
|
|
auto v_ga = v.GlobalAddress();
|
|
dba_tx1.Commit();
|
|
|
|
database::GraphDbAccessor dba_tx2_w2{worker(2)};
|
|
v = VertexAccessor(v_ga, dba_tx2_w2);
|
|
ASSERT_FALSE(v.address().is_local());
|
|
auto label = dba_tx2_w2.Label("l");
|
|
EXPECT_FALSE(v.has_label(label));
|
|
v.add_label(label);
|
|
v.SwitchNew();
|
|
EXPECT_TRUE(v.has_label(label));
|
|
v.SwitchOld();
|
|
EXPECT_FALSE(v.has_label(label));
|
|
|
|
// In the same transaction on the owning worker there is no label.
|
|
database::GraphDbAccessor dba_tx2_w1{worker(1), dba_tx2_w2.transaction_id()};
|
|
v = VertexAccessor(v_ga, dba_tx2_w1);
|
|
v.SwitchOld();
|
|
EXPECT_FALSE(v.has_label(label));
|
|
v.SwitchNew();
|
|
EXPECT_FALSE(v.has_label(label));
|
|
}
|