comparison tests/src/irccdctl/cli-plugin-config/main.cpp @ 738:199f36d4edc8

Tests: add mock_plugin class, closes #898
author David Demelier <markand@malikania.fr>
date Wed, 25 Jul 2018 12:33:11 +0200
parents 49b7c7660a00
children 46a1877749ff
comparison
equal deleted inserted replaced
737:190b16cfa848 738:199f36d4edc8
18 18
19 #define BOOST_TEST_MODULE "irccdctl plugin-config" 19 #define BOOST_TEST_MODULE "irccdctl plugin-config"
20 #include <boost/test/unit_test.hpp> 20 #include <boost/test/unit_test.hpp>
21 21
22 #include <irccd/test/plugin_cli_test.hpp> 22 #include <irccd/test/plugin_cli_test.hpp>
23 #include <irccd/test/mock_plugin.hpp>
23 24
24 namespace irccd { 25 namespace irccd {
25 26
26 namespace { 27 namespace {
27 28
28 class configurable_plugin : public plugin {
29 private:
30 map config_;
31
32 public:
33 using plugin::plugin;
34
35 auto get_name() const noexcept -> std::string_view override
36 {
37 return "config";
38 }
39
40 auto get_options() const -> map override
41 {
42 return config_;
43 }
44
45 void set_options(const map& config) override
46 {
47 config_ = std::move(config);
48 }
49 };
50
51 class configurable_plugin_cli_test : public plugin_cli_test { 29 class configurable_plugin_cli_test : public plugin_cli_test {
52 public: 30 public:
53 configurable_plugin_cli_test() 31 configurable_plugin_cli_test()
54 { 32 {
55 auto conf1 = std::make_unique<configurable_plugin>("conf1"); 33 auto conf1 = std::make_unique<mock_plugin>("conf1");
56 auto conf2 = std::make_unique<configurable_plugin>("conf2"); 34 auto conf2 = std::make_unique<mock_plugin>("conf2");
57 35
58 conf1->set_options({ 36 conf1->set_options({
59 { "v1", "123" }, 37 { "v1", "123" },
60 { "v2", "456" } 38 { "v2", "456" }
61 }); 39 });