comparison tests/src/libirccd/command-plugin-info/main.cpp @ 737:190b16cfa848

Tests: improve command tests readability
author David Demelier <markand@malikania.fr>
date Tue, 24 Jul 2018 23:01:00 +0200
parents 9d13aabfd63a
children 199f36d4edc8
comparison
equal deleted inserted replaced
736:49b7c7660a00 737:190b16cfa848
63 63
64 BOOST_FIXTURE_TEST_SUITE(plugin_info_test_suite, command_test<plugin_info_command>) 64 BOOST_FIXTURE_TEST_SUITE(plugin_info_test_suite, command_test<plugin_info_command>)
65 65
66 BOOST_AUTO_TEST_CASE(basic) 66 BOOST_AUTO_TEST_CASE(basic)
67 { 67 {
68 auto plg = std::make_unique<sample_plugin>(); 68 daemon_->plugins().add(std::make_unique<sample_plugin>());
69 auto response = nlohmann::json();
70 69
71 daemon_->plugins().add(std::move(plg)); 70 const auto [json, code] = request({
72
73 const auto result = request({
74 { "command", "plugin-info" }, 71 { "command", "plugin-info" },
75 { "plugin", "test" }, 72 { "plugin", "test" },
76 }); 73 });
77 74
78 BOOST_TEST(result.first["author"].get<std::string>() == "Francis Beaugrand"); 75 BOOST_TEST(!code);
79 BOOST_TEST(result.first["license"].get<std::string>() == "GPL"); 76 BOOST_TEST(json["author"].get<std::string>() == "Francis Beaugrand");
80 BOOST_TEST(result.first["summary"].get<std::string>() == "Completely useless plugin"); 77 BOOST_TEST(json["license"].get<std::string>() == "GPL");
81 BOOST_TEST(result.first["version"].get<std::string>() == "0.0.0.0.0.0.0.0.1-beta5"); 78 BOOST_TEST(json["summary"].get<std::string>() == "Completely useless plugin");
79 BOOST_TEST(json["version"].get<std::string>() == "0.0.0.0.0.0.0.0.1-beta5");
82 } 80 }
83 81
84 BOOST_AUTO_TEST_SUITE(errors) 82 BOOST_AUTO_TEST_SUITE(errors)
85 83
86 BOOST_AUTO_TEST_CASE(invalid_identifier) 84 BOOST_AUTO_TEST_CASE(invalid_identifier)
87 { 85 {
88 const auto result = request({ 86 const auto [json, code] = request({
89 { "command", "plugin-info" } 87 { "command", "plugin-info" }
90 }); 88 });
91 89
92 BOOST_TEST(result.second == plugin_error::invalid_identifier); 90 BOOST_TEST(code == plugin_error::invalid_identifier);
93 BOOST_TEST(result.first["error"].template get<int>() == plugin_error::invalid_identifier); 91 BOOST_TEST(json["error"].get<int>() == plugin_error::invalid_identifier);
94 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "plugin"); 92 BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin");
95 } 93 }
96 94
97 BOOST_AUTO_TEST_CASE(not_found) 95 BOOST_AUTO_TEST_CASE(not_found)
98 { 96 {
99 const auto result = request({ 97 const auto [json, code] = request({
100 { "command", "plugin-info" }, 98 { "command", "plugin-info" },
101 { "plugin", "unknown" } 99 { "plugin", "unknown" }
102 }); 100 });
103 101
104 BOOST_TEST(result.second == plugin_error::not_found); 102 BOOST_TEST(code == plugin_error::not_found);
105 BOOST_TEST(result.first["error"].template get<int>() == plugin_error::not_found); 103 BOOST_TEST(json["error"].get<int>() == plugin_error::not_found);
106 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "plugin"); 104 BOOST_TEST(json["errorCategory"].get<std::string>() == "plugin");
107 } 105 }
108 106
109 BOOST_AUTO_TEST_SUITE_END() 107 BOOST_AUTO_TEST_SUITE_END()
110 108
111 BOOST_AUTO_TEST_SUITE_END() 109 BOOST_AUTO_TEST_SUITE_END()