Mercurial > irccd
annotate tests/rules/main.cpp @ 292:671612cbc721
Irccd: split lib into libirccd-js, #564
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 05 Oct 2016 20:32:27 +0200 |
parents | 6635b9187d71 |
children | 287e9ede5eef |
rev | line source |
---|---|
0 | 1 /* |
2 * main.cpp -- test irccd rules | |
3 * | |
4 * Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #include <gtest/gtest.h> | |
20 | |
95
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
75
diff
changeset
|
21 #include <irccd/rule.hpp> |
127
77f950caab35
Irccd: implement RuleService, #498
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
22 #include <irccd/service-rule.hpp> |
0 | 23 |
24 namespace irccd { | |
25 | |
26 /* | |
27 * Simulate the following rules configuration: | |
28 * | |
29 * # | |
30 * # On all servers, each channel #staff can't use the onCommand event, | |
31 * # everything else is allowed. | |
32 * # | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
33 * [rule] #1 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
34 * servers = "" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
35 * channels = "#staff" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
36 * events = "onCommand" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
37 * action = drop |
0 | 38 * |
39 * # | |
40 * # However, the same onCommand on #staff is allowed on server "unsafe" | |
41 * # | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
42 * [rule] #2 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
43 * servers = "unsafe" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
44 * channels = "#staff" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
45 * events = "onCommand" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
46 * action = accept |
0 | 47 * |
48 * # | |
49 * # Plugin game is only allowed on server "malikania" and "localhost", | |
50 * # channel "#games" and events "onMessage, onCommand". | |
51 * # | |
52 * # The first rule #3-1 disable the plugin game for every server, it is | |
53 * # reenabled again with the #3-2. | |
54 * # | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
55 * [rule] #3-1 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
56 * plugins = "game" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
57 * action = drop |
0 | 58 * |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
59 * [rule] #3-2 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
60 * servers = "malikania localhost" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
61 * channels = "#games" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
62 * plugins = "game" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
63 * events = "onMessage onCommand" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
64 * action = accept |
0 | 65 */ |
66 class RulesTest : public testing::Test { | |
67 protected: | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
68 RuleService m_rules; |
0 | 69 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
70 RulesTest() |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
71 { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
72 // #1 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
73 { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
74 m_rules.add({ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
75 RuleSet{ }, // Servers |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
76 RuleSet{ "#staff" }, // Channels |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
77 RuleSet{ }, // Origins |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
78 RuleSet{ }, // Plugins |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
79 RuleSet{ "onCommand" }, // Events |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
80 RuleAction::Drop |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
81 }); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
82 } |
0 | 83 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
84 // #2 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
85 { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
86 m_rules.add({ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
87 RuleSet{ "unsafe" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
88 RuleSet{ "#staff" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
89 RuleSet{ }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
90 RuleSet{ }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
91 RuleSet{ "onCommand" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
92 RuleAction::Accept |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
93 }); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
94 } |
0 | 95 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
96 // #3-1 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
97 { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
98 m_rules.add({ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
99 RuleSet{}, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
100 RuleSet{}, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
101 RuleSet{}, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
102 RuleSet{"game"}, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
103 RuleSet{}, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
104 RuleAction::Drop |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
105 }); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
106 } |
0 | 107 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
108 // #3-2 |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
109 { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
110 m_rules.add({ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
111 RuleSet{ "malikania", "localhost" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
112 RuleSet{ "#games" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
113 RuleSet{ }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
114 RuleSet{ "game" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
115 RuleSet{ "onCommand", "onMessage" }, |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
116 RuleAction::Accept |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
117 }); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
118 } |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
119 } |
0 | 120 }; |
121 | |
122 TEST_F(RulesTest, basicMatch1) | |
123 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
124 Rule m; |
0 | 125 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
126 /* |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
127 * [rule] |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
128 */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
129 ASSERT_TRUE(m.match("freenode", "#test", "a", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
130 ASSERT_TRUE(m.match("", "", "", "", "")); |
0 | 131 } |
132 | |
133 TEST_F(RulesTest, basicMatch2) | |
134 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
135 Rule m(RuleSet{"freenode"}); |
0 | 136 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
137 /* |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
138 * [rule] |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
139 * servers = "freenode" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
140 */ |
0 | 141 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
142 ASSERT_TRUE(m.match("freenode", "#test", "a", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
143 ASSERT_FALSE(m.match("malikania", "#test", "a", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
144 ASSERT_TRUE(m.match("freenode", "", "jean", "", "onMessage")); |
0 | 145 } |
146 | |
147 TEST_F(RulesTest, basicMatch3) | |
148 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
149 Rule m(RuleSet{"freenode"}, RuleSet{"#staff"}); |
0 | 150 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
151 /* |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
152 * [rule] |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
153 * servers = "freenode" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
154 * channels = "#staff" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
155 */ |
0 | 156 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
157 ASSERT_TRUE(m.match("freenode", "#staff", "a", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
158 ASSERT_FALSE(m.match("freenode", "#test", "a", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
159 ASSERT_FALSE(m.match("malikania", "#staff", "a", "", "")); |
0 | 160 } |
161 | |
162 TEST_F(RulesTest, basicMatch4) | |
163 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
164 Rule m(RuleSet{"malikania"}, RuleSet{"#staff"}, RuleSet{"a"}); |
0 | 165 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
166 /* |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
167 * [rule] |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
168 * servers = "malikania" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
169 * channels = "#staff" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
170 * plugins = "a" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
171 */ |
0 | 172 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
173 ASSERT_TRUE(m.match("malikania", "#staff", "a", "","")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
174 ASSERT_FALSE(m.match("malikania", "#staff", "b", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
175 ASSERT_FALSE(m.match("freenode", "#staff", "a", "", "")); |
0 | 176 } |
177 | |
178 TEST_F(RulesTest, complexMatch1) | |
179 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
180 Rule m(RuleSet{"malikania", "freenode"}); |
0 | 181 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
182 /* |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
183 * [rule] |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
184 * servers = "malikania freenode" |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
185 */ |
0 | 186 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
187 ASSERT_TRUE(m.match("malikania", "", "", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
188 ASSERT_TRUE(m.match("freenode", "", "", "", "")); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
189 ASSERT_FALSE(m.match("no", "", "", "", "")); |
0 | 190 } |
191 | |
192 TEST_F(RulesTest, basicSolve) | |
193 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
194 /* Allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
195 ASSERT_TRUE(m_rules.solve("malikania", "#staff", "", "a", "onMessage")); |
0 | 196 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
197 /* Allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
198 ASSERT_TRUE(m_rules.solve("freenode", "#staff", "", "b", "onTopic")); |
0 | 199 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
200 /* Not allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
201 ASSERT_FALSE(m_rules.solve("malikania", "#staff", "", "", "onCommand")); |
0 | 202 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
203 /* Not allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
204 ASSERT_FALSE(m_rules.solve("freenode", "#staff", "", "c", "onCommand")); |
0 | 205 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
206 /* Allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
207 ASSERT_TRUE(m_rules.solve("unsafe", "#staff", "", "c", "onCommand")); |
0 | 208 } |
209 | |
210 TEST_F(RulesTest, gamesSolve) | |
211 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
212 /* Allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
213 ASSERT_TRUE(m_rules.solve("malikania", "#games", "", "game", "onMessage")); |
0 | 214 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
215 /* Allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
216 ASSERT_TRUE(m_rules.solve("localhost", "#games", "", "game", "onMessage")); |
0 | 217 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
218 /* Allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
219 ASSERT_TRUE(m_rules.solve("malikania", "#games", "", "game", "onCommand")); |
0 | 220 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
221 /* Not allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
222 ASSERT_FALSE(m_rules.solve("malikania", "#games", "", "game", "onQuery")); |
0 | 223 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
224 /* Not allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
225 ASSERT_FALSE(m_rules.solve("freenode", "#no", "", "game", "onMessage")); |
0 | 226 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
227 /* Not allowed */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
228 ASSERT_FALSE(m_rules.solve("malikania", "#test", "", "game", "onMessage")); |
0 | 229 } |
230 | |
231 } // !irccd | |
232 | |
233 int main(int argc, char **argv) | |
234 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
235 testing::InitGoogleTest(&argc, argv); |
0 | 236 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
127
diff
changeset
|
237 return RUN_ALL_TESTS(); |
0 | 238 } |