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)