aboutsummaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2021-09-09 16:02:31 +0000
committerHåvard Pettersen <havardpe@oath.com>2021-09-09 16:02:31 +0000
commit3e1c80299f164053bb1f51865cd1d41af377e0d7 (patch)
treec9bf14909b955f52142326d0f25caf6f548f8169 /slobrok
parent9a87bd19220cc6379f08a7076bad3925c1417efe (diff)
extend test
Diffstat (limited to 'slobrok')
-rw-r--r--slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp53
1 files changed, 50 insertions, 3 deletions
diff --git a/slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp b/slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp
index a69a77d3640..9782f6ccbdc 100644
--- a/slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp
+++ b/slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp
@@ -247,12 +247,12 @@ TEST_F(LocalRpcMonitorMapTest, local_add_unknown_comes_up) {
map.addLocal(mapping, std::make_unique<MyAddLocalHandler>(state, handler_deleted));
monitor_log.expect({MonitorCall::stop(mapping), MonitorCall::start(mapping, true)});
map_log.expect({});
- ASSERT_FALSE(state);
+ EXPECT_FALSE(state);
map.up(mapping);
+ map_log.expect({MapCall::add(mapping)});
ASSERT_TRUE(state);
EXPECT_TRUE(state->ok());
ASSERT_TRUE(handler_deleted);
- map_log.expect({MapCall::add(mapping)});
}
TEST_F(LocalRpcMonitorMapTest, local_add_unknown_goes_down) {
@@ -262,8 +262,9 @@ TEST_F(LocalRpcMonitorMapTest, local_add_unknown_goes_down) {
map.addLocal(mapping, std::make_unique<MyAddLocalHandler>(state, handler_deleted));
monitor_log.expect({MonitorCall::stop(mapping), MonitorCall::start(mapping, true)});
map_log.expect({});
- ASSERT_FALSE(state);
+ EXPECT_FALSE(state);
map.down(mapping);
+ map_log.expect({});
ASSERT_TRUE(state);
EXPECT_FALSE(state->ok());
ASSERT_TRUE(handler_deleted);
@@ -281,4 +282,50 @@ TEST_F(LocalRpcMonitorMapTest, local_add_conflict) {
ASSERT_TRUE(handler_deleted);
}
+TEST_F(LocalRpcMonitorMapTest, local_multi_add) {
+ std::unique_ptr<OkState> state1;
+ bool handler_deleted1;
+ std::unique_ptr<OkState> state2;
+ bool handler_deleted2;
+ map.addLocal(mapping, std::make_unique<MyAddLocalHandler>(state1, handler_deleted1));
+ monitor_log.expect({MonitorCall::start(mapping, true)});
+ map.addLocal(mapping, std::make_unique<MyAddLocalHandler>(state2, handler_deleted2));
+ monitor_log.expect({});
+ map_log.expect({});
+ EXPECT_FALSE(state1);
+ EXPECT_FALSE(state2);
+ map.up(mapping);
+ monitor_log.expect({});
+ map_log.expect({MapCall::add(mapping)});
+ ASSERT_TRUE(state1);
+ ASSERT_TRUE(state2);
+ EXPECT_TRUE(state1->ok());
+ EXPECT_TRUE(state2->ok());
+ ASSERT_TRUE(handler_deleted1);
+ ASSERT_TRUE(handler_deleted2);
+}
+
+TEST_F(LocalRpcMonitorMapTest, local_remove) {
+ add_mapping(mapping, true);
+ map.removeLocal(mapping);
+ monitor_log.expect({MonitorCall::stop(mapping), MonitorCall::start(mapping, false)});
+ map_log.expect({MapCall::remove(mapping)});
+ map.up(mapping); // timeout case (should normally not happen)
+ map_log.expect({MapCall::add(mapping)});
+}
+
+TEST_F(LocalRpcMonitorMapTest, local_add_local_remove) {
+ std::unique_ptr<OkState> state;
+ bool handler_deleted;
+ map.addLocal(mapping, std::make_unique<MyAddLocalHandler>(state, handler_deleted));
+ monitor_log.expect({MonitorCall::start(mapping, true)});
+ map_log.expect({});
+ map.removeLocal(mapping);
+ monitor_log.expect({MonitorCall::stop(mapping)});
+ map_log.expect({});
+ ASSERT_TRUE(state);
+ EXPECT_TRUE(state->failed());
+ ASSERT_TRUE(handler_deleted);
+}
+
GTEST_MAIN_RUN_ALL_TESTS()