irccd  3.0.3
mock_server.hpp
1 /*
2  * mock_server.hpp -- mock server
3  *
4  * Copyright (c) 2013-2019 David Demelier <markand@malikania.fr>
5  *
6  * Permission to use, copy, modify, and/or distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef IRCCD_TEST_MOCK_SERVER_HPP
20 #define IRCCD_TEST_MOCK_SERVER_HPP
21 
27 #include <irccd/daemon/server.hpp>
28 
29 #include "mock.hpp"
30 
31 namespace irccd::test {
32 
36 class mock_server : public daemon::server, public mock {
37 public:
41  using server::server;
42 
46  void connect(connect_handler handler) noexcept override;
47 
51  void disconnect() noexcept override;
52 
56  void invite(std::string_view target, std::string_view channel) override;
57 
61  void join(std::string_view channel, std::string_view password = "") override;
62 
66  void kick(std::string_view target, std::string_view channel, std::string_view reason = "") override;
67 
71  void me(std::string_view target, std::string_view message) override;
72 
76  void message(std::string_view target, std::string_view message) override;
77 
81  void mode(std::string_view channel,
82  std::string_view mode,
83  std::string_view limit = "",
84  std::string_view user = "",
85  std::string_view mask = "") override;
86 
90  void names(std::string_view channel) override;
91 
95  void notice(std::string_view target, std::string_view message) override;
96 
100  void part(std::string_view channel, std::string_view reason = "") override;
101 
105  void send(std::string_view raw) override;
106 
110  void topic(std::string_view channel, std::string_view topic) override;
111 
115  void whois(std::string_view target) override;
116 };
117 
118 } // !irccd::test
119 
120 #endif // !IRCCD_TEST_MOCK_SERVER_HPP
The class that connect to a IRC server.
Definition: server.hpp:256
std::function< void(std::error_code)> connect_handler
Definition: server.hpp:261
Mock server.
Definition: mock_server.hpp:36
void disconnect() noexcept override
void mode(std::string_view channel, std::string_view mode, std::string_view limit="", std::string_view user="", std::string_view mask="") override
void topic(std::string_view channel, std::string_view topic) override
void kick(std::string_view target, std::string_view channel, std::string_view reason="") override
void connect(connect_handler handler) noexcept override
void send(std::string_view raw) override
void message(std::string_view target, std::string_view message) override
void join(std::string_view channel, std::string_view password="") override
void names(std::string_view channel) override
void me(std::string_view target, std::string_view message) override
void invite(std::string_view target, std::string_view channel) override
void whois(std::string_view target) override
void notice(std::string_view target, std::string_view message) override
void part(std::string_view channel, std::string_view reason="") override
Keep track of function invocations.
Definition: mock.hpp:38
Namespace for unit tests.
Definition: broken_plugin.hpp:29
Definition: bot.hpp:253