Mercurial > irccd
comparison tests/src/libirccd/command-server-topic/main.cpp @ 735:64839725f346
Tests: replace journal_server with mock_server
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 24 Jul 2018 22:00:00 +0200 |
parents | bd12709b1975 |
children | 190b16cfa848 |
comparison
equal
deleted
inserted
replaced
734:649bb151f40d | 735:64839725f346 |
---|---|
21 | 21 |
22 #include <irccd/daemon/command/server_topic_command.hpp> | 22 #include <irccd/daemon/command/server_topic_command.hpp> |
23 #include <irccd/daemon/service/server_service.hpp> | 23 #include <irccd/daemon/service/server_service.hpp> |
24 | 24 |
25 #include <irccd/test/command_test.hpp> | 25 #include <irccd/test/command_test.hpp> |
26 #include <irccd/test/journal_server.hpp> | 26 #include <irccd/test/mock_server.hpp> |
27 | 27 |
28 namespace irccd { | 28 namespace irccd { |
29 | 29 |
30 namespace { | 30 namespace { |
31 | 31 |
32 class server_topic_test : public command_test<server_topic_command> { | 32 class server_topic_test : public command_test<server_topic_command> { |
33 protected: | 33 protected: |
34 std::shared_ptr<journal_server> server_{new journal_server(service_, "test")}; | 34 std::shared_ptr<mock_server> server_; |
35 | 35 |
36 server_topic_test() | 36 server_topic_test() |
37 : server_(new mock_server(service_, "test", "localhost")) | |
37 { | 38 { |
38 daemon_->servers().add(server_); | 39 daemon_->servers().add(server_); |
39 server_->cqueue().clear(); | 40 server_->clear(); |
40 } | 41 } |
41 }; | 42 }; |
42 | 43 |
43 BOOST_FIXTURE_TEST_SUITE(server_topic_test_suite, server_topic_test) | 44 BOOST_FIXTURE_TEST_SUITE(server_topic_test_suite, server_topic_test) |
44 | 45 |
45 BOOST_AUTO_TEST_CASE(basic) | 46 BOOST_AUTO_TEST_CASE(basic) |
46 { | 47 { |
47 ctl_->write({ | 48 const auto result = request({ |
48 { "command", "server-topic" }, | 49 { "command", "server-topic" }, |
49 { "server", "test" }, | 50 { "server", "test" }, |
50 { "channel", "#staff" }, | 51 { "channel", "#staff" }, |
51 { "topic", "new version" } | 52 { "topic", "new version" } |
52 }); | 53 }); |
53 | 54 |
54 wait_for([this] () { | 55 const auto cmd = server_->find("topic").back(); |
55 return !server_->cqueue().empty(); | |
56 }); | |
57 | 56 |
58 auto cmd = server_->cqueue().back(); | 57 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff"); |
59 | 58 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "new version"); |
60 BOOST_TEST(cmd["command"].get<std::string>() == "topic"); | |
61 BOOST_TEST(cmd["channel"].get<std::string>() == "#staff"); | |
62 BOOST_TEST(cmd["topic"].get<std::string>() == "new version"); | |
63 } | 59 } |
64 | 60 |
65 BOOST_AUTO_TEST_SUITE(errors) | 61 BOOST_AUTO_TEST_SUITE(errors) |
66 | 62 |
67 BOOST_AUTO_TEST_CASE(invalid_identifier_1) | 63 BOOST_AUTO_TEST_CASE(invalid_identifier_1) |