Mercurial > irccd
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 |