Mercurial > irccd
diff tests/cmd-server-topic/main.cpp @ 578:a8b892177909
Tests: add error code support in cmd-server-* tests
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 01 Dec 2017 21:34:21 +0100 |
parents | f1ad428208d3 |
children |
line wrap: on
line diff
--- a/tests/cmd-server-topic/main.cpp Thu Nov 30 13:19:38 2017 +0100 +++ b/tests/cmd-server-topic/main.cpp Fri Dec 01 21:34:21 2017 +0100 @@ -62,6 +62,115 @@ BOOST_TEST(cmd["topic"].get<std::string>() == "new version"); } +BOOST_AUTO_TEST_SUITE(errors) + +BOOST_AUTO_TEST_CASE(invalid_identifier_1) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-topic" }, + { "server", 123456 }, + { "channel", "#music" }, + { "topic", "plop" } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::invalid_identifier); +} + +BOOST_AUTO_TEST_CASE(invalid_identifier_2) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-topic" }, + { "server", "" }, + { "channel", "#music" }, + { "topic", "plop" } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::invalid_identifier); +} + +BOOST_AUTO_TEST_CASE(invalid_channel_1) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-topic" }, + { "server", "test" }, + { "channel", "" }, + { "topic", "plop" } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::invalid_channel); +} + +BOOST_AUTO_TEST_CASE(invalid_channel_2) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-topic" }, + { "server", "test" }, + { "channel", 123456 }, + { "topic", "plop" } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::invalid_channel); +} + +BOOST_AUTO_TEST_CASE(not_found) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-topic" }, + { "server", "unknown" }, + { "channel", "#music" }, + { "topic", "plop" } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::not_found); +} + +BOOST_AUTO_TEST_SUITE_END() + BOOST_AUTO_TEST_SUITE_END() } // !irccd