• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <thread>
17 
18 #include <gtest/gtest.h>
19 
20 #include "net_mgr_log_wrapper.h"
21 #include "net_policy_callback_test.h"
22 #include "net_policy_client.h"
23 #include "net_policy_constants.h"
24 #include "net_policy_core.h"
25 #include "net_policy_firewall.h"
26 #include "net_policy_inner_define.h"
27 #include "net_policy_rule.h"
28 #include "net_policy_traffic.h"
29 
30 namespace OHOS {
31 namespace NetManagerStandard {
32 namespace {
33 using namespace testing::ext;
34 constexpr const char *NET_POLICY_WORK_TEST_THREAD = "NET_POLICY_WORK_TEST_THREAD";
35 constexpr const char *TEST_EVENT_ACTION = "TEST_ACTION";
36 constexpr const char *EVENT_PARAM_DELETED_UID = "DeletedUid";
37 std::shared_ptr<NetPolicyCore> g_netPolicyCore;
38 std::shared_ptr<AppExecFwk::EventRunner> g_runner;
39 std::shared_ptr<NetPolicyEventHandler> g_handler;
40 } // namespace
41 
42 class UtNetPolicyCore : public testing::Test {
43 public:
44     static void SetUpTestCase();
45     static void TearDownTestCase();
46     void SetUp();
47     void TearDown();
48 };
49 
SetUpTestCase()50 void UtNetPolicyCore::SetUpTestCase()
51 {
52     g_runner = AppExecFwk::EventRunner::Create(NET_POLICY_WORK_TEST_THREAD);
53     g_netPolicyCore = DelayedSingleton<NetPolicyCore>::GetInstance();
54     g_handler = std::make_shared<NetPolicyEventHandler>(g_runner, g_netPolicyCore);
55     g_netPolicyCore->Init(g_handler);
56 }
57 
TearDownTestCase()58 void UtNetPolicyCore::TearDownTestCase()
59 {
60     g_netPolicyCore.reset();
61 }
62 
SetUp()63 void UtNetPolicyCore::SetUp() {}
64 
TearDown()65 void UtNetPolicyCore::TearDown() {}
66 
67 /**
68  * @tc.name: CreateCore001
69  * @tc.desc: Test NetPolicyCore CreateCore.
70  * @tc.type: FUNC
71  */
72 HWTEST_F(UtNetPolicyCore, CreateCore001, TestSize.Level1)
73 {
74     auto netPolicyTraffic = g_netPolicyCore->CreateCore<NetPolicyTraffic>();
75     auto netPolicyFirewall = g_netPolicyCore->CreateCore<NetPolicyFirewall>();
76     auto netPolicyRule = g_netPolicyCore->CreateCore<NetPolicyRule>();
77     ASSERT_TRUE(netPolicyTraffic != nullptr && netPolicyFirewall != nullptr && g_netPolicyCore != nullptr);
78 }
79 
80 /**
81  * @tc.name: HandleEvent001
82  * @tc.desc: Test NetPolicyCore HandleEvent.
83  * @tc.type: FUNC
84  */
85 HWTEST_F(UtNetPolicyCore, HandleEvent001, TestSize.Level1)
86 {
87     AppExecFwk::InnerEvent::Pointer event = AppExecFwk::InnerEvent::Get();
88     ASSERT_NE(g_netPolicyCore, nullptr);
89     g_netPolicyCore->HandleEvent(event);
90 }
91 
92 /**
93  * @tc.name: HandleEvent002
94  * @tc.desc: Test NetPolicyCore HandleEvent.
95  * @tc.type: FUNC
96  */
97 HWTEST_F(UtNetPolicyCore, HandleEvent002, TestSize.Level1)
98 {
99     AppExecFwk::InnerEvent::Pointer event = AppExecFwk::InnerEvent::Get();
100     event.reset();
101     ASSERT_NE(g_netPolicyCore, nullptr);
102     g_netPolicyCore->HandleEvent(event);
103 }
104 
105 /**
106  * @tc.name: SendEvent001
107  * @tc.desc: Test NetPolicyCore HandleEvent.
108  * @tc.type: FUNC
109  */
110 HWTEST_F(UtNetPolicyCore, SendEvent001, TestSize.Level1)
111 {
112     int32_t testEventId = 1154;
113     int32_t testDelayTime = 100;
114     std::shared_ptr<PolicyEvent> event = nullptr;
115     ASSERT_NE(g_netPolicyCore, nullptr);
116     g_netPolicyCore->SendEvent(testEventId, event, testDelayTime);
117 }
118 
119 /**
120  * @tc.name: OnReceiveEvent001
121  * @tc.desc: Test NetPolicyCore OnReceiveEvent.
122  * @tc.type: FUNC
123  */
124 HWTEST_F(UtNetPolicyCore, OnReceiveEvent001, TestSize.Level1)
125 {
126     EventFwk::CommonEventData eventData;
127     eventData.SetCode(SAVE_MODE);
128     EventFwk::Want want;
129     want.SetAction(COMMON_EVENT_POWER_SAVE_MODE_CHANGED);
130     eventData.SetWant(want);
131     ASSERT_NE(g_netPolicyCore, nullptr);
132     g_netPolicyCore->OnReceiveEvent(eventData);
133 }
134 
135 /**
136  * @tc.name: OnReceiveEvent002
137  * @tc.desc: Test NetPolicyCore OnReceiveEvent.
138  * @tc.type: FUNC
139  */
140 HWTEST_F(UtNetPolicyCore, OnReceiveEvent002, TestSize.Level1)
141 {
142     EventFwk::CommonEventData eventData;
143     eventData.SetCode(LOWPOWER_MODE);
144     EventFwk::Want want;
145     want.SetAction(COMMON_EVENT_POWER_SAVE_MODE_CHANGED);
146     eventData.SetWant(want);
147     ASSERT_NE(g_netPolicyCore, nullptr);
148     g_netPolicyCore->OnReceiveEvent(eventData);
149 }
150 
151 /**
152  * @tc.name: OnReceiveEvent003
153  * @tc.desc: Test NetPolicyCore OnReceiveEvent.
154  * @tc.type: FUNC
155  */
156 HWTEST_F(UtNetPolicyCore, OnReceiveEvent003, TestSize.Level1)
157 {
158     EventFwk::CommonEventData eventData;
159     eventData.SetCode(NORMAL_MODE);
160     EventFwk::Want want;
161     want.SetAction(COMMON_EVENT_POWER_SAVE_MODE_CHANGED);
162     eventData.SetWant(want);
163     ASSERT_NE(g_netPolicyCore, nullptr);
164     g_netPolicyCore->OnReceiveEvent(eventData);
165 }
166 
167 /**
168  * @tc.name: OnReceiveEvent004
169  * @tc.desc: Test NetPolicyCore OnReceiveEvent.
170  * @tc.type: FUNC
171  */
172 HWTEST_F(UtNetPolicyCore, OnReceiveEvent004, TestSize.Level1)
173 {
174     EventFwk::CommonEventData eventData;
175     eventData.SetCode(EXTREME_MODE);
176     EventFwk::Want want;
177     want.SetAction(COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED);
178     eventData.SetWant(want);
179     ASSERT_NE(g_netPolicyCore, nullptr);
180     g_netPolicyCore->OnReceiveEvent(eventData);
181 }
182 
183 /**
184  * @tc.name: OnReceiveEvent005
185  * @tc.desc: Test NetPolicyCore OnReceiveEvent.
186  * @tc.type: FUNC
187  */
188 HWTEST_F(UtNetPolicyCore, OnReceiveEvent005, TestSize.Level1)
189 {
190     EventFwk::CommonEventData eventData;
191     eventData.SetCode(NORMAL_MODE);
192     EventFwk::Want want;
193     want.SetAction(COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED);
194     eventData.SetWant(want);
195     ASSERT_NE(g_netPolicyCore, nullptr);
196     g_netPolicyCore->OnReceiveEvent(eventData);
197 }
198 
199 /**
200  * @tc.name: OnReceiveEvent006
201  * @tc.desc: Test NetPolicyCore OnReceiveEvent.
202  * @tc.type: FUNC
203  */
204 HWTEST_F(UtNetPolicyCore, OnReceiveEvent006, TestSize.Level1)
205 {
206     std::string testUid = "111";
207     EventFwk::CommonEventData eventData;
208     eventData.SetCode(NORMAL_MODE);
209     EventFwk::Want want;
210     want.SetParam(EVENT_PARAM_DELETED_UID, testUid);
211     want.SetAction(COMMON_EVENT_UID_REMOVED);
212     eventData.SetWant(want);
213     ASSERT_NE(g_netPolicyCore, nullptr);
214     g_netPolicyCore->OnReceiveEvent(eventData);
215 }
216 
217 /**
218  * @tc.name: OnReceiveEvent007
219  * @tc.desc: Test NetPolicyCore OnReceiveEvent.
220  * @tc.type: FUNC
221  */
222 HWTEST_F(UtNetPolicyCore, OnReceiveEvent007, TestSize.Level1)
223 {
224     EventFwk::CommonEventData eventData;
225     eventData.SetCode(NORMAL_MODE);
226     EventFwk::Want want;
227     want.SetAction(TEST_EVENT_ACTION);
228     eventData.SetWant(want);
229     ASSERT_NE(g_netPolicyCore, nullptr);
230     g_netPolicyCore->OnReceiveEvent(eventData);
231 }
232 } // namespace NetManagerStandard
233 } // namespace OHOS
234