Mercurial > irccd
comparison tests/cmd-plugin-list/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 | c729f06c6f27 |
comparison
equal
deleted
inserted
replaced
554:6ff2172d2239 | 555:9b6b0d7d89c6 |
---|---|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 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 | 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
17 */ | 17 */ |
18 | 18 |
19 #include <command.hpp> | 19 #define BOOST_TEST_MODULE "plugin-list" |
20 #include <command-tester.hpp> | 20 #include <boost/test/unit_test.hpp> |
21 #include <server-tester.hpp> | |
22 #include <service.hpp> | |
23 #include <plugin.hpp> | |
24 | 21 |
25 using namespace irccd; | 22 #include <irccd/command.hpp> |
23 #include <irccd/plugin_service.hpp> | |
26 | 24 |
27 namespace { | 25 #include <command_test.hpp> |
28 | 26 |
29 class PluginListCommandTest : public CommandTester { | 27 namespace irccd { |
28 | |
29 class plugin_list_test : public command_test<plugin_list_command> { | |
30 public: | 30 public: |
31 PluginListCommandTest() | 31 plugin_list_test() |
32 : CommandTester(std::make_unique<plugin_list_command>()) | |
33 { | 32 { |
34 m_irccd.plugins().add(std::make_unique<plugin>("t1", "")); | 33 daemon_->plugins().add(std::make_unique<plugin>("t1", "")); |
35 m_irccd.plugins().add(std::make_unique<plugin>("t2", "")); | 34 daemon_->plugins().add(std::make_unique<plugin>("t2", "")); |
36 } | 35 } |
37 }; | 36 }; |
38 | 37 |
39 TEST_F(PluginListCommandTest, basic) | 38 BOOST_FIXTURE_TEST_SUITE(plugin_list_test_suite, plugin_list_test) |
39 | |
40 BOOST_AUTO_TEST_CASE(basic) | |
40 { | 41 { |
41 try { | 42 auto response = nlohmann::json(); |
42 auto response = nlohmann::json(); | |
43 | 43 |
44 m_irccdctl.client().onMessage.connect([&] (auto message) { | 44 ctl_->send({{"command", "plugin-list"}}); |
45 response = message; | 45 ctl_->recv([&] (auto code, auto message) { |
46 }); | 46 response = message; |
47 m_irccdctl.client().request({{ "command", "plugin-list" }}); | 47 }); |
48 | 48 |
49 poll([&] () { | 49 wait_for([&] () { |
50 return response.is_object(); | 50 return response.is_object(); |
51 }); | 51 }); |
52 | 52 |
53 ASSERT_TRUE(response.is_object()); | 53 BOOST_TEST(response.is_object()); |
54 ASSERT_EQ("t1", response["list"][0]); | 54 BOOST_TEST("t1", response["list"][0]); |
55 ASSERT_EQ("t2", response["list"][1]); | 55 BOOST_TEST("t2", response["list"][1]); |
56 } catch (const std::exception &ex) { | |
57 FAIL() << ex.what(); | |
58 } | |
59 } | 56 } |
60 | 57 |
61 } // !namespace | 58 BOOST_AUTO_TEST_SUITE_END() |
62 | 59 |
63 int main(int argc, char **argv) | 60 } // !irccd |
64 { | |
65 testing::InitGoogleTest(&argc, argv); | |
66 | |
67 return RUN_ALL_TESTS(); | |
68 } |