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()