comparison tests/src/libirccd/command-rule-edit/main.cpp @ 773:8c44bbcbbab9

Misc: style, cleanup and update
author David Demelier <markand@malikania.fr>
date Fri, 26 Oct 2018 13:01:00 +0200
parents 35c1517d705d
children
comparison
equal deleted inserted replaced
772:f5ccf65ae929 773:8c44bbcbbab9
29 29
30 namespace { 30 namespace {
31 31
32 class rule_edit_fixture : public command_fixture { 32 class rule_edit_fixture : public command_fixture {
33 public: 33 public:
34 rule_edit_fixture() 34 rule_edit_fixture()
35 { 35 {
36 irccd_.rules().add(rule( 36 irccd_.rules().add(rule{
37 { "s1", "s2" }, 37 { "s1", "s2" },
38 { "c1", "c2" }, 38 { "c1", "c2" },
39 { "o1", "o2" }, 39 { "o1", "o2" },
40 { "p1", "p2" }, 40 { "p1", "p2" },
41 { "onMessage", "onCommand" }, 41 { "onMessage", "onCommand" },
42 rule::action::drop 42 rule::action_type::drop
43 )); 43 });
44 } 44 }
45 }; 45 };
46 46
47 BOOST_FIXTURE_TEST_SUITE(rule_edit_fixture_suite, rule_edit_fixture) 47 BOOST_FIXTURE_TEST_SUITE(rule_edit_fixture_suite, rule_edit_fixture)
48 48
49 BOOST_AUTO_TEST_CASE(add_server) 49 BOOST_AUTO_TEST_CASE(add_server)
50 { 50 {
51 request({ 51 request({
52 { "command", "rule-edit" }, 52 { "command", "rule-edit" },
53 { "add-servers", { "new-s3" } }, 53 { "add-servers", { "new-s3" } },
54 { "index", 0 } 54 { "index", 0 }
55 }); 55 });
56 56
57 const auto [json, code] = request({ 57 const auto [json, code] = request({
58 { "command", "rule-info" }, 58 { "command", "rule-info" },
59 { "index", 0 } 59 { "index", 0 }
60 }); 60 });
61 61
62 BOOST_TEST(!code); 62 BOOST_TEST(!code);
63 BOOST_TEST(json.is_object()); 63 BOOST_TEST(json.is_object());
64 BOOST_TEST(json_util::contains(json["servers"], "s1")); 64 BOOST_TEST(json_util::contains(json["servers"], "s1"));
65 BOOST_TEST(json_util::contains(json["servers"], "s2")); 65 BOOST_TEST(json_util::contains(json["servers"], "s2"));
66 BOOST_TEST(json_util::contains(json["servers"], "new-s3")); 66 BOOST_TEST(json_util::contains(json["servers"], "new-s3"));
67 BOOST_TEST(json_util::contains(json["channels"], "c1")); 67 BOOST_TEST(json_util::contains(json["channels"], "c1"));
68 BOOST_TEST(json_util::contains(json["channels"], "c2")); 68 BOOST_TEST(json_util::contains(json["channels"], "c2"));
69 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 69 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
70 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 70 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
71 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 71 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
72 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 72 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
73 BOOST_TEST(json["action"].get<std::string>() == "drop"); 73 BOOST_TEST(json["action"].get<std::string>() == "drop");
74 } 74 }
75 75
76 BOOST_AUTO_TEST_CASE(add_channel) 76 BOOST_AUTO_TEST_CASE(add_channel)
77 { 77 {
78 request({ 78 request({
79 { "command", "rule-edit" }, 79 { "command", "rule-edit" },
80 { "add-channels", { "new-c3" } }, 80 { "add-channels", { "new-c3" } },
81 { "index", 0 } 81 { "index", 0 }
82 }); 82 });
83 83
84 const auto [json, code] = request({ 84 const auto [json, code] = request({
85 { "command", "rule-info" }, 85 { "command", "rule-info" },
86 { "index", 0 } 86 { "index", 0 }
87 }); 87 });
88 88
89 BOOST_TEST(!code); 89 BOOST_TEST(!code);
90 BOOST_TEST(json.is_object()); 90 BOOST_TEST(json.is_object());
91 BOOST_TEST(json_util::contains(json["servers"], "s1")); 91 BOOST_TEST(json_util::contains(json["servers"], "s1"));
92 BOOST_TEST(json_util::contains(json["servers"], "s2")); 92 BOOST_TEST(json_util::contains(json["servers"], "s2"));
93 BOOST_TEST(json_util::contains(json["channels"], "c1")); 93 BOOST_TEST(json_util::contains(json["channels"], "c1"));
94 BOOST_TEST(json_util::contains(json["channels"], "c2")); 94 BOOST_TEST(json_util::contains(json["channels"], "c2"));
95 BOOST_TEST(json_util::contains(json["channels"], "new-c3")); 95 BOOST_TEST(json_util::contains(json["channels"], "new-c3"));
96 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 96 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
97 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 97 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
98 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 98 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
99 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 99 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
100 BOOST_TEST(json["action"].get<std::string>() == "drop"); 100 BOOST_TEST(json["action"].get<std::string>() == "drop");
101 } 101 }
102 102
103 BOOST_AUTO_TEST_CASE(add_plugin) 103 BOOST_AUTO_TEST_CASE(add_plugin)
104 { 104 {
105 request({ 105 request({
106 { "command", "rule-edit" }, 106 { "command", "rule-edit" },
107 { "add-plugins", { "new-p3" } }, 107 { "add-plugins", { "new-p3" } },
108 { "index", 0 } 108 { "index", 0 }
109 }); 109 });
110 110
111 const auto [json, code] = request({ 111 const auto [json, code] = request({
112 { "command", "rule-info" }, 112 { "command", "rule-info" },
113 { "index", 0 } 113 { "index", 0 }
114 }); 114 });
115 115
116 BOOST_TEST(!code); 116 BOOST_TEST(!code);
117 BOOST_TEST(json.is_object()); 117 BOOST_TEST(json.is_object());
118 BOOST_TEST(json_util::contains(json["servers"], "s1")); 118 BOOST_TEST(json_util::contains(json["servers"], "s1"));
119 BOOST_TEST(json_util::contains(json["servers"], "s2")); 119 BOOST_TEST(json_util::contains(json["servers"], "s2"));
120 BOOST_TEST(json_util::contains(json["channels"], "c1")); 120 BOOST_TEST(json_util::contains(json["channels"], "c1"));
121 BOOST_TEST(json_util::contains(json["channels"], "c2")); 121 BOOST_TEST(json_util::contains(json["channels"], "c2"));
122 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 122 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
123 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 123 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
124 BOOST_TEST(json_util::contains(json["plugins"], "new-p3")); 124 BOOST_TEST(json_util::contains(json["plugins"], "new-p3"));
125 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 125 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
126 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 126 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
127 BOOST_TEST(json["action"].get<std::string>() == "drop"); 127 BOOST_TEST(json["action"].get<std::string>() == "drop");
128 } 128 }
129 129
130 BOOST_AUTO_TEST_CASE(add_event) 130 BOOST_AUTO_TEST_CASE(add_event)
131 { 131 {
132 request({ 132 request({
133 { "command", "rule-edit" }, 133 { "command", "rule-edit" },
134 { "add-events", { "onQuery" } }, 134 { "add-events", { "onQuery" } },
135 { "index", 0 } 135 { "index", 0 }
136 }); 136 });
137 137
138 const auto [json, code] = request({ 138 const auto [json, code] = request({
139 { "command", "rule-info" }, 139 { "command", "rule-info" },
140 { "index", 0 } 140 { "index", 0 }
141 }); 141 });
142 142
143 BOOST_TEST(!code); 143 BOOST_TEST(!code);
144 BOOST_TEST(json.is_object()); 144 BOOST_TEST(json.is_object());
145 BOOST_TEST(json_util::contains(json["servers"], "s1")); 145 BOOST_TEST(json_util::contains(json["servers"], "s1"));
146 BOOST_TEST(json_util::contains(json["servers"], "s2")); 146 BOOST_TEST(json_util::contains(json["servers"], "s2"));
147 BOOST_TEST(json_util::contains(json["channels"], "c1")); 147 BOOST_TEST(json_util::contains(json["channels"], "c1"));
148 BOOST_TEST(json_util::contains(json["channels"], "c2")); 148 BOOST_TEST(json_util::contains(json["channels"], "c2"));
149 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 149 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
150 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 150 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
151 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 151 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
152 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 152 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
153 BOOST_TEST(json_util::contains(json["events"], "onQuery")); 153 BOOST_TEST(json_util::contains(json["events"], "onQuery"));
154 BOOST_TEST(json["action"].get<std::string>() == "drop"); 154 BOOST_TEST(json["action"].get<std::string>() == "drop");
155 } 155 }
156 156
157 BOOST_AUTO_TEST_CASE(add_event_and_server) 157 BOOST_AUTO_TEST_CASE(add_event_and_server)
158 { 158 {
159 request({ 159 request({
160 { "command", "rule-edit" }, 160 { "command", "rule-edit" },
161 { "add-servers", { "new-s3" } }, 161 { "add-servers", { "new-s3" } },
162 { "add-events", { "onQuery" } }, 162 { "add-events", { "onQuery" } },
163 { "index", 0 } 163 { "index", 0 }
164 }); 164 });
165 165
166 const auto [json, code] = request({ 166 const auto [json, code] = request({
167 { "command", "rule-info" }, 167 { "command", "rule-info" },
168 { "index", 0 } 168 { "index", 0 }
169 }); 169 });
170 170
171 BOOST_TEST(!code); 171 BOOST_TEST(!code);
172 BOOST_TEST(json.is_object()); 172 BOOST_TEST(json.is_object());
173 BOOST_TEST(json_util::contains(json["servers"], "s1")); 173 BOOST_TEST(json_util::contains(json["servers"], "s1"));
174 BOOST_TEST(json_util::contains(json["servers"], "s2")); 174 BOOST_TEST(json_util::contains(json["servers"], "s2"));
175 BOOST_TEST(json_util::contains(json["servers"], "new-s3")); 175 BOOST_TEST(json_util::contains(json["servers"], "new-s3"));
176 BOOST_TEST(json_util::contains(json["channels"], "c1")); 176 BOOST_TEST(json_util::contains(json["channels"], "c1"));
177 BOOST_TEST(json_util::contains(json["channels"], "c2")); 177 BOOST_TEST(json_util::contains(json["channels"], "c2"));
178 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 178 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
179 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 179 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
180 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 180 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
181 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 181 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
182 BOOST_TEST(json_util::contains(json["events"], "onQuery")); 182 BOOST_TEST(json_util::contains(json["events"], "onQuery"));
183 BOOST_TEST(json["action"].get<std::string>() == "drop"); 183 BOOST_TEST(json["action"].get<std::string>() == "drop");
184 } 184 }
185 185
186 BOOST_AUTO_TEST_CASE(change_action) 186 BOOST_AUTO_TEST_CASE(change_action)
187 { 187 {
188 request({ 188 request({
189 { "command", "rule-edit" }, 189 { "command", "rule-edit" },
190 { "action", "accept" }, 190 { "action", "accept" },
191 { "index", 0 } 191 { "index", 0 }
192 }); 192 });
193 193
194 const auto [json, code] = request({ 194 const auto [json, code] = request({
195 { "command", "rule-info" }, 195 { "command", "rule-info" },
196 { "index", 0 } 196 { "index", 0 }
197 }); 197 });
198 198
199 BOOST_TEST(!code); 199 BOOST_TEST(!code);
200 BOOST_TEST(json.is_object()); 200 BOOST_TEST(json.is_object());
201 BOOST_TEST(json_util::contains(json["servers"], "s1")); 201 BOOST_TEST(json_util::contains(json["servers"], "s1"));
202 BOOST_TEST(json_util::contains(json["servers"], "s2")); 202 BOOST_TEST(json_util::contains(json["servers"], "s2"));
203 BOOST_TEST(json_util::contains(json["channels"], "c1")); 203 BOOST_TEST(json_util::contains(json["channels"], "c1"));
204 BOOST_TEST(json_util::contains(json["channels"], "c2")); 204 BOOST_TEST(json_util::contains(json["channels"], "c2"));
205 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 205 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
206 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 206 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
207 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 207 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
208 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 208 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
209 BOOST_TEST(json["action"].get<std::string>() == "accept"); 209 BOOST_TEST(json["action"].get<std::string>() == "accept");
210 } 210 }
211 211
212 BOOST_AUTO_TEST_CASE(remove_server) 212 BOOST_AUTO_TEST_CASE(remove_server)
213 { 213 {
214 request({ 214 request({
215 { "command", "rule-edit" }, 215 { "command", "rule-edit" },
216 { "remove-servers", { "s2" } }, 216 { "remove-servers", { "s2" } },
217 { "index", 0 } 217 { "index", 0 }
218 }); 218 });
219 219
220 const auto [json, code] = request({ 220 const auto [json, code] = request({
221 { "command", "rule-info" }, 221 { "command", "rule-info" },
222 { "index", 0 } 222 { "index", 0 }
223 }); 223 });
224 224
225 BOOST_TEST(!code); 225 BOOST_TEST(!code);
226 BOOST_TEST(json.is_object()); 226 BOOST_TEST(json.is_object());
227 BOOST_TEST(json_util::contains(json["servers"], "s1")); 227 BOOST_TEST(json_util::contains(json["servers"], "s1"));
228 BOOST_TEST(!json_util::contains(json["servers"], "s2")); 228 BOOST_TEST(!json_util::contains(json["servers"], "s2"));
229 BOOST_TEST(json_util::contains(json["channels"], "c1")); 229 BOOST_TEST(json_util::contains(json["channels"], "c1"));
230 BOOST_TEST(json_util::contains(json["channels"], "c2")); 230 BOOST_TEST(json_util::contains(json["channels"], "c2"));
231 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 231 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
232 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 232 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
233 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 233 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
234 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 234 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
235 BOOST_TEST(json["action"].get<std::string>() == "drop"); 235 BOOST_TEST(json["action"].get<std::string>() == "drop");
236 } 236 }
237 237
238 BOOST_AUTO_TEST_CASE(remove_channel) 238 BOOST_AUTO_TEST_CASE(remove_channel)
239 { 239 {
240 request({ 240 request({
241 { "command", "rule-edit" }, 241 { "command", "rule-edit" },
242 { "remove-channels", { "c2" } }, 242 { "remove-channels", { "c2" } },
243 { "index", 0 } 243 { "index", 0 }
244 }); 244 });
245 245
246 const auto [json, code] = request({ 246 const auto [json, code] = request({
247 { "command", "rule-info" }, 247 { "command", "rule-info" },
248 { "index", 0 } 248 { "index", 0 }
249 }); 249 });
250 250
251 BOOST_TEST(!code); 251 BOOST_TEST(!code);
252 BOOST_TEST(json.is_object()); 252 BOOST_TEST(json.is_object());
253 BOOST_TEST(json_util::contains(json["servers"], "s1")); 253 BOOST_TEST(json_util::contains(json["servers"], "s1"));
254 BOOST_TEST(json_util::contains(json["servers"], "s2")); 254 BOOST_TEST(json_util::contains(json["servers"], "s2"));
255 BOOST_TEST(json_util::contains(json["channels"], "c1")); 255 BOOST_TEST(json_util::contains(json["channels"], "c1"));
256 BOOST_TEST(!json_util::contains(json["channels"], "c2")); 256 BOOST_TEST(!json_util::contains(json["channels"], "c2"));
257 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 257 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
258 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 258 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
259 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 259 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
260 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 260 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
261 BOOST_TEST(json["action"].get<std::string>() == "drop"); 261 BOOST_TEST(json["action"].get<std::string>() == "drop");
262 } 262 }
263 263
264 BOOST_AUTO_TEST_CASE(remove_plugin) 264 BOOST_AUTO_TEST_CASE(remove_plugin)
265 { 265 {
266 request({ 266 request({
267 { "command", "rule-edit" }, 267 { "command", "rule-edit" },
268 { "remove-plugins", { "p2" } }, 268 { "remove-plugins", { "p2" } },
269 { "index", 0 } 269 { "index", 0 }
270 }); 270 });
271 271
272 const auto [json, code] = request({ 272 const auto [json, code] = request({
273 { "command", "rule-info" }, 273 { "command", "rule-info" },
274 { "index", 0 } 274 { "index", 0 }
275 }); 275 });
276 276
277 BOOST_TEST(!code); 277 BOOST_TEST(!code);
278 BOOST_TEST(json.is_object()); 278 BOOST_TEST(json.is_object());
279 BOOST_TEST(json_util::contains(json["servers"], "s1")); 279 BOOST_TEST(json_util::contains(json["servers"], "s1"));
280 BOOST_TEST(json_util::contains(json["servers"], "s2")); 280 BOOST_TEST(json_util::contains(json["servers"], "s2"));
281 BOOST_TEST(json_util::contains(json["channels"], "c1")); 281 BOOST_TEST(json_util::contains(json["channels"], "c1"));
282 BOOST_TEST(json_util::contains(json["channels"], "c2")); 282 BOOST_TEST(json_util::contains(json["channels"], "c2"));
283 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 283 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
284 BOOST_TEST(!json_util::contains(json["plugins"], "p2")); 284 BOOST_TEST(!json_util::contains(json["plugins"], "p2"));
285 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 285 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
286 BOOST_TEST(json_util::contains(json["events"], "onCommand")); 286 BOOST_TEST(json_util::contains(json["events"], "onCommand"));
287 BOOST_TEST(json["action"].get<std::string>() == "drop"); 287 BOOST_TEST(json["action"].get<std::string>() == "drop");
288 } 288 }
289 289
290 BOOST_AUTO_TEST_CASE(remove_event) 290 BOOST_AUTO_TEST_CASE(remove_event)
291 { 291 {
292 request({ 292 request({
293 { "command", "rule-edit" }, 293 { "command", "rule-edit" },
294 { "remove-events", { "onCommand" } }, 294 { "remove-events", { "onCommand" } },
295 { "index", 0 } 295 { "index", 0 }
296 }); 296 });
297 297
298 const auto [json, code] = request({ 298 const auto [json, code] = request({
299 { "command", "rule-info" }, 299 { "command", "rule-info" },
300 { "index", 0 } 300 { "index", 0 }
301 }); 301 });
302 302
303 BOOST_TEST(!code); 303 BOOST_TEST(!code);
304 BOOST_TEST(json.is_object()); 304 BOOST_TEST(json.is_object());
305 BOOST_TEST(json_util::contains(json["servers"], "s1")); 305 BOOST_TEST(json_util::contains(json["servers"], "s1"));
306 BOOST_TEST(json_util::contains(json["servers"], "s2")); 306 BOOST_TEST(json_util::contains(json["servers"], "s2"));
307 BOOST_TEST(json_util::contains(json["channels"], "c1")); 307 BOOST_TEST(json_util::contains(json["channels"], "c1"));
308 BOOST_TEST(json_util::contains(json["channels"], "c2")); 308 BOOST_TEST(json_util::contains(json["channels"], "c2"));
309 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 309 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
310 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 310 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
311 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 311 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
312 BOOST_TEST(!json_util::contains(json["events"], "onCommand")); 312 BOOST_TEST(!json_util::contains(json["events"], "onCommand"));
313 BOOST_TEST(json["action"].get<std::string>() == "drop"); 313 BOOST_TEST(json["action"].get<std::string>() == "drop");
314 } 314 }
315 315
316 BOOST_AUTO_TEST_CASE(remove_event_and_server) 316 BOOST_AUTO_TEST_CASE(remove_event_and_server)
317 { 317 {
318 request({ 318 request({
319 { "command", "rule-edit" }, 319 { "command", "rule-edit" },
320 { "remove-servers", { "s2" } }, 320 { "remove-servers", { "s2" } },
321 { "remove-events", { "onCommand" } }, 321 { "remove-events", { "onCommand" } },
322 { "index", 0 } 322 { "index", 0 }
323 }); 323 });
324 324
325 const auto [json, code] = request({ 325 const auto [json, code] = request({
326 { "command", "rule-info" }, 326 { "command", "rule-info" },
327 { "index", 0 } 327 { "index", 0 }
328 }); 328 });
329 329
330 BOOST_TEST(!code); 330 BOOST_TEST(!code);
331 BOOST_TEST(json.is_object()); 331 BOOST_TEST(json.is_object());
332 BOOST_TEST(json_util::contains(json["servers"], "s1")); 332 BOOST_TEST(json_util::contains(json["servers"], "s1"));
333 BOOST_TEST(!json_util::contains(json["servers"], "s2")); 333 BOOST_TEST(!json_util::contains(json["servers"], "s2"));
334 BOOST_TEST(json_util::contains(json["channels"], "c1")); 334 BOOST_TEST(json_util::contains(json["channels"], "c1"));
335 BOOST_TEST(json_util::contains(json["channels"], "c2")); 335 BOOST_TEST(json_util::contains(json["channels"], "c2"));
336 BOOST_TEST(json_util::contains(json["plugins"], "p1")); 336 BOOST_TEST(json_util::contains(json["plugins"], "p1"));
337 BOOST_TEST(json_util::contains(json["plugins"], "p2")); 337 BOOST_TEST(json_util::contains(json["plugins"], "p2"));
338 BOOST_TEST(json_util::contains(json["events"], "onMessage")); 338 BOOST_TEST(json_util::contains(json["events"], "onMessage"));
339 BOOST_TEST(!json_util::contains(json["events"], "onCommand")); 339 BOOST_TEST(!json_util::contains(json["events"], "onCommand"));
340 BOOST_TEST(json["action"].get<std::string>() == "drop"); 340 BOOST_TEST(json["action"].get<std::string>() == "drop");
341 } 341 }
342 342
343 BOOST_AUTO_TEST_SUITE(errors) 343 BOOST_AUTO_TEST_SUITE(errors)
344 344
345 BOOST_AUTO_TEST_CASE(invalid_index_1) 345 BOOST_AUTO_TEST_CASE(invalid_index_1)
346 { 346 {
347 const auto [json, code] = request({ 347 const auto [json, code] = request({
348 { "command", "rule-edit" }, 348 { "command", "rule-edit" },
349 { "index", -100 }, 349 { "index", -100 },
350 { "action", "drop" } 350 { "action", "drop" }
351 }); 351 });
352 352
353 BOOST_TEST(code == rule_error::invalid_index); 353 BOOST_TEST(code == rule_error::invalid_index);
354 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index); 354 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index);
355 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); 355 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule");
356 } 356 }
357 357
358 BOOST_AUTO_TEST_CASE(invalid_index_2) 358 BOOST_AUTO_TEST_CASE(invalid_index_2)
359 { 359 {
360 const auto [json, code] = request({ 360 const auto [json, code] = request({
361 { "command", "rule-edit" }, 361 { "command", "rule-edit" },
362 { "index", 100 }, 362 { "index", 100 },
363 { "action", "drop" } 363 { "action", "drop" }
364 }); 364 });
365 365
366 BOOST_TEST(code == rule_error::invalid_index); 366 BOOST_TEST(code == rule_error::invalid_index);
367 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index); 367 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index);
368 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); 368 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule");
369 } 369 }
370 370
371 BOOST_AUTO_TEST_CASE(invalid_index_3) 371 BOOST_AUTO_TEST_CASE(invalid_index_3)
372 { 372 {
373 const auto [json, code] = request({ 373 const auto [json, code] = request({
374 { "command", "rule-edit" }, 374 { "command", "rule-edit" },
375 { "index", "notaint" }, 375 { "index", "notaint" },
376 { "action", "drop" } 376 { "action", "drop" }
377 }); 377 });
378 378
379 BOOST_TEST(code == rule_error::invalid_index); 379 BOOST_TEST(code == rule_error::invalid_index);
380 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index); 380 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index);
381 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); 381 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule");
382 } 382 }
383 383
384 BOOST_AUTO_TEST_CASE(invalid_action) 384 BOOST_AUTO_TEST_CASE(invalid_action)
385 { 385 {
386 const auto [json, code] = request({ 386 const auto [json, code] = request({
387 { "command", "rule-edit" }, 387 { "command", "rule-edit" },
388 { "index", 0 }, 388 { "index", 0 },
389 { "action", "unknown" } 389 { "action", "unknown" }
390 }); 390 });
391 391
392 BOOST_TEST(code == rule_error::invalid_action); 392 BOOST_TEST(code == rule_error::invalid_action);
393 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_action); 393 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_action);
394 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); 394 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule");
395 } 395 }
396 396
397 BOOST_AUTO_TEST_SUITE_END() 397 BOOST_AUTO_TEST_SUITE_END()
398 398
399 BOOST_AUTO_TEST_SUITE_END() 399 BOOST_AUTO_TEST_SUITE_END()