diff options
author | Håvard Pettersen <havardpe@oath.com> | 2021-09-09 16:02:31 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2021-09-09 16:02:31 +0000 |
commit | 3e1c80299f164053bb1f51865cd1d41af377e0d7 (patch) | |
tree | c9bf14909b955f52142326d0f25caf6f548f8169 /slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp | |
parent | 9a87bd19220cc6379f08a7076bad3925c1417efe (diff) |
extend test
Diffstat (limited to 'slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp')
-rw-r--r-- | slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp | 53 |
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() |