Mercurial > irccd
diff tests/src/server-notice-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/server-notice-command/main.cpp Mon Dec 11 15:00:36 2017 +0100 +++ b/tests/src/server-notice-command/main.cpp Thu Dec 14 21:45:32 2017 +0100 @@ -67,6 +67,7 @@ BOOST_AUTO_TEST_CASE(invalid_identifier_1) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "server-notice" }, @@ -74,8 +75,9 @@ { "target", "#music" }, { "message", "quiet!" } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -83,11 +85,14 @@ }); BOOST_ASSERT(result == server_error::invalid_identifier); + BOOST_ASSERT(message["error"].template get<int>() == server_error::invalid_identifier); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "server"); } BOOST_AUTO_TEST_CASE(invalid_identifier_2) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "server-notice" }, @@ -95,8 +100,9 @@ { "target", "#music" }, { "message", "quiet!" } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -104,11 +110,14 @@ }); BOOST_ASSERT(result == server_error::invalid_identifier); + BOOST_ASSERT(message["error"].template get<int>() == server_error::invalid_identifier); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "server"); } BOOST_AUTO_TEST_CASE(invalid_channel_1) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "server-notice" }, @@ -116,8 +125,9 @@ { "target", "" }, { "message", "quiet!" } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -125,11 +135,14 @@ }); BOOST_ASSERT(result == server_error::invalid_channel); + BOOST_ASSERT(message["error"].template get<int>() == server_error::invalid_channel); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "server"); } BOOST_AUTO_TEST_CASE(invalid_channel_2) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "server-notice" }, @@ -137,8 +150,9 @@ { "target", 123456 }, { "message", "quiet!" } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -146,11 +160,14 @@ }); BOOST_ASSERT(result == server_error::invalid_channel); + BOOST_ASSERT(message["error"].template get<int>() == server_error::invalid_channel); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "server"); } BOOST_AUTO_TEST_CASE(not_found) { boost::system::error_code result; + nlohmann::json message; ctl_->send({ { "command", "server-notice" }, @@ -158,8 +175,9 @@ { "target", "#music" }, { "message", "quiet!" } }); - ctl_->recv([&] (auto code, auto) { - result = code; + ctl_->recv([&] (auto rresult, auto rmessage) { + result = rresult; + message = rmessage; }); wait_for([&] { @@ -167,6 +185,8 @@ }); BOOST_ASSERT(result == server_error::not_found); + BOOST_ASSERT(message["error"].template get<int>() == server_error::not_found); + BOOST_ASSERT(message["errorCategory"].template get<std::string>() == "server"); } BOOST_AUTO_TEST_SUITE_END()