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