comparison tests/src/libirccd/command-plugin-reload/main.cpp @ 757:97b356010785

Irccd: create (command|jsapi)::registry Make two list of constructor functions to initialize all command and all Javascript modules to avoid duplicating efforts in case of change. While here, update test fixtures to load all of them for simplicity.
author David Demelier <markand@malikania.fr>
date Mon, 06 Aug 2018 21:27:00 +0200
parents c216d148558d
children 35c1517d705d
comparison
equal deleted inserted replaced
756:1b4f82c952d6 757:97b356010785
17 */ 17 */
18 18
19 #define BOOST_TEST_MODULE "plugin-reload" 19 #define BOOST_TEST_MODULE "plugin-reload"
20 #include <boost/test/unit_test.hpp> 20 #include <boost/test/unit_test.hpp>
21 21
22 #include <irccd/daemon/plugin_service.hpp> 22 #include <irccd/test/command_fixture.hpp>
23 23
24 #include <irccd/test/command_test.hpp> 24 namespace irccd::test {
25 #include <irccd/test/mock_plugin.hpp>
26
27 namespace irccd {
28 25
29 namespace { 26 namespace {
30 27
31 class broken_plugin : public plugin { 28 class broken_plugin : public plugin {
32 public: 29 public:
44 { 41 {
45 throw std::runtime_error("broken"); 42 throw std::runtime_error("broken");
46 } 43 }
47 }; 44 };
48 45
49 class plugin_reload_test : public command_test<plugin_reload_command> { 46 class plugin_reload_fixture : public command_fixture {
50 protected: 47 protected:
51 std::shared_ptr<mock_plugin> plugin_; 48 std::shared_ptr<mock_plugin> plugin_;
52 49
53 plugin_reload_test() 50 plugin_reload_fixture()
54 : plugin_(std::make_shared<mock_plugin>("test")) 51 : plugin_(std::make_shared<mock_plugin>("test"))
55 { 52 {
56 daemon_->plugins().add(plugin_); 53 irccd_.plugins().clear();
57 daemon_->plugins().add(std::make_unique<broken_plugin>()); 54 irccd_.plugins().add(plugin_);
55 irccd_.plugins().add(std::make_unique<broken_plugin>());
58 } 56 }
59 }; 57 };
60 58
61 } // !namespace 59 BOOST_FIXTURE_TEST_SUITE(plugin_reload_fixture_suite, plugin_reload_fixture)
62
63 BOOST_FIXTURE_TEST_SUITE(plugin_reload_test_suite, plugin_reload_test)
64 60
65 BOOST_AUTO_TEST_CASE(basic) 61 BOOST_AUTO_TEST_CASE(basic)
66 { 62 {
67 const auto [json, code] = request({ 63 const auto [json, code] = request({
68 { "command", "plugin-reload" }, 64 { "command", "plugin-reload" },
112 108
113 BOOST_AUTO_TEST_SUITE_END() 109 BOOST_AUTO_TEST_SUITE_END()
114 110
115 BOOST_AUTO_TEST_SUITE_END() 111 BOOST_AUTO_TEST_SUITE_END()
116 112
117 } // !irccd 113 } // !namespace
114
115 } // !irccd::test