comparison tests/src/libirccd/command-plugin-reload/main.cpp @ 651:1081e45b8628

Tests: use command_test::request helper, closes #784 @1h
author David Demelier <markand@malikania.fr>
date Tue, 27 Mar 2018 20:12:02 +0200
parents 7e2d0739f37c
children 95ac3ace1610
comparison
equal deleted inserted replaced
650:27896e9bcd9e 651:1081e45b8628
85 85
86 BOOST_AUTO_TEST_SUITE(errors) 86 BOOST_AUTO_TEST_SUITE(errors)
87 87
88 BOOST_AUTO_TEST_CASE(invalid_identifier) 88 BOOST_AUTO_TEST_CASE(invalid_identifier)
89 { 89 {
90 boost::system::error_code result; 90 const auto result = request({
91 nlohmann::json message;
92
93 ctl_->send({
94 { "command", "plugin-reload" } 91 { "command", "plugin-reload" }
95 }); 92 });
96 ctl_->recv([&] (auto rresult, auto rmessage) {
97 result = rresult;
98 message = rmessage;
99 });
100 93
101 wait_for([&] { 94 BOOST_TEST(result.second == plugin_error::invalid_identifier);
102 return result; 95 BOOST_TEST(result.first["error"].template get<int>() == plugin_error::invalid_identifier);
103 }); 96 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "plugin");
104
105 BOOST_TEST(result == plugin_error::invalid_identifier);
106 BOOST_TEST(message["error"].template get<int>() == plugin_error::invalid_identifier);
107 BOOST_TEST(message["errorCategory"].template get<std::string>() == "plugin");
108 } 97 }
109 98
110 BOOST_AUTO_TEST_CASE(not_found) 99 BOOST_AUTO_TEST_CASE(not_found)
111 { 100 {
112 boost::system::error_code result; 101 const auto result = request({
113 nlohmann::json message;
114
115 ctl_->send({
116 { "command", "plugin-reload" }, 102 { "command", "plugin-reload" },
117 { "plugin", "unknown" } 103 { "plugin", "unknown" }
118 }); 104 });
119 ctl_->recv([&] (auto rresult, auto rmessage) {
120 result = rresult;
121 message = rmessage;
122 });
123 105
124 wait_for([&] { 106 BOOST_TEST(result.second == plugin_error::not_found);
125 return result; 107 BOOST_TEST(result.first["error"].template get<int>() == plugin_error::not_found);
126 }); 108 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "plugin");
127
128 BOOST_TEST(result == plugin_error::not_found);
129 BOOST_TEST(message["error"].template get<int>() == plugin_error::not_found);
130 BOOST_TEST(message["errorCategory"].template get<std::string>() == "plugin");
131 } 109 }
132 110
133 BOOST_AUTO_TEST_CASE(exec_error) 111 BOOST_AUTO_TEST_CASE(exec_error)
134 { 112 {
135 boost::system::error_code result; 113 const auto result = request({
136 nlohmann::json message;
137
138 ctl_->send({
139 { "command", "plugin-reload" }, 114 { "command", "plugin-reload" },
140 { "plugin", "broken" } 115 { "plugin", "broken" }
141 }); 116 });
142 ctl_->recv([&] (auto rresult, auto rmessage) {
143 result = rresult;
144 message = rmessage;
145 });
146 117
147 wait_for([&] { 118 BOOST_TEST(result.second == plugin_error::exec_error);
148 return result; 119 BOOST_TEST(result.first["error"].template get<int>() == plugin_error::exec_error);
149 }); 120 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "plugin");
150
151 BOOST_TEST(result == plugin_error::exec_error);
152 BOOST_TEST(message["error"].template get<int>() == plugin_error::exec_error);
153 BOOST_TEST(message["errorCategory"].template get<std::string>() == "plugin");
154 } 121 }
155 122
156 BOOST_AUTO_TEST_SUITE_END() 123 BOOST_AUTO_TEST_SUITE_END()
157 124
158 BOOST_AUTO_TEST_SUITE_END() 125 BOOST_AUTO_TEST_SUITE_END()