Mercurial > irccd
annotate tests/cmd-rule-edit/main.cpp @ 488:7e273b7f4f92
Irccd: new coding style, closes #576
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 26 Sep 2017 17:18:47 +0200 |
parents | acb2d4990249 |
children | c729f06c6f27 |
rev | line source |
---|---|
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * main.cpp -- test rule-info remote command |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 * Copyright (c) 2013-2017 David Demelier <markand@malikania.fr> |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #include <command.hpp> |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 #include <command-tester.hpp> |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 #include <service.hpp> |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 using namespace irccd; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 class RuleEditCommandTest : public CommandTester { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 protected: |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 nlohmann::json m_result; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 /* |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 * Rule sets are unordered so use this function to search a string in |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 * the JSON array. |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 */ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 inline bool contains(const nlohmann::json &array, const std::string &str) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 for (const auto &v : array) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 if (v.is_string() && v == str) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 return true; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 return false; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 public: |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 RuleEditCommandTest() |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
453
diff
changeset
|
44 : CommandTester(std::make_unique<rule_edit_command>()) |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 { |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
453
diff
changeset
|
46 m_irccd.commands().add(std::make_unique<rule_info_command>()); |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
453
diff
changeset
|
47 m_irccd.rules().add(rule( |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 { "s1", "s2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 { "c1", "c2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 { "o1", "o2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 { "p1", "p2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 { "onMessage", "onCommand" }, |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
453
diff
changeset
|
53 rule::action_type::drop |
453
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 )); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 m_irccdctl.client().onMessage.connect([&] (auto result) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 m_result = result; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 }; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 TEST_F(RuleEditCommandTest, addServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 { "add-servers", { "new-s3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 ASSERT_TRUE(contains(m_result["servers"], "new-s3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 TEST_F(RuleEditCommandTest, addChannel) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 { "add-channels", { "new-c3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 ASSERT_TRUE(contains(m_result["channels"], "new-c3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 TEST_F(RuleEditCommandTest, addPlugin) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 { "add-plugins", { "new-p3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
166 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
172 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
173 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
174 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
178 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
179 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
180 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
181 ASSERT_TRUE(contains(m_result["plugins"], "new-p3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
184 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
186 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
188 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
189 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
190 TEST_F(RuleEditCommandTest, addEvent) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
191 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
192 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
193 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
194 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
195 { "add-events", { "onQuery" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
196 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
197 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
199 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
200 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
201 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
202 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
203 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
204 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
205 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
206 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
207 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
208 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
209 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
211 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
212 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
213 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
214 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
215 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
216 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
217 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
218 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
219 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
220 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
221 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
222 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
223 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
224 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
225 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
226 ASSERT_TRUE(contains(m_result["events"], "onQuery")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
227 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
228 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
229 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
230 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
231 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
232 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
233 TEST_F(RuleEditCommandTest, addEventAndServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
234 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
235 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
236 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
237 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
238 { "add-servers", { "new-s3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
239 { "add-events", { "onQuery" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
240 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
241 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
242 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
243 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
244 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
245 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
246 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
247 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
248 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
249 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
250 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
251 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
252 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
253 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
254 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
255 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
256 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
257 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
258 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
259 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
260 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
261 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
262 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
263 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
264 ASSERT_TRUE(contains(m_result["servers"], "new-s3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
265 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
266 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
267 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
268 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
269 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
270 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
271 ASSERT_TRUE(contains(m_result["events"], "onQuery")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
272 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
273 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
274 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
275 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
276 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
277 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
278 TEST_F(RuleEditCommandTest, changeAction) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
279 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
280 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
281 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
282 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
283 { "action", "accept" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
284 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
285 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
286 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
287 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
288 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
289 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
290 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
291 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
292 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
293 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
294 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
295 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
296 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
297 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
298 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
299 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
300 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
301 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
302 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
303 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
304 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
305 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
306 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
307 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
308 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
309 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
310 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
311 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
312 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
313 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
314 ASSERT_EQ(m_result["action"].get<std::string>(), "accept"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
315 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
316 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
317 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
318 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
319 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
320 TEST_F(RuleEditCommandTest, removeServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
321 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
322 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
323 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
324 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
325 { "remove-servers", { "s2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
326 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
327 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
328 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
329 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
330 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
331 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
332 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
333 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
334 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
335 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
336 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
337 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
338 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
339 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
340 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
341 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
342 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
343 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
344 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
345 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
346 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
347 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
348 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
349 ASSERT_FALSE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
350 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
351 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
352 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
353 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
354 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
355 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
356 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
357 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
358 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
359 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
360 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
361 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
362 TEST_F(RuleEditCommandTest, removeChannel) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
363 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
364 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
365 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
366 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
367 { "remove-channels", { "c2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
368 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
369 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
370 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
371 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
372 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
373 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
374 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
375 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
376 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
377 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
378 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
379 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
380 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
381 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
382 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
383 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
384 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
385 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
386 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
387 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
388 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
389 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
390 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
391 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
392 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
393 ASSERT_FALSE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
394 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
395 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
396 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
397 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
398 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
399 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
400 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
401 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
402 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
403 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
404 TEST_F(RuleEditCommandTest, removePlugin) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
405 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
406 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
407 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
408 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
409 { "remove-plugins", { "p2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
410 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
411 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
412 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
413 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
414 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
415 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
416 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
417 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
418 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
419 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
420 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
421 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
422 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
423 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
424 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
425 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
426 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
427 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
428 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
429 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
430 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
431 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
432 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
433 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
434 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
435 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
436 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
437 ASSERT_FALSE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
438 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
439 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
440 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
441 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
442 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
443 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
444 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
445 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
446 TEST_F(RuleEditCommandTest, removeEvent) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
447 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
448 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
449 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
450 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
451 { "remove-events", { "onCommand" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
452 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
453 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
454 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
455 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
456 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
457 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
458 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
459 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
460 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
461 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
462 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
463 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
464 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
465 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
466 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
467 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
468 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
469 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
470 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
471 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
472 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
473 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
474 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
475 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
476 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
477 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
478 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
479 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
480 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
481 ASSERT_FALSE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
482 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
483 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
484 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
485 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
486 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
487 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
488 TEST_F(RuleEditCommandTest, removeEventAndServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
489 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
490 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
491 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
492 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
493 { "remove-servers", { "s2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
494 { "remove-events", { "onCommand" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
495 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
496 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
497 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
498 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
499 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
500 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
501 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
502 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
503 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
504 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
505 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
506 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
507 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
508 { "index", 0 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
509 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
510 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
511 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
512 return m_result.is_object(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
513 }); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
514 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
515 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
516 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
517 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
518 ASSERT_FALSE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
519 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
520 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
521 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
522 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
523 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
524 ASSERT_FALSE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
525 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
526 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
527 FAIL() << ex.what(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
528 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
529 } |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
530 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
531 int main(int argc, char **argv) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
532 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
533 testing::InitGoogleTest(&argc, argv); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
534 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
535 return RUN_ALL_TESTS(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
536 } |