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 }