Mercurial > irccd
diff tests/cmd-plugin-unload/main.cpp @ 555:9b6b0d7d89c6
Tests: convert cmd-plugin-*, #593
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 24 Nov 2017 21:04:32 +0100 |
parents | 7e273b7f4f92 |
children | 153e84e7b09b |
line wrap: on
line diff
--- a/tests/cmd-plugin-unload/main.cpp Fri Nov 24 20:30:42 2017 +0100 +++ b/tests/cmd-plugin-unload/main.cpp Fri Nov 24 21:04:32 2017 +0100 @@ -16,65 +16,62 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <command.hpp> -#include <command-tester.hpp> -#include <server-tester.hpp> -#include <service.hpp> -#include <plugin.hpp> +#define BOOST_TEST_MODULE "plugin-unload" +#include <boost/test/unit_test.hpp> -using namespace irccd; +#include <irccd/command.hpp> +#include <irccd/plugin_service.hpp> + +#include <command_test.hpp> + +namespace irccd { namespace { -bool called = false; +class custom_plugin : public plugin { +public: + bool unloaded{false}; -class CustomPlugin : public plugin { -public: - CustomPlugin() + custom_plugin() : plugin("test", "") { } - void on_unload(irccd::irccd &) override + void on_unload(irccd &) override { - called = true; + unloaded = true; } }; -class PluginUnloadCommandTest : public CommandTester { -public: - PluginUnloadCommandTest() - : CommandTester(std::make_unique<plugin_unload_command>()) +class plugin_unload_test : public command_test<plugin_unload_command> { +protected: + std::shared_ptr<custom_plugin> plugin_; + + plugin_unload_test() + : plugin_(std::make_shared<custom_plugin>()) { - called = false; + daemon_->plugins().add(plugin_); } }; -TEST_F(PluginUnloadCommandTest, basic) -{ - try { - m_irccd.plugins().add(std::make_unique<CustomPlugin>()); - m_irccdctl.client().request({ - { "command", "plugin-unload" }, - { "plugin", "test" } - }); +} // !namespace + +BOOST_FIXTURE_TEST_SUITE(plugin_unload_test_suite, plugin_unload_test) - poll([&] () { - return called; - }); +BOOST_AUTO_TEST_CASE(basic) +{ + ctl_->send({ + { "command", "plugin-unload" }, + { "plugin", "test" } + }); - ASSERT_TRUE(called); - ASSERT_TRUE(m_irccd.plugins().list().empty()); - } catch (const std::exception &ex) { - FAIL() << ex.what(); - } + wait_for([&] () { + return plugin_->unloaded; + }); + + BOOST_TEST(plugin_->unloaded); } -} // !namespace +BOOST_AUTO_TEST_SUITE_END() -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - - return RUN_ALL_TESTS(); -} +} // !irccd