annotate tests/src/libirccd/command-rule-edit/main.cpp @ 611:9fbd1700435b

Tests: reoganize hierarchy
author David Demelier <markand@malikania.fr>
date Fri, 15 Dec 2017 15:37:58 +0100
parents tests/src/rule-edit-command/main.cpp@22b3cd6f991f
children f69b1faf812f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 *
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2013-2017 David Demelier <markand@malikania.fr>
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
596
35832b7f4f9d Irccd: move files to daemon folder, closes #731
David Demelier <markand@malikania.fr>
parents: 595
diff changeset
24 #include <irccd/daemon/command.hpp>
35832b7f4f9d Irccd: move files to daemon folder, closes #731
David Demelier <markand@malikania.fr>
parents: 595
diff changeset
25 #include <irccd/daemon/rule_service.hpp>
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
604
9d4da384f5d6 Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents: 596
diff changeset
27 #include <irccd/test/command_test.hpp>
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
29 namespace irccd {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
30
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
31 namespace {
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
595
029667d16d12 Tests: add multiple commands in command_test
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
33 class rule_edit_test : public command_test<rule_edit_command, rule_info_command> {
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 public:
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
35 rule_edit_test()
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
37 daemon_->rules().add(rule(
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 { "s1", "s2" },
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 { "c1", "c2" },
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 { "o1", "o2" },
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 { "p1", "p2" },
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 { "onMessage", "onCommand" },
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 453
diff changeset
43 rule::action_type::drop
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 ));
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 };
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
48 } // !namespace
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
49
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
50 BOOST_FIXTURE_TEST_SUITE(rule_edit_test_suite, rule_edit_test)
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
51
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
52 BOOST_AUTO_TEST_CASE(add_server)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
54 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
56 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
57 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
58 { "add-servers", { "new-s3" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
59 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
60 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
61 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
62 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
63 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
64
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
65 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
66 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
67 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
68
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
69 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
71 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
72 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
73 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
74 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
75 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
76 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
77 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
78 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
80 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
81 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
82 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
83
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
84 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
85 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
86 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
87 BOOST_TEST(json_util::contains(result["servers"], "new-s3"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
88 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
89 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
90 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
91 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
92 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
93 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
94 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
96
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
97 BOOST_AUTO_TEST_CASE(add_channel)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
99 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
100
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
101 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
102 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
103 { "add-channels", { "new-c3" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
104 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
105 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
106 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
107 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
108 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
109
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
110 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
111 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
112 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
113
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
114 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
115
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
116 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
117 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
118 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
119 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
120 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
121 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
122 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
123 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
124
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
125 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
126 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
127 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
128
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
129 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
130 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
131 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
132 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
133 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
134 BOOST_TEST(json_util::contains(result["channels"], "new-c3"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
135 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
136 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
137 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
138 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
139 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
141
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
142 BOOST_AUTO_TEST_CASE(add_plugin)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
144 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
145
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
146 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
147 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
148 { "add-plugins", { "new-p3" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
149 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
150 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
151 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
152 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
153 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
154
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
155 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
156 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
157 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
158
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
159 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
160
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
161 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
162 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
163 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
164 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
165 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
166 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
167 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
168 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
169
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
170 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
171 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
172 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
173
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
174 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
175 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
176 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
177 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
178 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
179 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
180 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
181 BOOST_TEST(json_util::contains(result["plugins"], "new-p3"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
182 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
183 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
184 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
186
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
187 BOOST_AUTO_TEST_CASE(add_event)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
189 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
190
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
191 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
192 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
193 { "add-events", { "onQuery" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
194 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
195 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
196 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
197 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
198 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
199
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
200 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
201 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
202 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
203
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
204 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
205
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
206 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
207 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
208 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
209 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
210 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
211 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
212 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
213 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
214
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
215 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
216 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
217 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
218
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
219 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
220 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
221 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
222 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
223 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
224 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
225 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
226 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
227 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
228 BOOST_TEST(json_util::contains(result["events"], "onQuery"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
229 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
231
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
232 BOOST_AUTO_TEST_CASE(add_event_and_server)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
233 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
234 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
235
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
236 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
237 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
238 { "add-servers", { "new-s3" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
239 { "add-events", { "onQuery" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
240 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
241 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
242 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
243 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
244 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
245
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
246 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
247 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
248 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
249
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
250 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
251
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
252 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
253 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
254 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
255 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
256 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
257 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
258 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
259 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
260
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
261 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
262 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
263 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
264
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
265 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
266 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
267 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
268 BOOST_TEST(json_util::contains(result["servers"], "new-s3"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
269 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
270 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
271 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
272 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
273 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
274 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
275 BOOST_TEST(json_util::contains(result["events"], "onQuery"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
276 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
277 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
278
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
279 BOOST_AUTO_TEST_CASE(change_action)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
280 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
281 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
282
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
283 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
284 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
285 { "action", "accept" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
286 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
287 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
288 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
289 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
290 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
291
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
292 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
293 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
294 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
295
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
296 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
297
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
298 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
299 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
300 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
301 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
302 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
303 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
304 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
305 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
306
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
307 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
308 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
309 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
310
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
311 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
312 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
313 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
314 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
315 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
316 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
317 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
318 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
319 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
320 BOOST_TEST(result["action"].get<std::string>() == "accept");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
321 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
322
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
323 BOOST_AUTO_TEST_CASE(remove_server)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
324 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
325 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
326
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
327 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
328 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
329 { "remove-servers", { "s2" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
330 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
331 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
332 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
333 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
334 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
335
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
336 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
337 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
338 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
339
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
340 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
341
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
342 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
343 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
344 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
345 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
346 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
347 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
348 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
349 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
350
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
351 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
352 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
353 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
354
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
355 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
356 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
357 BOOST_TEST(!json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
358 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
359 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
360 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
361 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
362 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
363 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
364 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
365 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
366
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
367 BOOST_AUTO_TEST_CASE(remove_channel)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
368 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
369 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
370
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
371 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
372 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
373 { "remove-channels", { "c2" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
374 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
375 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
376 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
377 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
378 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
379
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
380 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
381 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
382 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
383
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
384 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
385
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
386 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
387 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
388 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
389 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
390 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
391 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
392 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
393 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
394
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
395 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
396 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
397 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
398
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
399 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
400 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
401 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
402 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
403 BOOST_TEST(!json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
404 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
405 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
406 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
407 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
408 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
409 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
410
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
411 BOOST_AUTO_TEST_CASE(remove_plugin)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
412 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
413 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
414
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
415 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
416 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
417 { "remove-plugins", { "p2" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
418 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
419 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
420 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
421 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
422 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
423
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
424 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
425 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
426 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
427
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
428 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
429
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
430 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
431 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
432 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
433 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
434 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
435 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
436 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
437 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
438
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
439 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
440 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
441 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
442
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
443 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
444 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
445 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
446 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
447 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
448 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
449 BOOST_TEST(!json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
450 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
451 BOOST_TEST(json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
452 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
453 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
454
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
455 BOOST_AUTO_TEST_CASE(remove_event)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
456 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
457 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
458
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
459 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
460 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
461 { "remove-events", { "onCommand" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
462 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
463 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
464 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
465 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
466 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
467
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
468 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
469 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
470 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
471
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
472 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
473
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
474 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
475 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
476 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
477 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
478 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
479 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
480 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
481 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
482
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
483 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
484 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
485 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
486
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
487 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
488 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
489 BOOST_TEST(json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
490 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
491 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
492 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
493 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
494 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
495 BOOST_TEST(!json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
496 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
497 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
498
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
499 BOOST_AUTO_TEST_CASE(remove_event_and_server)
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
500 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
501 nlohmann::json result;
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
502
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
503 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
504 { "command", "rule-edit" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
505 { "remove-servers", { "s2" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
506 { "remove-events", { "onCommand" } },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
507 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
508 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
509 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
510 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
511 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
512
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
513 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
514 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
515 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
516
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
517 BOOST_TEST(result.is_object());
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
518
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
519 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
520 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
521 { "command", "rule-info" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
522 { "index", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
523 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
524 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
525 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
526 });
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
527
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
528 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
529 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
530 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
531
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
532 BOOST_TEST(result.is_object());
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
533 BOOST_TEST(json_util::contains(result["servers"], "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
534 BOOST_TEST(!json_util::contains(result["servers"], "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
535 BOOST_TEST(json_util::contains(result["channels"], "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
536 BOOST_TEST(json_util::contains(result["channels"], "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
537 BOOST_TEST(json_util::contains(result["plugins"], "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
538 BOOST_TEST(json_util::contains(result["plugins"], "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
539 BOOST_TEST(json_util::contains(result["events"], "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
540 BOOST_TEST(!json_util::contains(result["events"], "onCommand"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
541 BOOST_TEST(result["action"].get<std::string>() == "drop");
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
542 }
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
543
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
544 BOOST_AUTO_TEST_SUITE(errors)
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
545
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
546 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
547 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
548 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
549 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
550
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
551 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
552 { "command", "rule-edit" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
553 { "index", -100 },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
554 { "action", "drop" }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
555 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
556 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
557 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
558 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
559 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
560
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
561 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
562 return result;
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
563 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
564
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
565 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
566 BOOST_TEST(message["error"].template get<int>() == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
567 BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule");
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
568 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
569
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
570 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
571 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
572 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
573 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
574
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
575 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
576 { "command", "rule-edit" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
577 { "index", 100 },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
578 { "action", "drop" }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
579 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
580 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
581 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
582 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
583 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
584
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
585 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
586 return result;
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
587 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
588
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
589 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
590 BOOST_TEST(message["error"].template get<int>() == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
591 BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule");
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
592 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
593
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
594 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
595 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
596 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
597 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
598
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
599 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
600 { "command", "rule-edit" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
601 { "index", "notaint" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
602 { "action", "drop" }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
603 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
604 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
605 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
606 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
607 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
608
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
609 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
610 return result;
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
611 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
612
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
613 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
614 BOOST_TEST(message["error"].template get<int>() == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
615 BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule");
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
616 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
617
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
618 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
619 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
620 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
621 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
622
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
623 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
624 { "command", "rule-edit" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
625 { "index", 0 },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
626 { "action", "unknown" }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
627 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
628 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
629 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
630 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
631 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
632
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
633 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
634 return result;
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
635 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
636
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
637 BOOST_TEST(result == rule_error::invalid_action);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
638 BOOST_TEST(message["error"].template get<int>() == rule_error::invalid_action);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
639 BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule");
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
640 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
641
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
642 BOOST_AUTO_TEST_SUITE_END()
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
643
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
644 BOOST_AUTO_TEST_SUITE_END()
453
acb2d4990249 Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff changeset
645
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
646 } // !irccd