Mercurial > irccd
annotate 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 |
rev | line source |
---|---|
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
2 * main.cpp -- test rule-edit remote command |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
628
27587ff92a64
Misc: update copyrights
David Demelier <markand@malikania.fr>
parents:
626
diff
changeset
|
4 * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr> |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
19 #define BOOST_TEST_MODULE "rule-edit" |
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
20 #include <boost/test/unit_test.hpp> |
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
21 |
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
22 #include <irccd/json_util.hpp> |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 |
757
97b356010785
Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents:
754
diff
changeset
|
24 #include <irccd/test/command_fixture.hpp> |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 |
760
35c1517d705d
Tests: make consistency
David Demelier <markand@malikania.fr>
parents:
757
diff
changeset
|
26 using namespace irccd::test; |
35c1517d705d
Tests: make consistency
David Demelier <markand@malikania.fr>
parents:
757
diff
changeset
|
27 |
35c1517d705d
Tests: make consistency
David Demelier <markand@malikania.fr>
parents:
757
diff
changeset
|
28 namespace irccd { |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
29 |
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
30 namespace { |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 |
757
97b356010785
Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents:
754
diff
changeset
|
32 class rule_edit_fixture : public command_fixture { |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 public: |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
34 rule_edit_fixture() |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
35 { |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
36 irccd_.rules().add(rule{ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
37 { "s1", "s2" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
38 { "c1", "c2" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
39 { "o1", "o2" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
40 { "p1", "p2" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
41 { "onMessage", "onCommand" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
42 rule::action_type::drop |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
43 }); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
44 } |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 }; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 |
757
97b356010785
Irccd: create (command|jsapi)::registry
David Demelier <markand@malikania.fr>
parents:
754
diff
changeset
|
47 BOOST_FIXTURE_TEST_SUITE(rule_edit_fixture_suite, rule_edit_fixture) |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
48 |
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
49 BOOST_AUTO_TEST_CASE(add_server) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
51 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
52 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
53 { "add-servers", { "new-s3" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
54 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
55 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
57 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
58 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
59 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
60 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
62 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
63 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
64 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
65 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
66 BOOST_TEST(json_util::contains(json["servers"], "new-s3")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
67 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
68 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
69 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
70 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
71 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
72 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
73 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
76 BOOST_AUTO_TEST_CASE(add_channel) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
78 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
79 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
80 { "add-channels", { "new-c3" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
81 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
82 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
84 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
85 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
86 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
87 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
89 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
90 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
91 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
92 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
93 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
94 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
95 BOOST_TEST(json_util::contains(json["channels"], "new-c3")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
96 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
97 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
98 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
99 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
100 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
103 BOOST_AUTO_TEST_CASE(add_plugin) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
105 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
106 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
107 { "add-plugins", { "new-p3" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
108 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
109 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
111 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
112 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
113 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
114 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
116 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
117 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
118 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
119 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
120 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
121 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
122 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
123 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
124 BOOST_TEST(json_util::contains(json["plugins"], "new-p3")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
125 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
126 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
127 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
130 BOOST_AUTO_TEST_CASE(add_event) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
132 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
133 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
134 { "add-events", { "onQuery" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
135 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
136 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
138 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
139 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
140 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
141 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
143 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
144 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
145 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
146 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
147 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
148 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
149 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
150 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
151 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
152 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
153 BOOST_TEST(json_util::contains(json["events"], "onQuery")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
154 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
157 BOOST_AUTO_TEST_CASE(add_event_and_server) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
159 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
160 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
161 { "add-servers", { "new-s3" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
162 { "add-events", { "onQuery" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
163 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
164 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
166 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
167 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
168 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
169 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
171 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
172 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
173 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
174 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
175 BOOST_TEST(json_util::contains(json["servers"], "new-s3")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
176 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
177 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
178 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
179 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
180 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
181 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
182 BOOST_TEST(json_util::contains(json["events"], "onQuery")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
183 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
184 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
186 BOOST_AUTO_TEST_CASE(change_action) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
188 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
189 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
190 { "action", "accept" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
191 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
192 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
193 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
194 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
195 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
196 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
197 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
199 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
200 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
201 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
202 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
203 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
204 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
205 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
206 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
207 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
208 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
209 BOOST_TEST(json["action"].get<std::string>() == "accept"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
211 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
212 BOOST_AUTO_TEST_CASE(remove_server) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
213 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
214 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
215 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
216 { "remove-servers", { "s2" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
217 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
218 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
219 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
220 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
221 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
222 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
223 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
224 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
225 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
226 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
227 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
228 BOOST_TEST(!json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
229 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
230 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
231 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
232 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
233 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
234 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
235 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
236 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
237 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
238 BOOST_AUTO_TEST_CASE(remove_channel) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
239 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
240 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
241 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
242 { "remove-channels", { "c2" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
243 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
244 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
245 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
246 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
247 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
248 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
249 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
250 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
251 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
252 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
253 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
254 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
255 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
256 BOOST_TEST(!json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
257 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
258 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
259 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
260 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
261 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
262 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
263 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
264 BOOST_AUTO_TEST_CASE(remove_plugin) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
265 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
266 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
267 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
268 { "remove-plugins", { "p2" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
269 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
270 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
271 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
272 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
273 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
274 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
275 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
276 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
277 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
278 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
279 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
280 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
281 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
282 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
283 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
284 BOOST_TEST(!json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
285 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
286 BOOST_TEST(json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
287 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
288 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
289 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
290 BOOST_AUTO_TEST_CASE(remove_event) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
291 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
292 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
293 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
294 { "remove-events", { "onCommand" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
295 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
296 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
297 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
298 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
299 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
300 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
301 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
302 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
303 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
304 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
305 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
306 BOOST_TEST(json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
307 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
308 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
309 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
310 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
311 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
312 BOOST_TEST(!json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
313 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
314 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
315 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
316 BOOST_AUTO_TEST_CASE(remove_event_and_server) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
317 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
318 request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
319 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
320 { "remove-servers", { "s2" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
321 { "remove-events", { "onCommand" } }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
322 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
323 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
324 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
325 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
326 { "command", "rule-info" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
327 { "index", 0 } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
328 }); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
329 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
330 BOOST_TEST(!code); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
331 BOOST_TEST(json.is_object()); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
332 BOOST_TEST(json_util::contains(json["servers"], "s1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
333 BOOST_TEST(!json_util::contains(json["servers"], "s2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
334 BOOST_TEST(json_util::contains(json["channels"], "c1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
335 BOOST_TEST(json_util::contains(json["channels"], "c2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
336 BOOST_TEST(json_util::contains(json["plugins"], "p1")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
337 BOOST_TEST(json_util::contains(json["plugins"], "p2")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
338 BOOST_TEST(json_util::contains(json["events"], "onMessage")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
339 BOOST_TEST(!json_util::contains(json["events"], "onCommand")); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
340 BOOST_TEST(json["action"].get<std::string>() == "drop"); |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
341 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
342 |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
343 BOOST_AUTO_TEST_SUITE(errors) |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
344 |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
345 BOOST_AUTO_TEST_CASE(invalid_index_1) |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
346 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
347 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
348 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
349 { "index", -100 }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
350 { "action", "drop" } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
351 }); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
352 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
353 BOOST_TEST(code == rule_error::invalid_index); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
354 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
355 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
356 } |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
357 |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
358 BOOST_AUTO_TEST_CASE(invalid_index_2) |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
359 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
360 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
361 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
362 { "index", 100 }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
363 { "action", "drop" } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
364 }); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
365 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
366 BOOST_TEST(code == rule_error::invalid_index); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
367 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
368 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
369 } |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
370 |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
371 BOOST_AUTO_TEST_CASE(invalid_index_3) |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
372 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
373 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
374 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
375 { "index", "notaint" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
376 { "action", "drop" } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
377 }); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
378 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
379 BOOST_TEST(code == rule_error::invalid_index); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
380 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_index); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
381 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
382 } |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
383 |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
384 BOOST_AUTO_TEST_CASE(invalid_action) |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
385 { |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
386 const auto [json, code] = request({ |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
387 { "command", "rule-edit" }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
388 { "index", 0 }, |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
389 { "action", "unknown" } |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
390 }); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
391 |
773
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
392 BOOST_TEST(code == rule_error::invalid_action); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
393 BOOST_TEST(json["error"].get<int>() == rule_error::invalid_action); |
8c44bbcbbab9
Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents:
760
diff
changeset
|
394 BOOST_TEST(json["errorCategory"].get<std::string>() == "rule"); |
571
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
395 } |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
396 |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
397 BOOST_AUTO_TEST_SUITE_END() |
23fc81b1bd8f
Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
398 |
557
c729f06c6f27
Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
399 BOOST_AUTO_TEST_SUITE_END() |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
400 |
723
e8c4ba5ed1c6
Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents:
651
diff
changeset
|
401 } // !namespace |
e8c4ba5ed1c6
Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents:
651
diff
changeset
|
402 |
760
35c1517d705d
Tests: make consistency
David Demelier <markand@malikania.fr>
parents:
757
diff
changeset
|
403 } // !irccd |