Mercurial > irccd
diff tests/cmd-server-nick/main.cpp @ 558:f1ad428208d3
Tests: convert cmd-server-*, #593
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 25 Nov 2017 17:00:24 +0100 |
parents | 7e273b7f4f92 |
children | a8b892177909 |
line wrap: on
line diff
--- a/tests/cmd-server-nick/main.cpp Sat Nov 25 14:34:20 2017 +0100 +++ b/tests/cmd-server-nick/main.cpp Sat Nov 25 17:00:24 2017 +0100 @@ -16,56 +16,53 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <command.hpp> -#include <command-tester.hpp> -#include <server-tester.hpp> +#define BOOST_TEST_MODULE "server-nick" +#include <boost/test/unit_test.hpp> + +#include <irccd/server_service.hpp> -using namespace irccd; +#include <journal_server.hpp> +#include <command_test.hpp> + +namespace irccd { namespace { -std::string nick; - -} // !namespace +class server_nick_test : public command_test<server_nick_command> { +protected: + std::shared_ptr<journal_server> server_{new journal_server(service_, "test")}; -class ServerNickTest : public ServerTester { -public: - void set_nickname(std::string nick) override + server_nick_test() { - ::nick = nick; + daemon_->servers().add(server_); } }; -class ServerNickCommandTest : public CommandTester { -public: - ServerNickCommandTest() - : CommandTester(std::make_unique<server_nick_command>(), - std::make_unique<ServerNickTest>()) - { - m_irccdctl.client().request({ - { "command", "server-nick" }, - { "server", "test" }, - { "nickname", "chris" } - }); - } -}; +} // !namespace + +BOOST_FIXTURE_TEST_SUITE(server_nick_test_suite, server_nick_test) + +BOOST_AUTO_TEST_CASE(basic) +{ + nlohmann::json result; -TEST_F(ServerNickCommandTest, basic) -{ - try { - poll([&] () { - return !nick.empty(); - }); + ctl_->send({ + { "command", "server-nick" }, + { "server", "test" }, + { "nickname", "chris" } + }); + ctl_->recv([&] (auto, auto msg) { + result = msg; + }); - ASSERT_EQ("chris", nick); - } catch (const std::exception &ex) { - FAIL() << ex.what(); - } + wait_for([&] () { + return result.is_object(); + }); + + BOOST_TEST(result.is_object()); + BOOST_TEST(result.count("error") == 0U); } -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); +BOOST_AUTO_TEST_SUITE_END() - return RUN_ALL_TESTS(); -} +} // !irccd