Mercurial > irccd
diff tests/src/libirccd/command-rule-info/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-info/main.cpp Mon Mar 26 20:46:02 2018 +0200 +++ b/tests/src/libirccd/command-rule-info/main.cpp Tue Mar 27 20:12:02 2018 +0200 @@ -59,26 +59,15 @@ BOOST_AUTO_TEST_CASE(basic) { - nlohmann::json result; - - ctl_->send({ + const auto result = request({ { "command", "rule-info" }, { "index", 0 } }); - ctl_->recv([&] (auto, auto msg) { - result = msg; - }); - wait_for([&] () { - return result.is_object(); - }); - - BOOST_TEST(result.is_object()); - - auto servers = result["servers"]; - auto channels = result["channels"]; - auto plugins = result["plugins"]; - auto events = result["events"]; + auto servers = result.first["servers"]; + auto channels = result.first["channels"]; + auto plugins = result.first["plugins"]; + auto events = result.first["events"]; BOOST_TEST(json_util::contains(servers, "s1")); BOOST_TEST(json_util::contains(servers, "s2")); @@ -88,78 +77,45 @@ BOOST_TEST(json_util::contains(plugins, "p2")); BOOST_TEST(json_util::contains(events, "onMessage")); BOOST_TEST(json_util::contains(events, "onCommand")); - BOOST_TEST(result["action"].get<std::string>() == "drop"); + BOOST_TEST(result.first["action"].get<std::string>() == "drop"); } BOOST_AUTO_TEST_SUITE(errors) BOOST_AUTO_TEST_CASE(invalid_index_1) { - boost::system::error_code result; - nlohmann::json message; - - ctl_->send({ + const auto result = request({ { "command", "rule-info" }, { "index", -100 } }); - ctl_->recv([&] (auto rresult, auto rmessage) { - result = rresult; - message = rmessage; - }); - wait_for([&] { - return result; - }); - - BOOST_TEST(result == rule_error::invalid_index); - BOOST_TEST(message["error"].template get<int>() == rule_error::invalid_index); - BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule"); + BOOST_TEST(result.second == rule_error::invalid_index); + BOOST_TEST(result.first["error"].template get<int>() == rule_error::invalid_index); + BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "rule"); } BOOST_AUTO_TEST_CASE(invalid_index_2) { - boost::system::error_code result; - nlohmann::json message; - - ctl_->send({ + const auto result = request({ { "command", "rule-info" }, { "index", 100 } }); - ctl_->recv([&] (auto rresult, auto rmessage) { - result = rresult; - message = rmessage; - }); - wait_for([&] { - return result; - }); - - BOOST_TEST(result == rule_error::invalid_index); - BOOST_TEST(message["error"].template get<int>() == rule_error::invalid_index); - BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule"); + BOOST_TEST(result.second == rule_error::invalid_index); + BOOST_TEST(result.first["error"].template get<int>() == rule_error::invalid_index); + BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "rule"); } BOOST_AUTO_TEST_CASE(invalid_index_3) { - boost::system::error_code result; - nlohmann::json message; - - ctl_->send({ + const auto result = request({ { "command", "rule-info" }, { "index", "notaint" } }); - ctl_->recv([&] (auto rresult, auto rmessage) { - result = rresult; - message = rmessage; - }); - wait_for([&] { - return result; - }); - - BOOST_TEST(result == rule_error::invalid_index); - BOOST_TEST(message["error"].template get<int>() == rule_error::invalid_index); - BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule"); + BOOST_TEST(result.second == rule_error::invalid_index); + BOOST_TEST(result.first["error"].template get<int>() == rule_error::invalid_index); + BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "rule"); } BOOST_AUTO_TEST_SUITE_END()