comparison tests/src/libirccd-daemon/command-plugin-info/main.cpp @ 830:4f7e46e593fe

tests: use command directly, closes #991 @4h
author David Demelier <markand@malikania.fr>
date Mon, 11 Feb 2019 20:30:00 +0100
parents 06cc2f95f479
children 5e25439fe98d
comparison
equal deleted inserted replaced
829:963feffc07fe 830:4f7e46e593fe
19 #define BOOST_TEST_MODULE "plugin-info" 19 #define BOOST_TEST_MODULE "plugin-info"
20 #include <boost/test/unit_test.hpp> 20 #include <boost/test/unit_test.hpp>
21 21
22 #include <irccd/test/command_fixture.hpp> 22 #include <irccd/test/command_fixture.hpp>
23 23
24 using irccd::test::command_fixture;
25 using irccd::test::mock_plugin;
26
27 using irccd::daemon::plugin_error;
28
29 namespace irccd { 24 namespace irccd {
30 25
31 namespace { 26 namespace {
32 27
33 BOOST_FIXTURE_TEST_SUITE(plugin_info_test_suite, command_fixture) 28 BOOST_FIXTURE_TEST_SUITE(plugin_info_test_suite, test::command_fixture)
34 29
35 BOOST_AUTO_TEST_CASE(basic) 30 BOOST_AUTO_TEST_CASE(basic)
36 { 31 {
37 const auto [json, code] = request({ 32 const auto json = request({
38 { "command", "plugin-info" }, 33 { "command", "plugin-info" },
39 { "plugin", "test" }, 34 { "plugin", "test" },
40 }); 35 });
41 36
42 BOOST_TEST(!code); 37 BOOST_TEST(json.size() == 5U);
38 BOOST_TEST(json["command"].get<std::string>() == "plugin-info");
43 BOOST_TEST(json["author"].get<std::string>() == "David Demelier <markand@malikania.fr>"); 39 BOOST_TEST(json["author"].get<std::string>() == "David Demelier <markand@malikania.fr>");
44 BOOST_TEST(json["license"].get<std::string>() == "ISC"); 40 BOOST_TEST(json["license"].get<std::string>() == "ISC");
45 BOOST_TEST(json["summary"].get<std::string>() == "mock plugin"); 41 BOOST_TEST(json["summary"].get<std::string>() == "mock plugin");
46 BOOST_TEST(json["version"].get<std::string>() == "1.0"); 42 BOOST_TEST(json["version"].get<std::string>() == "1.0");
47 } 43 }
48 44
49 BOOST_AUTO_TEST_SUITE(errors) 45 BOOST_AUTO_TEST_SUITE(errors)
50 46
51 BOOST_AUTO_TEST_CASE(invalid_identifier) 47 BOOST_AUTO_TEST_CASE(invalid_identifier)
52 { 48 {
53 const auto [json, code] = request({ 49 const auto json = request({
54 { "command", "plugin-info" } 50 { "command", "plugin-info" }
55 }); 51 });
56 52
57 BOOST_TEST(code == plugin_error::invalid_identifier); 53 BOOST_TEST(json.size() == 4U);
58 BOOST_TEST(json["error"].get<int>() == plugin_error::invalid_identifier); 54 BOOST_TEST(json["command"].get<std::string>() == "plugin-info");
55 BOOST_TEST(json["error"].get<int>() == daemon::plugin_error::invalid_identifier);
59 BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin"); 56 BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin");
60 } 57 }
61 58
62 BOOST_AUTO_TEST_CASE(not_found) 59 BOOST_AUTO_TEST_CASE(not_found)
63 { 60 {
64 const auto [json, code] = request({ 61 const auto json = request({
65 { "command", "plugin-info" }, 62 { "command", "plugin-info" },
66 { "plugin", "unknown" } 63 { "plugin", "unknown" }
67 }); 64 });
68 65
69 BOOST_TEST(code == plugin_error::not_found); 66 BOOST_TEST(json.size() == 4U);
70 BOOST_TEST(json["error"].get<int>() == plugin_error::not_found); 67 BOOST_TEST(json["command"].get<std::string>() == "plugin-info");
68 BOOST_TEST(json["error"].get<int>() == daemon::plugin_error::not_found);
71 BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin"); 69 BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin");
72 } 70 }
73 71
74 BOOST_AUTO_TEST_SUITE_END() 72 BOOST_AUTO_TEST_SUITE_END()
75 73