Mercurial > irccd
annotate tests/cmd-rule-edit/main.cpp @ 453:acb2d4990249
Irccdctl: implement rule-edit
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 20 Jul 2017 22:55:02 +0200 |
parents | |
children | 7e273b7f4f92 |
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 using namespace irccd::command; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 class RuleEditCommandTest : public CommandTester { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 protected: |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 nlohmann::json m_result; |
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 /* |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 * 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
|
32 * the JSON array. |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 */ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 inline bool contains(const nlohmann::json &array, const std::string &str) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 for (const auto &v : array) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 if (v.is_string() && v == str) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 return true; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 return false; |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 public: |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 RuleEditCommandTest() |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 : CommandTester(std::make_unique<RuleEditCommand>()) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 m_irccd.commands().add(std::make_unique<RuleInfoCommand>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 m_irccd.rules().add(Rule( |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 { "s1", "s2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 { "c1", "c2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 { "o1", "o2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 { "p1", "p2" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 { "onMessage", "onCommand" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 RuleAction::Drop |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 )); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 m_irccdctl.client().onMessage.connect([&] (auto result) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 m_result = result; |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 TEST_F(RuleEditCommandTest, addServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 { "add-servers", { "new-s3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 ASSERT_TRUE(contains(m_result["servers"], "new-s3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 TEST_F(RuleEditCommandTest, addChannel) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 { "add-channels", { "new-c3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 ASSERT_TRUE(contains(m_result["channels"], "new-c3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 TEST_F(RuleEditCommandTest, addPlugin) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 { "add-plugins", { "new-p3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
166 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
174 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
178 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
179 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
180 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
181 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 ASSERT_TRUE(contains(m_result["plugins"], "new-p3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
184 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
186 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
191 TEST_F(RuleEditCommandTest, addEvent) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
192 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
193 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
194 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
195 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
196 { "add-events", { "onQuery" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
197 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
200 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
201 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
204 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
205 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
206 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
207 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
208 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
209 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
213 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
214 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
217 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
218 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
219 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
220 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
221 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
222 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
223 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
224 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
225 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
226 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
227 ASSERT_TRUE(contains(m_result["events"], "onQuery")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
228 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
229 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
230 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
234 TEST_F(RuleEditCommandTest, addEventAndServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
235 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
236 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
237 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
238 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
239 { "add-servers", { "new-s3" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
240 { "add-events", { "onQuery" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
241 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
244 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
245 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
248 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
249 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
250 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
251 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
252 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
253 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
254 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
257 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
258 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
261 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
262 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
263 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
264 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
265 ASSERT_TRUE(contains(m_result["servers"], "new-s3")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
266 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
267 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
268 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
269 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
270 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
271 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
272 ASSERT_TRUE(contains(m_result["events"], "onQuery")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
273 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
274 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
275 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
279 TEST_F(RuleEditCommandTest, changeAction) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
280 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
281 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
282 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
283 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
284 { "action", "accept" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
285 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
288 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
289 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
292 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
293 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
294 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
295 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
296 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
297 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
298 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
301 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
302 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
305 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
306 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
307 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
308 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
309 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
310 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
311 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
312 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
313 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
314 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
315 ASSERT_EQ(m_result["action"].get<std::string>(), "accept"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
316 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
317 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
321 TEST_F(RuleEditCommandTest, removeServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
322 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
323 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
324 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
325 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
326 { "remove-servers", { "s2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
327 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
330 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
331 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
334 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
335 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
336 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
337 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
338 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
339 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
340 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
343 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
344 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
347 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
348 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
349 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
350 ASSERT_FALSE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
351 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
352 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
353 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
354 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
355 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
356 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
357 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
358 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
359 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
363 TEST_F(RuleEditCommandTest, removeChannel) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
364 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
365 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
366 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
367 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
368 { "remove-channels", { "c2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
369 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
372 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
373 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
376 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
377 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
378 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
379 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
380 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
381 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
382 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
385 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
386 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
389 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
390 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
391 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
392 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
393 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
394 ASSERT_FALSE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
395 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
396 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
397 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
398 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
399 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
400 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
401 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
405 TEST_F(RuleEditCommandTest, removePlugin) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
406 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
407 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
408 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
409 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
410 { "remove-plugins", { "p2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
411 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
414 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
415 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
418 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
419 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
420 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
421 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
422 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
423 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
424 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
427 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
428 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
431 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
432 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
433 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
434 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
435 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
436 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
437 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
438 ASSERT_FALSE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
439 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
440 ASSERT_TRUE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
441 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
442 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
443 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
447 TEST_F(RuleEditCommandTest, removeEvent) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
448 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
449 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
450 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
451 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
452 { "remove-events", { "onCommand" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
453 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
456 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
457 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
460 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
461 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
462 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
463 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
464 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
465 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
466 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
469 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
470 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
473 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
474 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
475 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
476 ASSERT_TRUE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
477 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
478 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
479 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
480 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
481 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
482 ASSERT_FALSE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
483 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
484 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
485 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
489 TEST_F(RuleEditCommandTest, removeEventAndServer) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
490 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
491 try { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
492 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
493 { "command", "rule-edit" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
494 { "remove-servers", { "s2" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
495 { "remove-events", { "onCommand" } }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
496 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
499 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
500 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
503 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
504 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
505 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
506 m_result = nullptr; |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
507 m_irccdctl.client().request({ |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
508 { "command", "rule-info" }, |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
509 { "index", 0 } |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
512 poll([&] () { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
513 return m_result.is_object(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
516 ASSERT_TRUE(m_result.is_object()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
517 ASSERT_TRUE(m_result["status"].get<bool>()); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
518 ASSERT_TRUE(contains(m_result["servers"], "s1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
519 ASSERT_FALSE(contains(m_result["servers"], "s2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
520 ASSERT_TRUE(contains(m_result["channels"], "c1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
521 ASSERT_TRUE(contains(m_result["channels"], "c2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
522 ASSERT_TRUE(contains(m_result["plugins"], "p1")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
523 ASSERT_TRUE(contains(m_result["plugins"], "p2")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
524 ASSERT_TRUE(contains(m_result["events"], "onMessage")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
525 ASSERT_FALSE(contains(m_result["events"], "onCommand")); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
526 ASSERT_EQ(m_result["action"].get<std::string>(), "drop"); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
527 } catch (const std::exception &ex) { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
528 FAIL() << ex.what(); |
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 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
532 int main(int argc, char **argv) |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
533 { |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
534 testing::InitGoogleTest(&argc, argv); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
535 |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
536 return RUN_ALL_TESTS(); |
acb2d4990249
Irccdctl: implement rule-edit
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
537 } |