From 3e1c80299f164053bb1f51865cd1d41af377e0d7 Mon Sep 17 00:00:00 2001 From: HÃ¥vard Pettersen Date: Thu, 9 Sep 2021 16:02:31 +0000 Subject: extend test --- .../local_rpc_monitor_map_test.cpp | 53 ++++++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) (limited to 'slobrok/src/tests/local_rpc_monitor_map/local_rpc_monitor_map_test.cpp') 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(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(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 state1; + bool handler_deleted1; + std::unique_ptr state2; + bool handler_deleted2; + map.addLocal(mapping, std::make_unique(state1, handler_deleted1)); + monitor_log.expect({MonitorCall::start(mapping, true)}); + map.addLocal(mapping, std::make_unique(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 state; + bool handler_deleted; + map.addLocal(mapping, std::make_unique(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() -- cgit v1.2.3