Mercurial > irccd
comparison tests/rules/main.cpp @ 488:7e273b7f4f92
Irccd: new coding style, closes #576
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 26 Sep 2017 17:18:47 +0200 |
parents | 108e63b449eb |
children | 349fe29d86d5 |
comparison
equal
deleted
inserted
replaced
487:beb6c638b841 | 488:7e273b7f4f92 |
---|---|
64 * events = "onMessage onCommand" | 64 * events = "onMessage onCommand" |
65 * action = accept | 65 * action = accept |
66 */ | 66 */ |
67 class RulesTest : public testing::Test { | 67 class RulesTest : public testing::Test { |
68 protected: | 68 protected: |
69 RuleService m_rules; | 69 rule_service m_rules; |
70 | 70 |
71 RulesTest() | 71 RulesTest() |
72 { | 72 { |
73 // #1 | 73 // #1 |
74 { | 74 { |
75 m_rules.add({ | 75 m_rules.add({ |
76 RuleSet{ }, // Servers | 76 rule::set{ }, // Servers |
77 RuleSet{ "#staff" }, // Channels | 77 rule::set{ "#staff" }, // Channels |
78 RuleSet{ }, // Origins | 78 rule::set{ }, // Origins |
79 RuleSet{ }, // Plugins | 79 rule::set{ }, // Plugins |
80 RuleSet{ "onCommand" }, // Events | 80 rule::set{ "onCommand" }, // Events |
81 RuleAction::Drop | 81 rule::action_type::drop |
82 }); | 82 }); |
83 } | 83 } |
84 | 84 |
85 // #2 | 85 // #2 |
86 { | 86 { |
87 m_rules.add({ | 87 m_rules.add({ |
88 RuleSet{ "unsafe" }, | 88 rule::set{ "unsafe" }, |
89 RuleSet{ "#staff" }, | 89 rule::set{ "#staff" }, |
90 RuleSet{ }, | 90 rule::set{ }, |
91 RuleSet{ }, | 91 rule::set{ }, |
92 RuleSet{ "onCommand" }, | 92 rule::set{ "onCommand" }, |
93 RuleAction::Accept | 93 rule::action_type::accept |
94 }); | 94 }); |
95 } | 95 } |
96 | 96 |
97 // #3-1 | 97 // #3-1 |
98 { | 98 { |
99 m_rules.add({ | 99 m_rules.add({ |
100 RuleSet{}, | 100 rule::set{}, |
101 RuleSet{}, | 101 rule::set{}, |
102 RuleSet{}, | 102 rule::set{}, |
103 RuleSet{"game"}, | 103 rule::set{"game"}, |
104 RuleSet{}, | 104 rule::set{}, |
105 RuleAction::Drop | 105 rule::action_type::drop |
106 }); | 106 }); |
107 } | 107 } |
108 | 108 |
109 // #3-2 | 109 // #3-2 |
110 { | 110 { |
111 m_rules.add({ | 111 m_rules.add({ |
112 RuleSet{ "malikania", "localhost" }, | 112 rule::set{ "malikania", "localhost" }, |
113 RuleSet{ "#games" }, | 113 rule::set{ "#games" }, |
114 RuleSet{ }, | 114 rule::set{ }, |
115 RuleSet{ "game" }, | 115 rule::set{ "game" }, |
116 RuleSet{ "onCommand", "onMessage" }, | 116 rule::set{ "onCommand", "onMessage" }, |
117 RuleAction::Accept | 117 rule::action_type::accept |
118 }); | 118 }); |
119 } | 119 } |
120 } | 120 } |
121 }; | 121 }; |
122 | 122 |
123 TEST_F(RulesTest, basicMatch1) | 123 TEST_F(RulesTest, basicMatch1) |
124 { | 124 { |
125 Rule m; | 125 rule m; |
126 | 126 |
127 /* | 127 /* |
128 * [rule] | 128 * [rule] |
129 */ | 129 */ |
130 ASSERT_TRUE(m.match("freenode", "#test", "a", "", "")); | 130 ASSERT_TRUE(m.match("freenode", "#test", "a", "", "")); |
131 ASSERT_TRUE(m.match("", "", "", "", "")); | 131 ASSERT_TRUE(m.match("", "", "", "", "")); |
132 } | 132 } |
133 | 133 |
134 TEST_F(RulesTest, basicMatch2) | 134 TEST_F(RulesTest, basicMatch2) |
135 { | 135 { |
136 Rule m(RuleSet{"freenode"}); | 136 rule m(rule::set{"freenode"}); |
137 | 137 |
138 /* | 138 /* |
139 * [rule] | 139 * [rule] |
140 * servers = "freenode" | 140 * servers = "freenode" |
141 */ | 141 */ |
145 ASSERT_TRUE(m.match("freenode", "", "jean", "", "onMessage")); | 145 ASSERT_TRUE(m.match("freenode", "", "jean", "", "onMessage")); |
146 } | 146 } |
147 | 147 |
148 TEST_F(RulesTest, basicMatch3) | 148 TEST_F(RulesTest, basicMatch3) |
149 { | 149 { |
150 Rule m(RuleSet{"freenode"}, RuleSet{"#staff"}); | 150 rule m(rule::set{"freenode"}, rule::set{"#staff"}); |
151 | 151 |
152 /* | 152 /* |
153 * [rule] | 153 * [rule] |
154 * servers = "freenode" | 154 * servers = "freenode" |
155 * channels = "#staff" | 155 * channels = "#staff" |
160 ASSERT_FALSE(m.match("malikania", "#staff", "a", "", "")); | 160 ASSERT_FALSE(m.match("malikania", "#staff", "a", "", "")); |
161 } | 161 } |
162 | 162 |
163 TEST_F(RulesTest, basicMatch4) | 163 TEST_F(RulesTest, basicMatch4) |
164 { | 164 { |
165 Rule m(RuleSet{"malikania"}, RuleSet{"#staff"}, RuleSet{"a"}); | 165 rule m(rule::set{"malikania"}, rule::set{"#staff"}, rule::set{"a"}); |
166 | 166 |
167 /* | 167 /* |
168 * [rule] | 168 * [rule] |
169 * servers = "malikania" | 169 * servers = "malikania" |
170 * channels = "#staff" | 170 * channels = "#staff" |
176 ASSERT_FALSE(m.match("freenode", "#staff", "a", "", "")); | 176 ASSERT_FALSE(m.match("freenode", "#staff", "a", "", "")); |
177 } | 177 } |
178 | 178 |
179 TEST_F(RulesTest, complexMatch1) | 179 TEST_F(RulesTest, complexMatch1) |
180 { | 180 { |
181 Rule m(RuleSet{"malikania", "freenode"}); | 181 rule m(rule::set{"malikania", "freenode"}); |
182 | 182 |
183 /* | 183 /* |
184 * [rule] | 184 * [rule] |
185 * servers = "malikania freenode" | 185 * servers = "malikania freenode" |
186 */ | 186 */ |
236 | 236 |
237 } // !irccd | 237 } // !irccd |
238 | 238 |
239 int main(int argc, char **argv) | 239 int main(int argc, char **argv) |
240 { | 240 { |
241 irccd::log::setLogger(std::make_unique<irccd::log::SilentLogger>()); | 241 irccd::log::set_logger(std::make_unique<irccd::log::silent_logger>()); |
242 testing::InitGoogleTest(&argc, argv); | 242 testing::InitGoogleTest(&argc, argv); |
243 | 243 |
244 return RUN_ALL_TESTS(); | 244 return RUN_ALL_TESTS(); |
245 } | 245 } |