annotate tests/src/libirccd/command-plugin-list/main.cpp @ 630:711e0bd01eaf

Irccd: move services to service folder
author David Demelier <markand@malikania.fr>
date Wed, 07 Mar 2018 17:49:56 +0100
parents 27587ff92a64
children 1fa9e5222e87
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test plugin-list remote command
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
628
27587ff92a64 Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 624
diff changeset
4 * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
19 #define BOOST_TEST_MODULE "plugin-list"
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
20 #include <boost/test/unit_test.hpp>
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
624
f69b1faf812f Irccd: split commands, closes #759 @2h
David Demelier <markand@malikania.fr>
parents: 611
diff changeset
22 #include <irccd/daemon/plugin_list_command.hpp>
630
711e0bd01eaf Irccd: move services to service folder
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
23 #include <irccd/daemon/service/plugin_service.hpp>
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
24
604
9d4da384f5d6 Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents: 596
diff changeset
25 #include <irccd/test/command_test.hpp>
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
27 namespace irccd {
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
29 class plugin_list_test : public command_test<plugin_list_command> {
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 public:
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
31 plugin_list_test()
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 {
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
33 daemon_->plugins().add(std::make_unique<plugin>("t1", ""));
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
34 daemon_->plugins().add(std::make_unique<plugin>("t2", ""));
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 }
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 };
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
38 BOOST_FIXTURE_TEST_SUITE(plugin_list_test_suite, plugin_list_test)
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
40 BOOST_AUTO_TEST_CASE(basic)
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
41 {
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
42 auto response = nlohmann::json();
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
44 ctl_->send({{"command", "plugin-list"}});
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 555
diff changeset
45 ctl_->recv([&] (auto, auto message) {
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
46 response = message;
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
47 });
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
48
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
49 wait_for([&] () {
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
50 return response.is_object();
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
51 });
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
52
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
53 BOOST_TEST(response.is_object());
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
54 BOOST_TEST("t1", response["list"][0]);
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
55 BOOST_TEST("t2", response["list"][1]);
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 }
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
57
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
58 BOOST_AUTO_TEST_SUITE_END()
317
249ccc1e4840 Tests: add test for plugin-list, #559
David Demelier <markand@malikania.fr>
parents:
diff changeset
59
555
9b6b0d7d89c6 Tests: convert cmd-plugin-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
60 } // !irccd