Mercurial > irccd
diff tests/src/rule-info-command/main.cpp @ 609:168c0e191eea
Irccd: add more error properties, closes #754
Add two new properties in error messages:
- errorMessage: the string message as-is,
- errorCategory: the error category (e.g. server, rule).
Adapt tests to test against the category.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 14 Dec 2017 21:45:32 +0100 |
parents | 9d4da384f5d6 |
children | 22b3cd6f991f |
line wrap: on
line diff
--- a/tests/src/rule-info-command/main.cpp Mon Dec 11 15:00:36 2017 +0100 +++ b/tests/src/rule-info-command/main.cpp Thu Dec 14 21:45:32 2017 +0100 @@ -96,13 +96,15 @@ BOOST_AUTO_TEST_CASE(invalid_index_1) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "rule-info" }, { "index", -100 } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -110,18 +112,22 @@ }); BOOST_ASSERT(result == rule_error::invalid_index); + BOOST_ASSERT(message["error"].template get<int>() == rule_error::invalid_index); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "rule"); } BOOST_AUTO_TEST_CASE(invalid_index_2) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "rule-info" }, { "index", 100 } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -129,18 +135,22 @@ }); BOOST_ASSERT(result == rule_error::invalid_index); + BOOST_ASSERT(message["error"].template get<int>() == rule_error::invalid_index); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "rule"); } BOOST_AUTO_TEST_CASE(invalid_index_3) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "rule-info" }, { "index", "notaint" } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -148,6 +158,8 @@ }); BOOST_ASSERT(result == rule_error::invalid_index); + BOOST_ASSERT(message["error"].template get<int>() == rule_error::invalid_index); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "rule"); } BOOST_AUTO_TEST_SUITE_END()