comparison tests/src/libirccd/command-server-invite/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 1fa9e5222e87
children 95ac3ace1610
comparison
equal deleted inserted replaced
650:27896e9bcd9e 651:1081e45b8628
65 65
66 BOOST_AUTO_TEST_SUITE(errors) 66 BOOST_AUTO_TEST_SUITE(errors)
67 67
68 BOOST_AUTO_TEST_CASE(invalid_identifier_1) 68 BOOST_AUTO_TEST_CASE(invalid_identifier_1)
69 { 69 {
70 boost::system::error_code result; 70 const auto result = request({
71 nlohmann::json message;
72
73 ctl_->send({
74 { "command", "server-invite" }, 71 { "command", "server-invite" },
75 { "server", 123456 }, 72 { "server", 123456 },
76 { "target", "francis" }, 73 { "target", "francis" },
77 { "channel", "#music" } 74 { "channel", "#music" }
78 }); 75 });
79 ctl_->recv([&] (auto rresult, auto rmessage) {
80 result = rresult;
81 message = rmessage;
82 });
83 76
84 wait_for([&] { 77 BOOST_TEST(result.second == server_error::invalid_identifier);
85 return result; 78 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier);
86 }); 79 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server");
87
88 BOOST_TEST(result == server_error::invalid_identifier);
89 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_identifier);
90 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server");
91 } 80 }
92 81
93 BOOST_AUTO_TEST_CASE(invalid_identifier_2) 82 BOOST_AUTO_TEST_CASE(invalid_identifier_2)
94 { 83 {
95 boost::system::error_code result; 84 const auto result = request({
96 nlohmann::json message;
97
98 ctl_->send({
99 { "command", "server-invite" }, 85 { "command", "server-invite" },
100 { "server", "" }, 86 { "server", "" },
101 { "target", "francis" }, 87 { "target", "francis" },
102 { "channel", "#music" } 88 { "channel", "#music" }
103 }); 89 });
104 ctl_->recv([&] (auto rresult, auto rmessage) {
105 result = rresult;
106 message = rmessage;
107 });
108 90
109 wait_for([&] { 91 BOOST_TEST(result.second == server_error::invalid_identifier);
110 return result; 92 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_identifier);
111 }); 93 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server");
112
113 BOOST_TEST(result == server_error::invalid_identifier);
114 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_identifier);
115 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server");
116 } 94 }
117 95
118 BOOST_AUTO_TEST_CASE(invalid_nickname_1) 96 BOOST_AUTO_TEST_CASE(invalid_nickname_1)
119 { 97 {
120 boost::system::error_code result; 98 const auto result = request({
121 nlohmann::json message;
122
123 ctl_->send({
124 { "command", "server-invite" }, 99 { "command", "server-invite" },
125 { "server", "test" }, 100 { "server", "test" },
126 { "target", "" }, 101 { "target", "" },
127 { "channel", "#music" } 102 { "channel", "#music" }
128 }); 103 });
129 ctl_->recv([&] (auto rresult, auto rmessage) {
130 result = rresult;
131 message = rmessage;
132 });
133 104
134 wait_for([&] { 105 BOOST_TEST(result.second == server_error::invalid_nickname);
135 return result; 106 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_nickname);
136 }); 107 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server");
137
138 BOOST_TEST(result == server_error::invalid_nickname);
139 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_nickname);
140 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server");
141 } 108 }
142 109
143 BOOST_AUTO_TEST_CASE(invalid_nickname_2) 110 BOOST_AUTO_TEST_CASE(invalid_nickname_2)
144 { 111 {
145 boost::system::error_code result; 112 const auto result = request({
146 nlohmann::json message;
147
148 ctl_->send({
149 { "command", "server-invite" }, 113 { "command", "server-invite" },
150 { "server", "test" }, 114 { "server", "test" },
151 { "target", 123456 }, 115 { "target", 123456 },
152 { "channel", "#music" } 116 { "channel", "#music" }
153 }); 117 });
154 ctl_->recv([&] (auto rresult, auto rmessage) {
155 result = rresult;
156 message = rmessage;
157 });
158 118
159 wait_for([&] { 119 BOOST_TEST(result.second == server_error::invalid_nickname);
160 return result; 120 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_nickname);
161 }); 121 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server");
162
163 BOOST_TEST(result == server_error::invalid_nickname);
164 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_nickname);
165 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server");
166 } 122 }
167 123
168 BOOST_AUTO_TEST_CASE(invalid_channel_1) 124 BOOST_AUTO_TEST_CASE(invalid_channel_1)
169 { 125 {
170 boost::system::error_code result; 126 const auto result = request({
171 nlohmann::json message;
172
173 ctl_->send({
174 { "command", "server-invite" }, 127 { "command", "server-invite" },
175 { "server", "test" }, 128 { "server", "test" },
176 { "target", "jean" }, 129 { "target", "jean" },
177 { "channel", "" } 130 { "channel", "" }
178 }); 131 });
179 ctl_->recv([&] (auto rresult, auto rmessage) {
180 result = rresult;
181 message = rmessage;
182 });
183 132
184 wait_for([&] { 133 BOOST_TEST(result.second == server_error::invalid_channel);
185 return result; 134 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel);
186 }); 135 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server");
187
188 BOOST_TEST(result == server_error::invalid_channel);
189 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_channel);
190 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server");
191 } 136 }
192 137
193 BOOST_AUTO_TEST_CASE(invalid_channel_2) 138 BOOST_AUTO_TEST_CASE(invalid_channel_2)
194 { 139 {
195 boost::system::error_code result; 140 const auto result = request({
196 nlohmann::json message;
197
198 ctl_->send({
199 { "command", "server-invite" }, 141 { "command", "server-invite" },
200 { "server", "test" }, 142 { "server", "test" },
201 { "target", "jean" }, 143 { "target", "jean" },
202 { "channel", 123456 } 144 { "channel", 123456 }
203 }); 145 });
204 ctl_->recv([&] (auto rresult, auto rmessage) {
205 result = rresult;
206 message = rmessage;
207 });
208 146
209 wait_for([&] { 147 BOOST_TEST(result.second == server_error::invalid_channel);
210 return result; 148 BOOST_TEST(result.first["error"].template get<int>() == server_error::invalid_channel);
211 }); 149 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server");
212
213 BOOST_TEST(result == server_error::invalid_channel);
214 BOOST_TEST(message["error"].template get<int>() == server_error::invalid_channel);
215 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server");
216 } 150 }
217 151
218 BOOST_AUTO_TEST_CASE(not_found) 152 BOOST_AUTO_TEST_CASE(not_found)
219 { 153 {
220 boost::system::error_code result; 154 const auto result = request({
221 nlohmann::json message;
222
223 ctl_->send({
224 { "command", "server-invite" }, 155 { "command", "server-invite" },
225 { "server", "unknown" }, 156 { "server", "unknown" },
226 { "target", "francis" }, 157 { "target", "francis" },
227 { "channel", "#music" } 158 { "channel", "#music" }
228 }); 159 });
229 ctl_->recv([&] (auto rresult, auto rmessage) {
230 result = rresult;
231 message = rmessage;
232 });
233 160
234 wait_for([&] { 161 BOOST_TEST(result.second == server_error::not_found);
235 return result; 162 BOOST_TEST(result.first["error"].template get<int>() == server_error::not_found);
236 }); 163 BOOST_TEST(result.first["errorCategory"].template get<std::string>() == "server");
237
238 BOOST_TEST(result == server_error::not_found);
239 BOOST_TEST(message["error"].template get<int>() == server_error::not_found);
240 BOOST_TEST(message["errorCategory"].template get<std::string>() == "server");
241 } 164 }
242 165
243 BOOST_AUTO_TEST_SUITE_END() 166 BOOST_AUTO_TEST_SUITE_END()
244 167
245 BOOST_AUTO_TEST_SUITE_END() 168 BOOST_AUTO_TEST_SUITE_END()