Mercurial > irccd
comparison tests/src/libirccd/command-server-disconnect/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 | e8c4ba5ed1c6 |
children | 190b16cfa848 |
comparison
equal
deleted
inserted
replaced
734:649bb151f40d | 735:64839725f346 |
---|---|
20 #include <boost/test/unit_test.hpp> | 20 #include <boost/test/unit_test.hpp> |
21 | 21 |
22 #include <irccd/daemon/command/server_disconnect_command.hpp> | 22 #include <irccd/daemon/command/server_disconnect_command.hpp> |
23 #include <irccd/daemon/service/server_service.hpp> | 23 #include <irccd/daemon/service/server_service.hpp> |
24 | 24 |
25 #include <irccd/test/journal_server.hpp> | 25 #include <irccd/test/mock_server.hpp> |
26 #include <irccd/test/command_test.hpp> | 26 #include <irccd/test/command_test.hpp> |
27 | 27 |
28 namespace irccd { | 28 namespace irccd { |
29 | 29 |
30 namespace { | 30 namespace { |
31 | 31 |
32 class no_disconnect_server : public journal_server { | |
33 public: | |
34 using journal_server::journal_server; | |
35 | |
36 void disconnect() noexcept override | |
37 { | |
38 // do nothing. | |
39 } | |
40 }; | |
41 | |
42 class server_disconnect_test : public command_test<server_disconnect_command> { | 32 class server_disconnect_test : public command_test<server_disconnect_command> { |
43 protected: | 33 protected: |
34 std::shared_ptr<mock_server> s1_; | |
35 std::shared_ptr<mock_server> s2_; | |
36 | |
44 server_disconnect_test() | 37 server_disconnect_test() |
38 : s1_(new mock_server(service_, "s1", "localhost")) | |
39 , s2_(new mock_server(service_, "s2", "localhost")) | |
45 { | 40 { |
46 daemon_->servers().add(std::make_unique<no_disconnect_server>(service_, "s1")); | 41 daemon_->servers().add(s1_); |
47 daemon_->servers().add(std::make_unique<no_disconnect_server>(service_, "s2")); | 42 daemon_->servers().add(s2_); |
48 } | 43 } |
49 }; | 44 }; |
50 | 45 |
51 BOOST_FIXTURE_TEST_SUITE(server_disconnect_test_suite, server_disconnect_test) | 46 BOOST_FIXTURE_TEST_SUITE(server_disconnect_test_suite, server_disconnect_test) |
52 | 47 |
56 { "command", "server-disconnect" }, | 51 { "command", "server-disconnect" }, |
57 { "server", "s1" } | 52 { "server", "s1" } |
58 }); | 53 }); |
59 | 54 |
60 BOOST_TEST(result.first["command"].get<std::string>() == "server-disconnect"); | 55 BOOST_TEST(result.first["command"].get<std::string>() == "server-disconnect"); |
56 BOOST_TEST(s1_->find("disconnect").size() == 1U); | |
61 BOOST_TEST(!daemon_->servers().has("s1")); | 57 BOOST_TEST(!daemon_->servers().has("s1")); |
62 BOOST_TEST(daemon_->servers().has("s2")); | 58 BOOST_TEST(daemon_->servers().has("s2")); |
63 } | 59 } |
64 | 60 |
65 BOOST_AUTO_TEST_CASE(all) | 61 BOOST_AUTO_TEST_CASE(all) |
67 const auto result = request({ | 63 const auto result = request({ |
68 { "command", "server-disconnect" } | 64 { "command", "server-disconnect" } |
69 }); | 65 }); |
70 | 66 |
71 BOOST_TEST(result.first["command"].get<std::string>() == "server-disconnect"); | 67 BOOST_TEST(result.first["command"].get<std::string>() == "server-disconnect"); |
68 BOOST_TEST(s1_->find("disconnect").size() == 1U); | |
69 BOOST_TEST(s2_->find("disconnect").size() == 1U); | |
72 BOOST_TEST(!daemon_->servers().has("s1")); | 70 BOOST_TEST(!daemon_->servers().has("s1")); |
73 BOOST_TEST(!daemon_->servers().has("s2")); | 71 BOOST_TEST(!daemon_->servers().has("s2")); |
74 } | 72 } |
75 | 73 |
76 BOOST_AUTO_TEST_SUITE(errors) | 74 BOOST_AUTO_TEST_SUITE(errors) |