irccd  3.0.3
mock_plugin.hpp
1 /*
2  * mock_plugin.hpp -- mock plugin
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_PLUGIN_HPP
20 #define IRCCD_TEST_MOCK_PLUGIN_HPP
21 
27 #include <irccd/daemon/plugin.hpp>
28 
29 #include "mock.hpp"
30 
31 namespace irccd::test {
32 
36 class mock_plugin : public daemon::plugin, public mock {
37 private:
38  map options_;
39  map templates_;
40  map paths_;
41 
42 public:
43  using plugin::plugin;
44 
48  auto get_name() const noexcept -> std::string_view override;
49 
53  auto get_author() const noexcept -> std::string_view override;
54 
58  auto get_license() const noexcept -> std::string_view override;
59 
63  auto get_summary() const noexcept -> std::string_view override;
64 
68  auto get_version() const noexcept -> std::string_view override;
69 
73  auto get_options() const -> map override;
74 
78  void set_options(const map& map) override;
79 
83  auto get_templates() const -> map override;
84 
88  void set_templates(const map& map) override;
89 
93  auto get_paths() const -> map override;
94 
98  void set_paths(const map& map) override;
99 
103  void handle_command(daemon::bot& bot, const daemon::message_event& event) override;
104 
108  void handle_connect(daemon::bot& bot, const daemon::connect_event& event) override;
109 
113  void handle_disconnect(daemon::bot& bot, const daemon::disconnect_event& event) override;
114 
118  void handle_invite(daemon::bot& bot, const daemon::invite_event& event) override;
119 
123  void handle_join(daemon::bot& bot, const daemon::join_event& event) override;
124 
128  void handle_kick(daemon::bot& bot, const daemon::kick_event& event) override;
129 
133  void handle_load(daemon::bot& bot) override;
134 
138  void handle_message(daemon::bot& bot, const daemon::message_event& event) override;
139 
143  void handle_me(daemon::bot& bot, const daemon::me_event& event) override;
144 
148  void handle_mode(daemon::bot& bot, const daemon::mode_event& event) override;
149 
153  void handle_names(daemon::bot& bot, const daemon::names_event& event) override;
154 
158  void handle_nick(daemon::bot& bot, const daemon::nick_event& event) override;
159 
163  void handle_notice(daemon::bot& bot, const daemon::notice_event& event) override;
164 
168  void handle_part(daemon::bot& bot, const daemon::part_event& event) override;
169 
173  void handle_reload(daemon::bot& bot) override;
174 
178  void handle_topic(daemon::bot& bot, const daemon::topic_event& event) override;
179 
183  void handle_unload(daemon::bot& bot) override;
184 
188  void handle_whois(daemon::bot& bot, const daemon::whois_event& event) override;
189 };
190 
191 } // !irccd::test
192 
193 #endif // !IRCCD_TEST_MOCK_PLUGIN_HPP
Abstract plugin.
Definition: plugin.hpp:61
std::unordered_map< std::string, std::string > map
Definition: plugin.hpp:68
Mock plugin.
Definition: mock_plugin.hpp:36
void handle_nick(daemon::bot &bot, const daemon::nick_event &event) override
void handle_kick(daemon::bot &bot, const daemon::kick_event &event) override
void handle_me(daemon::bot &bot, const daemon::me_event &event) override
void handle_disconnect(daemon::bot &bot, const daemon::disconnect_event &event) override
void handle_reload(daemon::bot &bot) override
void handle_message(daemon::bot &bot, const daemon::message_event &event) override
auto get_options() const -> map override
void handle_invite(daemon::bot &bot, const daemon::invite_event &event) override
void handle_command(daemon::bot &bot, const daemon::message_event &event) override
void handle_mode(daemon::bot &bot, const daemon::mode_event &event) override
auto get_name() const noexcept -> std::string_view override
auto get_summary() const noexcept -> std::string_view override
void handle_names(daemon::bot &bot, const daemon::names_event &event) override
void handle_join(daemon::bot &bot, const daemon::join_event &event) override
void handle_load(daemon::bot &bot) override
auto get_templates() const -> map override
auto get_license() const noexcept -> std::string_view override
void handle_connect(daemon::bot &bot, const daemon::connect_event &event) override
void set_options(const map &map) override
void handle_topic(daemon::bot &bot, const daemon::topic_event &event) override
auto get_author() const noexcept -> std::string_view override
void handle_notice(daemon::bot &bot, const daemon::notice_event &event) override
void handle_unload(daemon::bot &bot) override
auto get_paths() const -> map override
void handle_whois(daemon::bot &bot, const daemon::whois_event &event) override
void handle_part(daemon::bot &bot, const daemon::part_event &event) override
auto get_version() const noexcept -> std::string_view override
void set_templates(const map &map) override
void set_paths(const map &map) override
Keep track of function invocations.
Definition: mock.hpp:38
std::variant< std::monostate, connect_event, disconnect_event, invite_event, join_event, kick_event, me_event, message_event, mode_event, names_event, nick_event, notice_event, part_event, topic_event, whois_event > event
Store all possible events.
Definition: server.hpp:247
Namespace for unit tests.
Definition: broken_plugin.hpp:29
Definition: bot.hpp:253