Mercurial > irccd
diff tests/cmd-server-nick/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-nick/main.cpp Thu Nov 30 13:19:38 2017 +0100 +++ b/tests/cmd-server-nick/main.cpp Fri Dec 01 21:34:21 2017 +0100 @@ -60,9 +60,112 @@ }); BOOST_TEST(result.is_object()); - BOOST_TEST(result.count("error") == 0U); + BOOST_TEST(server_->nickname() == "chris"); +} + +BOOST_AUTO_TEST_SUITE(errors) + +BOOST_AUTO_TEST_CASE(invalid_identifier_1) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-nick" }, + { "server", 123456 }, + { "nickname", "chris" } + }); + 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-nick" }, + { "server", "" }, + { "nickname", "chris" } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::invalid_identifier); +} + +BOOST_AUTO_TEST_CASE(invalid_nickname_1) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-nick" }, + { "server", "test" }, + { "nickname", "" } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::invalid_nickname); +} + +BOOST_AUTO_TEST_CASE(invalid_nickname_2) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-nick" }, + { "server", "test" }, + { "nickname", 123456 } + }); + ctl_->recv([&] (auto code, auto) { + result = code; + }); + + wait_for([&] { + return result; + }); + + BOOST_ASSERT(result == server_error::invalid_nickname); +} +BOOST_AUTO_TEST_CASE(not_found) +{ + boost::system::error_code result; + + ctl_->send({ + { "command", "server-nick" }, + { "server", "unknown" }, + { "nickname", "chris" } + }); + 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