2 * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include <gmock/gmock.h>
21 #include <gtest/gtest.h>
25 #include "restriction.h"
26 #include "statistics.h"
28 #include "stc-manager.h"
31 #define GTEST_MAC "1:c:e:b:00:da"
33 using ::testing::InitGoogleTest;
34 using ::testing::Test;
35 using ::testing::TestCase;
43 TEST(StcManager_Statistics, Init_p)
45 error_e ret = ERROR_NONE;
48 ret = stat.InitStatistics();
49 EXPECT_EQ(ERROR_NONE, ret);
52 TEST(StcManager_Statistics, Get_p)
54 error_e ret = ERROR_NONE;
59 from = stat.MakeTime(2000, 1, 1, 1, 1);
62 ret = stat.SetRule("TOTAL_DATACALL",
68 EXPECT_EQ(ERROR_NONE, ret);
70 ret = stat.GetStatistics();
71 EXPECT_EQ(ERROR_NONE, ret);
73 ret = stat.SetRule("TOTAL_WIFI",
79 EXPECT_EQ(ERROR_NONE, ret);
81 ret = stat.GetStatistics();
82 EXPECT_EQ(ERROR_NONE, ret);
85 TEST(StcManager_Statistics, GetAll_p)
87 error_e ret = ERROR_NONE;
92 from = stat.MakeTime(2000, 1, 1, 1, 1);
95 ret = stat.SetRule(NULL,
100 TIME_PERIOD_UNKNOWN);
101 EXPECT_EQ(ERROR_NONE, ret);
103 ret = stat.GetAllStatistics();
104 EXPECT_EQ(ERROR_NONE, ret);
107 TEST(StcManager_Statistics, GetTotal_p)
109 error_e ret = ERROR_NONE;
114 from = stat.MakeTime(2000, 1, 1, 1, 1);
117 ret = stat.SetRule(NULL,
122 TIME_PERIOD_UNKNOWN);
123 EXPECT_EQ(ERROR_NONE, ret);
125 ret = stat.GetTotalStatistics();
126 EXPECT_EQ(ERROR_NONE, ret);
128 ret = stat.SetRule(NULL,
133 TIME_PERIOD_UNKNOWN);
134 EXPECT_EQ(ERROR_NONE, ret);
136 ret = stat.GetTotalStatistics();
137 EXPECT_EQ(ERROR_NONE, ret);
140 TEST(StcManager_Restriction, Set_p)
142 error_e ret = ERROR_NONE;
145 ret = rest.SetRule("Test_tel",
153 EXPECT_EQ(ERROR_NONE, ret);
155 ret = rest.SetRstriction();
156 EXPECT_EQ(ERROR_NONE, ret);
158 ret = rest.SetRule("TOTAL_WIFI",
166 EXPECT_EQ(ERROR_NONE, ret);
168 ret = rest.SetRstriction();
169 EXPECT_EQ(ERROR_NONE, ret);
171 ret = rest.SetRule("Test_eth",
179 EXPECT_EQ(ERROR_NONE, ret);
181 ret = rest.SetRstriction();
182 EXPECT_EQ(ERROR_NONE, ret);
185 TEST(StcManager_Restriction, Get_p)
187 error_e ret = ERROR_NONE;
190 ret = rest.SetRule("Test_tel",
198 EXPECT_EQ(ERROR_NONE, ret);
200 ret = rest.GetRstriction();
201 EXPECT_EQ(ERROR_NONE, ret);
203 ret = rest.SetRule("TOTAL_WIFI",
211 EXPECT_EQ(ERROR_NONE, ret);
213 ret = rest.GetRstriction();
214 EXPECT_EQ(ERROR_NONE, ret);
216 ret = rest.SetRule("TOTAL_IPV4",
224 EXPECT_EQ(ERROR_NONE, ret);
226 ret = rest.GetRstriction();
227 EXPECT_EQ(ERROR_NONE, ret);
230 TEST(StcManager_Restriction, GetAll_p)
232 error_e ret = ERROR_NONE;
235 ret = rest.GetAllRstriction();
236 EXPECT_EQ(ERROR_NONE, ret);
240 TEST(StcManager_Restriction, Unset_p)
242 error_e ret = ERROR_NONE;
245 ret = rest.SetRule("Test_tel",
253 EXPECT_EQ(ERROR_NONE, ret);
255 ret = rest.UnsetRstriction();
256 EXPECT_EQ(ERROR_NONE, ret);
258 ret = rest.SetRule("TOTAL_WIFI",
266 EXPECT_EQ(ERROR_NONE, ret);
268 ret = rest.UnsetRstriction();
269 EXPECT_EQ(ERROR_NONE, ret);
271 ret = rest.SetRule("Test_eth",
279 EXPECT_EQ(ERROR_NONE, ret);
281 ret = rest.UnsetRstriction();
282 EXPECT_EQ(ERROR_NONE, ret);
284 ret = rest.SetRule("TOTAL_DATACALL",
292 EXPECT_EQ(ERROR_NONE, ret);
294 ret = rest.UnsetRstriction();
295 EXPECT_EQ(ERROR_NONE, ret);
298 TEST(StcManager_Statistics, Reset_p)
300 error_e ret = ERROR_NONE;
305 from = stat.MakeTime(2000, 1, 1, 1, 1);
308 ret = stat.SetRule("TOTAL_DATACALL",
313 TIME_PERIOD_UNKNOWN);
314 EXPECT_EQ(ERROR_NONE, ret);
316 ret = stat.ResetStatistics();
317 EXPECT_EQ(ERROR_NONE, ret);
319 ret = stat.SetRule(NULL,
324 TIME_PERIOD_UNKNOWN);
325 EXPECT_EQ(ERROR_NONE, ret);
327 ret = stat.ResetStatistics();
328 EXPECT_EQ(ERROR_NONE, ret);
331 TEST(StcManager_Firewall, Lock_p)
333 error_e ret = ERROR_NONE;
338 if (state == FIREWALL_LOCKED)
342 EXPECT_EQ(ERROR_NONE, ret);
346 TEST(StcManager_Firewall, Unlock_p)
348 error_e ret = ERROR_NONE;
353 if (state != FIREWALL_LOCKED)
357 EXPECT_EQ(ERROR_NONE, ret);
360 TEST(StcManager_Firewall, GetLock_p)
362 error_e ret = ERROR_NONE;
367 EXPECT_EQ(ERROR_NONE, ret);
370 TEST(StcManager_Firewall, AddChain_p)
372 error_e ret = ERROR_NONE;
375 ret = f.AddChain("gtest");
376 EXPECT_EQ(ERROR_NONE, ret);
379 TEST(StcManager_Firewall, AddRule_p)
381 error_e ret = ERROR_NONE;
384 ret = f.SetRule("gtest",
401 STC_FW_RULE_TARGET_ACCEPT);
403 EXPECT_EQ(ERROR_NONE, ret);
406 EXPECT_EQ(ERROR_NONE, ret);
409 TEST(StcManager_Firewall, AddRule_n)
411 error_e ret = ERROR_NONE;
414 ret = f.SetRule("gtest",
431 STC_FW_RULE_TARGET_MAX);
432 EXPECT_EQ(ERROR_NONE, ret);
435 EXPECT_NE(ERROR_NONE, ret);
438 TEST(StcManager_Firewall, UpdateRule_n)
440 error_e ret = ERROR_NONE;
443 ret = f.SetRule("gtest",
460 STC_FW_RULE_TARGET_MAX);
461 EXPECT_EQ(ERROR_NONE, ret);
463 ret = f.UpdateRule();
464 EXPECT_NE(ERROR_NONE, ret);
467 TEST(StcManager_Firewall, RemoveRule_n)
469 error_e ret = ERROR_NONE;
472 ret = f.SetRule("gtest",
489 STC_FW_RULE_TARGET_MAX);
490 EXPECT_EQ(ERROR_NONE, ret);
492 ret = f.RemoveRule();
493 EXPECT_NE(ERROR_NONE, ret);
497 TEST(StcManager_Firewall, SetChain_p)
499 error_e ret = ERROR_NONE;
502 ret = f.SetChain("gtest", 1);
503 EXPECT_EQ(ERROR_NONE, ret);
506 TEST(StcManager_Firewall, SetChain_n)
508 error_e ret = ERROR_NONE;
511 ret = f.SetChain(NULL, 0);
512 EXPECT_NE(ERROR_NONE, ret);
515 TEST(StcManager_Firewall, UnsetChain_p)
517 error_e ret = ERROR_NONE;
520 ret = f.UnsetChain("gtest");
521 EXPECT_EQ(ERROR_NONE, ret);
524 TEST(StcManager_Firewall, UnsetChain_n)
526 error_e ret = ERROR_NONE;
529 ret = f.UnsetChain(NULL);
530 EXPECT_NE(ERROR_NONE, ret);
534 TEST(StcManager_Firewall, RemoveChain_p)
536 error_e ret = ERROR_NONE;
539 ret = f.RemoveChain("gtest");
540 EXPECT_EQ(ERROR_NONE, ret);
543 TEST(StcManager_Firewall, RemoveChain_n)
545 error_e ret = ERROR_NONE;
548 ret = f.RemoveChain("not_a_chain");
549 EXPECT_NE(ERROR_NONE, ret);
552 TEST(StcManager_Firewall, FlushChain_p)
554 error_e ret = ERROR_NONE;
557 ret = f.AddChain("gtest_chains");
558 EXPECT_EQ(ERROR_NONE, ret);
560 ret = f.FlushChain("gtest_chains");
561 EXPECT_EQ(ERROR_NONE, ret);
563 f.RemoveChain("gtest_chains");
567 TEST(StcManager_Firewall, FlushChain_n)
569 error_e ret = ERROR_NONE;
572 ret = f.FlushChain(NULL);
573 EXPECT_NE(ERROR_NONE, ret);
576 TEST(StcManager_Firewall, GetAllChain_p)
578 error_e ret = ERROR_NONE;
581 ret = f.GetAllChain();
582 EXPECT_EQ(ERROR_NONE, ret);
585 TEST(StcManager_Firewall, GetAllRule_p)
587 error_e ret = ERROR_NONE;
590 ret = f.GetAllRule();
591 EXPECT_EQ(ERROR_NONE, ret);
594 TEST(StcManager_Manager, Stop_p)
596 error_e ret = ERROR_NONE;
599 ret = mgr.StopManager();
600 EXPECT_EQ(ERROR_NONE, ret);
603 int main(int argc, char **argv)
605 InitGoogleTest(&argc, argv);
606 return RUN_ALL_TESTS();