annotate tests/src/libirccd/command-rule-move/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 95ac3ace1610
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test rule-move remote command
1fdedd2977d2 Irccdctl: implement rule-move
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>
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
1fdedd2977d2 Irccdctl: implement rule-move
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-move"
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>
451
1fdedd2977d2 Irccdctl: implement rule-move
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_list_command.hpp>
1fa9e5222e87 Irccd: move commands to command folder
David Demelier <markand@malikania.fr>
parents: 630
diff changeset
25 #include <irccd/daemon/command/rule_move_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>
451
1fdedd2977d2 Irccdctl: implement rule-move
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>
451
1fdedd2977d2 Irccdctl: implement rule-move
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 {
451
1fdedd2977d2 Irccdctl: implement rule-move
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_move_test : public command_test<rule_move_command, rule_list_command> {
451
1fdedd2977d2 Irccdctl: implement rule-move
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_move_test()
451
1fdedd2977d2 Irccdctl: implement rule-move
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(
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 { "s0" },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 { "c0" },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 { "o0" },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 { "p0" },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 { "onMessage" },
626
c6000e13ab02 Irccd: prefix get_ (rule)
David Demelier <markand@malikania.fr>
parents: 624
diff changeset
44 rule::action::drop
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 ));
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
46 daemon_->rules().add(rule(
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 { "s1", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 { "c1", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 { "o1", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 { "p1", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 { "onMessage", },
626
c6000e13ab02 Irccd: prefix get_ (rule)
David Demelier <markand@malikania.fr>
parents: 624
diff changeset
52 rule::action::accept
451
1fdedd2977d2 Irccdctl: implement rule-move
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 daemon_->rules().add(rule(
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 { "s2", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 { "c2", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 { "o2", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 { "p2", },
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 { "onMessage", },
626
c6000e13ab02 Irccd: prefix get_ (rule)
David Demelier <markand@malikania.fr>
parents: 624
diff changeset
60 rule::action::accept
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 ));
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 };
1fdedd2977d2 Irccdctl: implement rule-move
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 } // !namespace
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
66
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
67 BOOST_FIXTURE_TEST_SUITE(rule_move_test_suite, rule_move_test)
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_AUTO_TEST_CASE(backward)
451
1fdedd2977d2 Irccdctl: implement rule-move
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 nlohmann::json result;
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
557
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-move" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
75 { "from", 2 },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
76 { "to", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
77 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
78 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
79 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
80 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
82 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
83 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
84 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
86 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
87
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
88 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
89 ctl_->send({{ "command", "rule-list" }});
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
90 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
91 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
92 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
94 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
95 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
96 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
97
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
98 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
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 // Rule 2.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
101 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
102 auto servers = result["list"][0]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
103 auto channels = result["list"][0]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
104 auto plugins = result["list"][0]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
105 auto events = result["list"][0]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
106
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
107 BOOST_TEST(json_util::contains(servers, "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
108 BOOST_TEST(json_util::contains(channels, "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
109 BOOST_TEST(json_util::contains(plugins, "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
110 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
111 BOOST_TEST(result["list"][0]["action"].get<std::string>() == "accept");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
112 }
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
113
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
114 // Rule 0.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
115 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
116 auto servers = result["list"][1]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
117 auto channels = result["list"][1]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
118 auto plugins = result["list"][1]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
119 auto events = result["list"][1]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
120
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
121 BOOST_TEST(json_util::contains(servers, "s0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
122 BOOST_TEST(json_util::contains(channels, "c0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
123 BOOST_TEST(json_util::contains(plugins, "p0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
124 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
125 BOOST_TEST(result["list"][1]["action"].get<std::string>() == "drop");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
126 }
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
127
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
128 // Rule 1.
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 auto servers = result["list"][2]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
131 auto channels = result["list"][2]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
132 auto plugins = result["list"][2]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
133 auto events = result["list"][2]["events"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
134
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
135 BOOST_TEST(json_util::contains(servers, "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
136 BOOST_TEST(json_util::contains(channels, "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
137 BOOST_TEST(json_util::contains(plugins, "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
138 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
139 BOOST_TEST(result["list"][2]["action"].get<std::string>() == "accept");
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 }
1fdedd2977d2 Irccdctl: implement rule-move
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(upward)
451
1fdedd2977d2 Irccdctl: implement rule-move
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;
451
1fdedd2977d2 Irccdctl: implement rule-move
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-move" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
149 { "from", 0 },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
150 { "to", 2 }
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 });
451
1fdedd2977d2 Irccdctl: implement rule-move
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 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
159
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
160 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
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({{ "command", "rule-list" }});
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
164 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
165 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
166 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
167
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
168 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
169 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
170 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
171
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
172 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
173
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
174 // Rule 1.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
175 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
176 auto servers = result["list"][0]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
177 auto channels = result["list"][0]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
178 auto plugins = result["list"][0]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
179 auto events = result["list"][0]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
180
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
181 BOOST_TEST(json_util::contains(servers, "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
182 BOOST_TEST(json_util::contains(channels, "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
183 BOOST_TEST(json_util::contains(plugins, "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
184 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
185 BOOST_TEST(result["list"][0]["action"].get<std::string>() == "accept");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
186 }
451
1fdedd2977d2 Irccdctl: implement rule-move
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 // Rule 2.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
189 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
190 auto servers = result["list"][1]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
191 auto channels = result["list"][1]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
192 auto plugins = result["list"][1]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
193 auto events = result["list"][1]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
194
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
195 BOOST_TEST(json_util::contains(servers, "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
196 BOOST_TEST(json_util::contains(channels, "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
197 BOOST_TEST(json_util::contains(plugins, "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
198 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
199 BOOST_TEST(result["list"][1]["action"].get<std::string>() == "accept");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
200 }
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
201
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
202 // Rule 0.
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 auto servers = result["list"][2]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
205 auto channels = result["list"][2]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
206 auto plugins = result["list"][2]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
207 auto events = result["list"][2]["events"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
208
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
209 BOOST_TEST(json_util::contains(servers, "s0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
210 BOOST_TEST(json_util::contains(channels, "c0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
211 BOOST_TEST(json_util::contains(plugins, "p0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
212 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
213 BOOST_TEST(result["list"][2]["action"].get<std::string>() == "drop");
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
216
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
217 BOOST_AUTO_TEST_CASE(same)
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 {
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
219 nlohmann::json result;
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
220
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
221 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
222 { "command", "rule-move" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
223 { "from", 1 },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
224 { "to", 1 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
225 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
226 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
227 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
228 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
229
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
230 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
231 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
232 });
451
1fdedd2977d2 Irccdctl: implement rule-move
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 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
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 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
237 ctl_->send({{ "command", "rule-list" }});
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
238 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
239 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
240 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
241
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
242 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
243 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
244 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
245
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
246 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
247
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
248 // Rule 0.
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 auto servers = result["list"][0]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
251 auto channels = result["list"][0]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
252 auto plugins = result["list"][0]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
253 auto events = result["list"][0]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
254
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
255 BOOST_TEST(json_util::contains(servers, "s0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
256 BOOST_TEST(json_util::contains(channels, "c0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
257 BOOST_TEST(json_util::contains(plugins, "p0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
258 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
259 BOOST_TEST(result["list"][0]["action"].get<std::string>() == "drop");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
260 }
451
1fdedd2977d2 Irccdctl: implement rule-move
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 // Rule 1.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
263 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
264 auto servers = result["list"][1]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
265 auto channels = result["list"][1]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
266 auto plugins = result["list"][1]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
267 auto events = result["list"][1]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
268
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
269 BOOST_TEST(json_util::contains(servers, "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
270 BOOST_TEST(json_util::contains(channels, "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
271 BOOST_TEST(json_util::contains(plugins, "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
272 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
273 BOOST_TEST(result["list"][1]["action"].get<std::string>() == "accept");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
274 }
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
275
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
276 // Rule 2.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
277 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
278 auto servers = result["list"][2]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
279 auto channels = result["list"][2]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
280 auto plugins = result["list"][2]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
281 auto events = result["list"][2]["events"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
282
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
283 BOOST_TEST(json_util::contains(servers, "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
284 BOOST_TEST(json_util::contains(channels, "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
285 BOOST_TEST(json_util::contains(plugins, "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
286 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
287 BOOST_TEST(result["list"][2]["action"].get<std::string>() == "accept");
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
288 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
289 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
290
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
291 BOOST_AUTO_TEST_CASE(beyond)
451
1fdedd2977d2 Irccdctl: implement rule-move
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 nlohmann::json result;
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
294
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
295 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
296 { "command", "rule-move" },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
297 { "from", 0 },
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
298 { "to", 123 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
299 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
300 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
301 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
302 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
303
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
304 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
305 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
306 });
451
1fdedd2977d2 Irccdctl: implement rule-move
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 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
309
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
310 result = nullptr;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
311 ctl_->send({{ "command", "rule-list" }});
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
312 ctl_->recv([&] (auto, auto msg) {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
313 result = msg;
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
314 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
315
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
316 wait_for([&] () {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
317 return result.is_object();
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
318 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
319
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
320 BOOST_TEST(result.is_object());
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
321
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
322 // Rule 1.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
323 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
324 auto servers = result["list"][0]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
325 auto channels = result["list"][0]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
326 auto plugins = result["list"][0]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
327 auto events = result["list"][0]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
328
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
329 BOOST_TEST(json_util::contains(servers, "s1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
330 BOOST_TEST(json_util::contains(channels, "c1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
331 BOOST_TEST(json_util::contains(plugins, "p1"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
332 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
333 BOOST_TEST(result["list"][0]["action"].get<std::string>() == "accept");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
334 }
451
1fdedd2977d2 Irccdctl: implement rule-move
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 // Rule 2.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
337 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
338 auto servers = result["list"][1]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
339 auto channels = result["list"][1]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
340 auto plugins = result["list"][1]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
341 auto events = result["list"][1]["events"];
451
1fdedd2977d2 Irccdctl: implement rule-move
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 BOOST_TEST(json_util::contains(servers, "s2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
344 BOOST_TEST(json_util::contains(channels, "c2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
345 BOOST_TEST(json_util::contains(plugins, "p2"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
346 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
347 BOOST_TEST(result["list"][1]["action"].get<std::string>() == "accept");
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
348 }
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
349
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
350 // Rule 0.
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
351 {
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
352 auto servers = result["list"][2]["servers"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
353 auto channels = result["list"][2]["channels"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
354 auto plugins = result["list"][2]["plugins"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
355 auto events = result["list"][2]["events"];
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
356
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
357 BOOST_TEST(json_util::contains(servers, "s0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
358 BOOST_TEST(json_util::contains(channels, "c0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
359 BOOST_TEST(json_util::contains(plugins, "p0"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
360 BOOST_TEST(json_util::contains(events, "onMessage"));
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
361 BOOST_TEST(result["list"][2]["action"].get<std::string>() == "drop");
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
362 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
363 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
364
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
365 BOOST_AUTO_TEST_SUITE(errors)
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
366
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
367 BOOST_AUTO_TEST_CASE(invalid_index_1_from)
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
368 {
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
369 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
370 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
371
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
372 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
373 { "command", "rule-move" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
374 { "from", -100 },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
375 { "to", 0 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
376 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
377 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
378 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
379 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
380 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
381
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
382 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
383 return result;
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
384 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
385
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
386 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
387 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
388 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
389 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
390
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
391 BOOST_AUTO_TEST_CASE(invalid_index_1_to)
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
392 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
393 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
394 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
395
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
396 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
397 { "command", "rule-move" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
398 { "from", 0 },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
399 { "to", -100 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
400 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
401 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
402 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
403 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
404 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
405
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
406 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
407 return result;
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
408 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
409
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
410 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
411 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
412 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
413 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
414
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
415 BOOST_AUTO_TEST_CASE(invalid_index_2_from)
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
416 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
417 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
418 nlohmann::json message;
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
419
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
420 ctl_->send({
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
421 { "command", "rule-move" },
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
422 { "from", 100 },
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
423 { "to", 0 }
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
424 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
425 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
426 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
427 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
428 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
429
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
430 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
431 return result;
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
432 });
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
433
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
434 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
435 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
436 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
437 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
438
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
439 BOOST_AUTO_TEST_CASE(invalid_index_3_from)
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
440 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
441 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
442 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
443
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
444 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
445 { "command", "rule-move" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
446 { "from", "notaint" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
447 { "to", 0 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
448 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
449 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
450 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
451 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
452 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
453
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
454 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
455 return result;
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
456 });
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
457
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
458 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
459 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
460 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
461 }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
462
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
463 BOOST_AUTO_TEST_CASE(invalid_index_3_to)
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
464 {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
465 boost::system::error_code result;
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
466 nlohmann::json message;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
467
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
468 ctl_->send({
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
469 { "command", "rule-move" },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
470 { "from", 0 },
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
471 { "to", "notaint" }
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
472 });
609
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
473 ctl_->recv([&] (auto rresult, auto rmessage) {
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
474 result = rresult;
168c0e191eea Irccd: add more error properties, closes #754
David Demelier <markand@malikania.fr>
parents: 604
diff changeset
475 message = rmessage;
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
476 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
477
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
478 wait_for([&] {
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
479 return result;
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
480 });
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
481
610
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
482 BOOST_TEST(result == rule_error::invalid_index);
22b3cd6f991f Tests: sed BOOST_ASSERT/BOOST_TEST
David Demelier <markand@malikania.fr>
parents: 609
diff changeset
483 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
484 BOOST_TEST(message["errorCategory"].template get<std::string>() == "rule");
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
485 }
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
486
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
487 BOOST_AUTO_TEST_SUITE_END()
451
1fdedd2977d2 Irccdctl: implement rule-move
David Demelier <markand@malikania.fr>
parents:
diff changeset
488
571
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
489 BOOST_AUTO_TEST_SUITE_END()
23fc81b1bd8f Tests: add error code support in cmd-rule-* tests
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
490
557
c729f06c6f27 Tests: convert cmd-rule-*, #593
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
491 } // !irccd