diff options
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 | 21 |
1 files changed, 19 insertions, 2 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 40f8baa32a9..a69a77d3640 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 @@ -240,16 +240,33 @@ TEST_F(LocalRpcMonitorMapTest, local_add_already_up) { ASSERT_TRUE(handler_deleted); } -TEST_F(LocalRpcMonitorMapTest, local_add_already_down) { +TEST_F(LocalRpcMonitorMapTest, local_add_unknown_comes_up) { std::unique_ptr<OkState> state; bool handler_deleted; add_mapping(mapping, false); map.addLocal(mapping, std::make_unique<MyAddLocalHandler>(state, handler_deleted)); - monitor_log.expect({}); + monitor_log.expect({MonitorCall::stop(mapping), MonitorCall::start(mapping, true)}); map_log.expect({}); + ASSERT_FALSE(state); + map.up(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) { + std::unique_ptr<OkState> state; + bool handler_deleted; + add_mapping(mapping, false); + 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); + map.down(mapping); + ASSERT_TRUE(state); + EXPECT_FALSE(state->ok()); + ASSERT_TRUE(handler_deleted); } TEST_F(LocalRpcMonitorMapTest, local_add_conflict) { |