Mercurial > irccd
diff tests/src/libirccd/command-rule-list/main.cpp @ 651:1081e45b8628
Tests: use command_test::request helper, closes #784 @1h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 27 Mar 2018 20:12:02 +0200 |
parents | 1fa9e5222e87 |
children | e8c4ba5ed1c6 |
line wrap: on
line diff
--- a/tests/src/libirccd/command-rule-list/main.cpp Mon Mar 26 20:46:02 2018 +0200 +++ b/tests/src/libirccd/command-rule-list/main.cpp Tue Mar 27 20:12:02 2018 +0200 @@ -59,26 +59,20 @@ BOOST_AUTO_TEST_CASE(basic) { - nlohmann::json result; - - ctl_->send({{"command", "rule-list"}}); - ctl_->recv([&] (auto, auto msg) { - result = msg; - }); - wait_for([&] () { - return result.is_object(); + const auto result = request({ + { "command", "rule-list" } }); - BOOST_TEST(result.is_object()); - BOOST_TEST(result["list"].is_array()); - BOOST_TEST(result["list"].size() == 2U); + BOOST_TEST(result.first.is_object()); + BOOST_TEST(result.first["list"].is_array()); + BOOST_TEST(result.first["list"].size() == 2U); // Rule 0. { - auto servers = result["list"][0]["servers"]; - auto channels = result["list"][0]["channels"]; - auto plugins = result["list"][0]["plugins"]; - auto events = result["list"][0]["events"]; + auto servers = result.first["list"][0]["servers"]; + auto channels = result.first["list"][0]["channels"]; + auto plugins = result.first["list"][0]["plugins"]; + auto events = result.first["list"][0]["events"]; BOOST_TEST(json_util::contains(servers, "s1")); BOOST_TEST(json_util::contains(servers, "s2")); @@ -88,42 +82,36 @@ BOOST_TEST(json_util::contains(plugins, "p2")); BOOST_TEST(json_util::contains(events, "onMessage")); BOOST_TEST(json_util::contains(events, "onCommand")); - BOOST_TEST(result["list"][0]["action"].get<std::string>() == "drop"); + BOOST_TEST(result.first["list"][0]["action"].get<std::string>() == "drop"); } // Rule 1. { - auto servers = result["list"][1]["servers"]; - auto channels = result["list"][1]["channels"]; - auto plugins = result["list"][1]["plugins"]; - auto events = result["list"][1]["events"]; + auto servers = result.first["list"][1]["servers"]; + auto channels = result.first["list"][1]["channels"]; + auto plugins = result.first["list"][1]["plugins"]; + auto events = result.first["list"][1]["events"]; BOOST_TEST(json_util::contains(servers, "s1")); BOOST_TEST(json_util::contains(channels, "c1")); BOOST_TEST(json_util::contains(plugins, "p1")); BOOST_TEST(json_util::contains(events, "onMessage")); - BOOST_TEST(result["list"][1]["action"].get<std::string>() == "accept"); + BOOST_TEST(result.first["list"][1]["action"].get<std::string>() == "accept"); } } BOOST_AUTO_TEST_CASE(empty) { - nlohmann::json result; - daemon_->rules().remove(0); daemon_->rules().remove(0); - ctl_->send({{"command", "rule-list"}}); - ctl_->recv([&] (auto, auto msg) { - result = msg; - }); - wait_for([&] () { - return result.is_object(); + const auto result = request({ + { "command", "rule-list" } }); - BOOST_TEST(result.is_object()); - BOOST_TEST(result["list"].is_array()); - BOOST_TEST(result["list"].empty()); + BOOST_TEST(result.first.is_object()); + BOOST_TEST(result.first["list"].is_array()); + BOOST_TEST(result.first["list"].empty()); } BOOST_AUTO_TEST_SUITE_END()