Mercurial > irccd
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 }); |