annotate tests/src/libirccd/command-rule-edit/main.cpp @ 646:e4227aa185c2

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