1 /*
2 * Copyright (C) 2021 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 <cstdint>
17 #include <string>
18
19 #define private public
20 #include <gtest/gtest.h>
21
22 #include "cellular_data_client.h"
23 #include "cellular_data_controller.h"
24 #include "cellular_data_error.h"
25 #include "cellular_data_net_agent.h"
26 #include "cellular_data_service.h"
27 #include "cellular_data_types.h"
28 #include "core_service_client.h"
29 #include "data_access_token.h"
30 #include "gtest/gtest-message.h"
31 #include "gtest/gtest-test-part.h"
32 #include "gtest/gtest_pred_impl.h"
33 #include "gtest/hwext/gtest-tag.h"
34 #include "hap_token_info.h"
35 #include "i_cellular_data_manager.h"
36 #include "iosfwd"
37 #include "iostream"
38 #include "net_conn_callback_stub.h"
39 #include "net_supplier_callback_base.h"
40 #include "net_conn_client.h"
41 #include "net_handle.h"
42 #include "net_specifier.h"
43 #include "ostream"
44 #include "permission_def.h"
45 #include "permission_state_full.h"
46 #include "refbase.h"
47 #include "telephony_ext_wrapper.h"
48 #include "telephony_types.h"
49 #include "token_setproc.h"
50 #include "unistd.h"
51 #include "apn_item.h"
52 #include "cellular_data_constant.h"
53 #include "common_event_manager.h"
54 #include "common_event_support.h"
55
56 namespace OHOS {
57 namespace Telephony {
58 using namespace testing::ext;
59 using namespace OHOS::NetManagerStandard;
60
61 static const int32_t SLEEP_TIME = 1;
62 static const int32_t SIM_SLOT_ID_1 = DEFAULT_SIM_SLOT_ID + 1;
63 static const int32_t DATA_SLOT_ID_INVALID = DEFAULT_SIM_SLOT_ID + 10;
64 static const int32_t PING_CHECK_SUCCESS = 0;
65 static const int32_t PING_CHECK_FAIL = 1;
66 static const int32_t MAX_TIMES = 60;
67 static const int32_t CMD_BUF_SIZE = 10240;
68 static const int32_t NET_REGISTER_TIMEOUT_MS = 20000;
69 static const int32_t SLEEP_TIME_SECONDS = 3;
70
71 class TestCallback : public NetManagerStandard::NetConnCallbackStub {
72 int32_t NetAvailable(sptr<NetManagerStandard::NetHandle> &netHandle) override
73 {
74 isCallback_ = true;
75 std::cout << "TestCallback::NetAvailable" << std::endl;
76 return 0;
77 }
78
79 int32_t NetCapabilitiesChange(sptr<NetManagerStandard::NetHandle> &netHandle,
80 const sptr<NetManagerStandard::NetAllCapabilities> &netAllCap) override
81 {
82 isCallback_ = true;
83 std::cout << "TestCallback::NetCapabilitiesChange" << std::endl;
84 return 0;
85 }
86
87 int32_t NetConnectionPropertiesChange(
88 sptr<NetManagerStandard::NetHandle> &netHandle, const sptr<NetManagerStandard::NetLinkInfo> &info) override
89 {
90 isCallback_ = true;
91 std::cout << "TestCallback::NetConnectionPropertiesChange" << std::endl;
92 return 0;
93 }
94
95 int32_t NetLost(sptr<NetManagerStandard::NetHandle> &netHandle) override
96 {
97 isCallback_ = true;
98 std::cout << "TestCallback::NetLost" << std::endl;
99 return 0;
100 }
101
102 int32_t NetUnavailable() override
103 {
104 isCallback_ = true;
105 std::cout << "TestCallback::NetUnavailable" << std::endl;
106 return 0;
107 }
108
109 int32_t NetBlockStatusChange(sptr<NetManagerStandard::NetHandle> &netHandle, bool blocked) override
110 {
111 isCallback_ = true;
112 std::cout << "TestCallback::NetBlockStatusChange" << std::endl;
113 return 0;
114 }
115
116 public:
117 bool isCallback_ = false;
118 };
119
120 class CellularDataTest : public testing::Test {
121 public:
122 static void SetUpTestCase();
123 static void TearDownTestCase();
124 virtual void SetUp();
125 virtual void TearDown();
126 static bool HasSimCard(const int32_t slotId);
127 static int32_t IsCellularDataEnabledTest(bool &dataEnabled);
128 static int32_t EnableCellularDataTest(bool enable);
129 static int32_t EnableIntelligenceSwitchTest(bool enable);
130 static int32_t GetCellularDataStateTest();
131 static int32_t IsCellularDataRoamingEnabledTest(int32_t slotId, bool &dataRoamingEnabled);
132 static int32_t EnableCellularDataRoamingTest(int32_t slotId, bool enable);
133 static int32_t GetDefaultCellularDataSlotIdTest();
134 static int32_t GetDefaultCellularDataSimIdTest();
135 static int32_t SetDefaultCellularDataSlotIdTest(int32_t slotId);
136 static int32_t GetCellularDataFlowTypeTest();
137 static void WaitTestTimeout(const int32_t status);
138 static sptr<ICellularDataManager> GetProxy();
139 static string GetCmdResult();
140 static int32_t PingTest();
141 static int32_t HasInternetCapability(int32_t slotId, int32_t cid);
142 static int32_t ClearCellularDataConnections(int32_t slotId);
143 static int32_t ClearAllConnections(int32_t slotId, DisConnectionReason reason);
144 static int32_t GetApnState(int32_t slotId, const std::string &apnTyp);
145 static int32_t GetDataRecoveryState();
146 static int32_t GetDataConnApnAttr(int32_t slotId, ApnItem::Attribute &apnAttr);
147 static int32_t GetDataConnIpType(int32_t slotId, std::string &ipType);
148 static int32_t IsNeedDoRecovery(int32_t slotId, bool needDoRecovery);
149 static int32_t InitCellularDataController(int32_t slotId);
150 static int32_t GetIntelligenceSwitchStateTest(bool &state);
151 static int32_t GetCellularDataSupplierId(int32_t slotId, uint64_t capability, uint32_t &supplierId);
152 static int32_t CorrectNetSupplierNoAvailable(int32_t slotid);
153 static int32_t GetSupplierRegisterState(uint32_t supplierId, int32_t ®State);
154 CellularDataNetAgent &netAgent = CellularDataNetAgent::GetInstance();
155 };
156
HasSimCard(const int32_t slotId)157 bool CellularDataTest::HasSimCard(const int32_t slotId)
158 {
159 bool hasSimCard = false;
160 DelayedRefSingleton<CoreServiceClient>::GetInstance().HasSimCard(slotId, hasSimCard);
161 return hasSimCard;
162 }
163
TearDownTestCase()164 void CellularDataTest::TearDownTestCase()
165 {
166 if (CoreServiceClient::GetInstance().GetProxy() == nullptr) {
167 std::cout << "connect coreService server failed!" << std::endl;
168 return;
169 }
170 DataAccessToken token;
171 int32_t slotId = DATA_SLOT_ID_INVALID;
172 if (HasSimCard(DEFAULT_SIM_SLOT_ID)) {
173 slotId = DEFAULT_SIM_SLOT_ID;
174 } else if (HasSimCard(SIM_SLOT_ID_1)) {
175 slotId = SIM_SLOT_ID_1;
176 }
177 if (slotId == DATA_SLOT_ID_INVALID) {
178 return;
179 }
180 // Set the default slot
181 int32_t result = CellularDataClient::GetInstance().SetDefaultCellularDataSlotId(slotId);
182 if (result != TELEPHONY_ERR_SUCCESS) {
183 return;
184 }
185 int32_t enable = CellularDataClient::GetInstance().EnableCellularData(true);
186 ASSERT_TRUE(enable == TELEPHONY_ERR_SUCCESS);
187 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
188 sleep(SLEEP_TIME_SECONDS);
189 }
190
SetUp()191 void CellularDataTest::SetUp() {}
192
TearDown()193 void CellularDataTest::TearDown() {}
194
SetUpTestCase()195 void CellularDataTest::SetUpTestCase()
196 {
197 if (CoreServiceClient::GetInstance().GetProxy() == nullptr) {
198 std::cout << "connect coreService server failed!" << std::endl;
199 return;
200 }
201 DataAccessToken token;
202 int32_t slotId = DATA_SLOT_ID_INVALID;
203 if (HasSimCard(DEFAULT_SIM_SLOT_ID)) {
204 slotId = DEFAULT_SIM_SLOT_ID;
205 } else if (HasSimCard(SIM_SLOT_ID_1)) {
206 slotId = SIM_SLOT_ID_1;
207 }
208 if (slotId == DATA_SLOT_ID_INVALID) {
209 return;
210 }
211 // Set the default slot
212 int32_t result = CellularDataClient::GetInstance().SetDefaultCellularDataSlotId(slotId);
213 if (result != TELEPHONY_ERR_SUCCESS) {
214 return;
215 }
216 int32_t enable = CellularDataClient::GetInstance().EnableCellularData(true);
217 ASSERT_TRUE(enable == TELEPHONY_ERR_SUCCESS);
218 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
219 }
220
WaitTestTimeout(const int32_t status)221 void CellularDataTest::WaitTestTimeout(const int32_t status)
222 {
223 int32_t count = 0;
224 while (count < MAX_TIMES) {
225 sleep(SLEEP_TIME);
226 if (CellularDataClient::GetInstance().GetCellularDataState() == status) {
227 return;
228 }
229 count++;
230 }
231 }
232
GetCmdResult()233 string CellularDataTest::GetCmdResult()
234 {
235 string strCmd = "ping -c3 www.openharmony.cn";
236 char buf[CMD_BUF_SIZE] = { 0 };
237 FILE *pf;
238
239 if ((pf = popen(strCmd.c_str(), "r")) == nullptr) {
240 return "";
241 }
242 string strResult;
243 while (fgets(buf, sizeof(buf), pf) != nullptr) {
244 strResult += buf;
245 }
246 pclose(pf);
247 unsigned int iSize = strResult.size();
248 if (iSize > 0 && strResult[iSize - 1] == '\n') {
249 strResult = strResult.substr(0, iSize - 1);
250 }
251 return strResult;
252 }
253
PingTest()254 int32_t CellularDataTest::PingTest()
255 {
256 string strRe = GetCmdResult();
257 std::cout << strRe << std::endl;
258
259 // if ping succeed, the result should contains something like:
260 // 3 packets transmitted, 3 received, 0% packet loss, time 5440ms
261 if (strRe.find("3 packets") != string::npos) {
262 return PING_CHECK_SUCCESS;
263 } else {
264 return PING_CHECK_FAIL;
265 }
266 }
267
IsCellularDataRoamingEnabledTest(int32_t slotId, bool &dataRoamingEnabled)268 int32_t CellularDataTest::IsCellularDataRoamingEnabledTest(int32_t slotId, bool &dataRoamingEnabled)
269 {
270 return CellularDataClient::GetInstance().IsCellularDataRoamingEnabled(slotId, dataRoamingEnabled);
271 }
272
IsCellularDataEnabledTest(bool &dataEnabled)273 int32_t CellularDataTest::IsCellularDataEnabledTest(bool &dataEnabled)
274 {
275 return CellularDataClient::GetInstance().IsCellularDataEnabled(dataEnabled);
276 }
277
EnableCellularDataTest(bool enable)278 int32_t CellularDataTest::EnableCellularDataTest(bool enable)
279 {
280 return CellularDataClient::GetInstance().EnableCellularData(enable);
281 }
282
EnableIntelligenceSwitchTest(bool enable)283 int32_t CellularDataTest::EnableIntelligenceSwitchTest(bool enable)
284 {
285 return CellularDataClient::GetInstance().EnableIntelligenceSwitch(enable);
286 }
287
GetCellularDataStateTest()288 int32_t CellularDataTest::GetCellularDataStateTest()
289 {
290 return CellularDataClient::GetInstance().GetCellularDataState();
291 }
292
GetIntelligenceSwitchStateTest(bool &state)293 int32_t CellularDataTest::GetIntelligenceSwitchStateTest(bool &state)
294 {
295 return CellularDataClient::GetInstance().GetIntelligenceSwitchState(state);
296 }
297
EnableCellularDataRoamingTest(int32_t slotId, bool enable)298 int32_t CellularDataTest::EnableCellularDataRoamingTest(int32_t slotId, bool enable)
299 {
300 return CellularDataClient::GetInstance().EnableCellularDataRoaming(slotId, enable);
301 }
302
GetDefaultCellularDataSlotIdTest()303 int32_t CellularDataTest::GetDefaultCellularDataSlotIdTest()
304 {
305 return CellularDataClient::GetInstance().GetDefaultCellularDataSlotId();
306 }
307
GetDefaultCellularDataSimIdTest()308 int32_t CellularDataTest::GetDefaultCellularDataSimIdTest()
309 {
310 int32_t simId = 0;
311 return CellularDataClient::GetInstance().GetDefaultCellularDataSimId(simId);
312 }
313
SetDefaultCellularDataSlotIdTest(int32_t slotId)314 int32_t CellularDataTest::SetDefaultCellularDataSlotIdTest(int32_t slotId)
315 {
316 return CellularDataClient::GetInstance().SetDefaultCellularDataSlotId(slotId);
317 }
318
GetCellularDataFlowTypeTest()319 int32_t CellularDataTest::GetCellularDataFlowTypeTest()
320 {
321 return CellularDataClient::GetInstance().GetCellularDataFlowType();
322 }
323
HasInternetCapability(int32_t slotId, int32_t cid)324 int32_t CellularDataTest::HasInternetCapability(int32_t slotId, int32_t cid)
325 {
326 CellularDataClient::GetInstance().IsConnect();
327 return CellularDataClient::GetInstance().HasInternetCapability(slotId, cid);
328 }
329
ClearCellularDataConnections(int32_t slotId)330 int32_t CellularDataTest::ClearCellularDataConnections(int32_t slotId)
331 {
332 CellularDataClient::GetInstance().IsConnect();
333 return CellularDataClient::GetInstance().ClearCellularDataConnections(slotId);
334 }
335
ClearAllConnections(int32_t slotId, DisConnectionReason reason)336 int32_t CellularDataTest::ClearAllConnections(int32_t slotId, DisConnectionReason reason)
337 {
338 return CellularDataClient::GetInstance().ClearAllConnections(slotId, reason);
339 }
340
GetApnState(int32_t slotId, const std::string &apnTyp)341 int32_t CellularDataTest::GetApnState(int32_t slotId, const std::string &apnTyp)
342 {
343 return CellularDataClient::GetInstance().GetApnState(slotId, apnTyp);
344 }
345
GetDataRecoveryState()346 int32_t CellularDataTest::GetDataRecoveryState()
347 {
348 return CellularDataClient::GetInstance().GetDataRecoveryState();
349 }
350
GetDataConnApnAttr(int32_t slotId, ApnItem::Attribute &apnAttr)351 int32_t CellularDataTest::GetDataConnApnAttr(int32_t slotId, ApnItem::Attribute &apnAttr)
352 {
353 return CellularDataClient::GetInstance().GetDataConnApnAttr(slotId, apnAttr);
354 }
355
GetDataConnIpType(int32_t slotId, std::string &ipType)356 int32_t CellularDataTest::GetDataConnIpType(int32_t slotId, std::string &ipType)
357 {
358 return CellularDataClient::GetInstance().GetDataConnIpType(slotId, ipType);
359 }
360
IsNeedDoRecovery(int32_t slotId, bool needDoRecovery)361 int32_t CellularDataTest::IsNeedDoRecovery(int32_t slotId, bool needDoRecovery)
362 {
363 return CellularDataClient::GetInstance().IsNeedDoRecovery(slotId, needDoRecovery);
364 }
365
InitCellularDataController(int32_t slotId)366 int32_t CellularDataTest::InitCellularDataController(int32_t slotId)
367 {
368 return CellularDataClient::GetInstance().InitCellularDataController(slotId);
369 }
370
GetCellularDataSupplierId(int32_t slotId, uint64_t capability, uint32_t &supplierId)371 int32_t CellularDataTest::GetCellularDataSupplierId(int32_t slotId, uint64_t capability, uint32_t &supplierId)
372 {
373 return CellularDataClient::GetInstance().GetCellularDataSupplierId(slotId, capability, supplierId);
374 }
375
CorrectNetSupplierNoAvailable(int32_t slotId)376 int32_t CellularDataTest::CorrectNetSupplierNoAvailable(int32_t slotId)
377 {
378 return CellularDataClient::GetInstance().CorrectNetSupplierNoAvailable(slotId);
379 }
380
GetSupplierRegisterState(uint32_t supplierId, int32_t ®State)381 int32_t CellularDataTest::GetSupplierRegisterState(uint32_t supplierId, int32_t ®State)
382 {
383 return CellularDataClient::GetInstance().GetSupplierRegisterState(supplierId, regState);
384 }
385 #ifndef TEL_TEST_UNSUPPORT
386 /**
387 * @tc.number IsCellularDataEnabled_Test
388 * @tc.name Test cellular data switch status(enabled or disabled)
389 * @tc.desc Function test
390 */
HWTEST_F(CellularDataTest, IsCellularDataEnabled_Test, TestSize.Level1)391 HWTEST_F(CellularDataTest, IsCellularDataEnabled_Test, TestSize.Level1)
392 {
393 DataAccessToken token;
394 bool dataEnabled = false;
395 CellularDataTest::IsCellularDataEnabledTest(dataEnabled);
396 ASSERT_TRUE(dataEnabled >= static_cast<int32_t>(DataSwitchCode::CELLULAR_DATA_DISABLED));
397 }
398
399 /**
400 * @tc.number DefaultCellularDataSlotId_Test
401 * @tc.name Test set default data card slot
402 * @tc.desc Function test
403 */
HWTEST_F(CellularDataTest, DefaultCellularDataSlotId_Test, TestSize.Level2)404 HWTEST_F(CellularDataTest, DefaultCellularDataSlotId_Test, TestSize.Level2)
405 {
406 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
407 return;
408 }
409 DataAccessToken token;
410 int32_t result = CellularDataTest::GetDefaultCellularDataSlotIdTest();
411 if (result < DEFAULT_SIM_SLOT_ID_REMOVE) {
412 return;
413 }
414 result = CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
415 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
416 // Multiple cards will need to be optimized again
417 result = CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID - 1);
418 ASSERT_TRUE(result != TELEPHONY_ERR_SUCCESS);
419 result = CellularDataTest::SetDefaultCellularDataSlotIdTest(DATA_SLOT_ID_INVALID);
420 ASSERT_TRUE(result != TELEPHONY_ERR_SUCCESS);
421 }
422
423 /**
424 * @tc.number GetDefaultCellularDataSimId
425 * @tc.name Test get default data sim id
426 * @tc.desc Function test
427 */
HWTEST_F(CellularDataTest, DefaultCellularDataSimId_Test, TestSize.Level2)428 HWTEST_F(CellularDataTest, DefaultCellularDataSimId_Test, TestSize.Level2)
429 {
430 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
431 return;
432 }
433 int32_t result = CellularDataTest::GetDefaultCellularDataSimIdTest();
434 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
435 }
436
437 /**
438 * @tc.number DefaultCellularDataSlotId_Test_01
439 * @tc.name Test set default data card slot
440 * @tc.desc Function test
441 */
HWTEST_F(CellularDataTest, DefaultCellularDataSlotId_Test_01, TestSize.Level2)442 HWTEST_F(CellularDataTest, DefaultCellularDataSlotId_Test_01, TestSize.Level2)
443 {
444 if (!HasSimCard(SIM_SLOT_ID_1)) {
445 return;
446 }
447 DataAccessToken token;
448 int32_t result = CellularDataTest::GetDefaultCellularDataSlotIdTest();
449 if (result < DEFAULT_SIM_SLOT_ID_REMOVE) {
450 return;
451 }
452 result = CellularDataTest::SetDefaultCellularDataSlotIdTest(SIM_SLOT_ID_1);
453 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
454 result = CellularDataTest::SetDefaultCellularDataSlotIdTest(DATA_SLOT_ID_INVALID);
455 ASSERT_TRUE(result != TELEPHONY_ERR_SUCCESS);
456 }
457
458 /**
459 * @tc.number EnableCellularData_Test_01
460 * @tc.name Test cellular data switch
461 * @tc.desc Function test
462 */
HWTEST_F(CellularDataTest, EnableCellularData_Test_01, TestSize.Level2)463 HWTEST_F(CellularDataTest, EnableCellularData_Test_01, TestSize.Level2)
464 {
465 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
466 return;
467 }
468 DataAccessToken token;
469 CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
470 CellularDataTest::EnableCellularDataTest(false);
471 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
472 sleep(SLEEP_TIME);
473 int32_t result = CellularDataTest::EnableCellularDataTest(true);
474 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
475 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
476 sleep(SLEEP_TIME);
477 std::cout << "Cellular Data Connected Ping..." << std::endl;
478 int32_t pingResult = CellularDataTest::PingTest();
479 ASSERT_TRUE(pingResult >= PING_CHECK_SUCCESS);
480 CellularDataTest::EnableCellularDataTest(false);
481 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
482 sleep(SLEEP_TIME);
483 std::cout << "Cellular Data Disconnected Ping..." << std::endl;
484 pingResult = CellularDataTest::PingTest();
485 ASSERT_TRUE(pingResult == PING_CHECK_FAIL);
486 }
487
488 /**
489 * @tc.number EnableCellularData_Test_02
490 * @tc.name Test cellular data switch
491 * @tc.desc Function test
492 */
HWTEST_F(CellularDataTest, EnableCellularData_Test_02, TestSize.Level2)493 HWTEST_F(CellularDataTest, EnableCellularData_Test_02, TestSize.Level2)
494 {
495 if (!HasSimCard(SIM_SLOT_ID_1)) {
496 return;
497 }
498 DataAccessToken token;
499 CellularDataTest::SetDefaultCellularDataSlotIdTest(SIM_SLOT_ID_1);
500 CellularDataTest::EnableCellularDataTest(false);
501 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
502 sleep(SLEEP_TIME);
503 int32_t result = CellularDataTest::EnableCellularDataTest(true);
504 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
505 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
506 sleep(SLEEP_TIME);
507 std::cout << "Cellular Data Connected Ping..." << std::endl;
508 int32_t pingResult = CellularDataTest::PingTest();
509 ASSERT_TRUE(pingResult >= PING_CHECK_SUCCESS);
510 CellularDataTest::EnableCellularDataTest(false);
511 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
512 sleep(SLEEP_TIME);
513 std::cout << "Cellular Data Disconnected Ping..." << std::endl;
514 pingResult = CellularDataTest::PingTest();
515 ASSERT_TRUE(pingResult == PING_CHECK_FAIL);
516 }
517
518 /**
519 * @tc.number DataRoamingState_ValidSlot_Test_01
520 * @tc.name Test the cellular data roaming switch with a slot id
521 * @tc.desc Function test
522 */
HWTEST_F(CellularDataTest, DataRoamingState_ValidSlot_Test_01, TestSize.Level3)523 HWTEST_F(CellularDataTest, DataRoamingState_ValidSlot_Test_01, TestSize.Level3)
524 {
525 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
526 return;
527 }
528 DataAccessToken token;
529 CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
530 int32_t disabled = CellularDataTest::EnableCellularDataTest(false);
531 ASSERT_TRUE(disabled == TELEPHONY_ERR_SUCCESS);
532 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
533
534 // slot0 enable data roaming
535 int32_t enabled = CellularDataTest::EnableCellularDataRoamingTest(DEFAULT_SIM_SLOT_ID, true);
536 ASSERT_TRUE(enabled == TELEPHONY_ERR_SUCCESS);
537 bool dataRoamingEnabled = false;
538 CellularDataTest::IsCellularDataRoamingEnabledTest(DEFAULT_SIM_SLOT_ID, dataRoamingEnabled);
539 ASSERT_TRUE(dataRoamingEnabled);
540 // slot0 close
541 int32_t enable = CellularDataTest::EnableCellularDataRoamingTest(DEFAULT_SIM_SLOT_ID, false);
542 ASSERT_TRUE(enable == TELEPHONY_ERR_SUCCESS);
543 CellularDataTest::IsCellularDataRoamingEnabledTest(DEFAULT_SIM_SLOT_ID, dataRoamingEnabled);
544 ASSERT_TRUE(!dataRoamingEnabled);
545
546 // At present, multiple card problems, the subsequent need to continue to deal with
547 enable = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, true);
548 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
549 int32_t result = CellularDataTest::IsCellularDataRoamingEnabledTest(DATA_SLOT_ID_INVALID, dataRoamingEnabled);
550 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
551 enable = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, false);
552 // At present, multiple card problems, the subsequent need to continue to deal with
553 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
554 result = CellularDataTest::IsCellularDataRoamingEnabledTest(DATA_SLOT_ID_INVALID, dataRoamingEnabled);
555 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
556 }
557
558 /**
559 * @tc.number DataRoamingState_ValidSlot_Test_02
560 * @tc.name Test the cellular data roaming switch with a slot id
561 * @tc.desc Function test
562 */
HWTEST_F(CellularDataTest, DataRoamingState_ValidSlot_Test_02, TestSize.Level3)563 HWTEST_F(CellularDataTest, DataRoamingState_ValidSlot_Test_02, TestSize.Level3)
564 {
565 if (!HasSimCard(SIM_SLOT_ID_1)) {
566 return;
567 }
568 DataAccessToken token;
569 CellularDataTest::SetDefaultCellularDataSlotIdTest(SIM_SLOT_ID_1);
570 int32_t disabled = CellularDataTest::EnableCellularDataTest(false);
571 ASSERT_TRUE(disabled == TELEPHONY_ERR_SUCCESS);
572 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
573
574 // slot1 enable data roaming
575 int32_t enabled = CellularDataTest::EnableCellularDataRoamingTest(SIM_SLOT_ID_1, true);
576 ASSERT_TRUE(enabled == TELEPHONY_ERR_SUCCESS);
577 bool dataRoamingEnabled = false;
578 CellularDataTest::IsCellularDataRoamingEnabledTest(SIM_SLOT_ID_1, dataRoamingEnabled);
579 ASSERT_TRUE(dataRoamingEnabled);
580 // slot1 close
581 int32_t enable = CellularDataTest::EnableCellularDataRoamingTest(SIM_SLOT_ID_1, false);
582 ASSERT_TRUE(enable == TELEPHONY_ERR_SUCCESS);
583 CellularDataTest::IsCellularDataRoamingEnabledTest(SIM_SLOT_ID_1, dataRoamingEnabled);
584 ASSERT_TRUE(!dataRoamingEnabled);
585
586 // At present, multiple card problems, the subsequent need to continue to deal with
587 enable = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, true);
588 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
589 int32_t result = CellularDataTest::IsCellularDataRoamingEnabledTest(DATA_SLOT_ID_INVALID, dataRoamingEnabled);
590 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
591 enable = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, false);
592 // At present, multiple card problems, the subsequent need to continue to deal with
593 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
594 result = CellularDataTest::IsCellularDataRoamingEnabledTest(DATA_SLOT_ID_INVALID, dataRoamingEnabled);
595 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
596 }
597
598 /**
599 * @tc.number EnableCellularDataRoaming_ValidSlot_Test_01
600 * @tc.name Test the cellular data roaming switch with a slot id
601 * @tc.desc Function test
602 */
HWTEST_F(CellularDataTest, EnableCellularDataRoaming_ValidSlot_Test_01, TestSize.Level3)603 HWTEST_F(CellularDataTest, EnableCellularDataRoaming_ValidSlot_Test_01, TestSize.Level3)
604 {
605 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
606 return;
607 }
608 DataAccessToken token;
609 CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
610 int32_t disabled = CellularDataTest::EnableCellularDataTest(false);
611 ASSERT_TRUE(disabled == TELEPHONY_ERR_SUCCESS);
612 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
613
614 bool dataRoamingEnabled = false;
615 CellularDataTest::IsCellularDataRoamingEnabledTest(DEFAULT_SIM_SLOT_ID, dataRoamingEnabled);
616 if (dataRoamingEnabled) {
617 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(DEFAULT_SIM_SLOT_ID, false);
618 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
619 } else {
620 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(DEFAULT_SIM_SLOT_ID, true);
621 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
622 }
623 // At present, multiple card problems, the subsequent need to continue to deal with
624 CellularDataTest::IsCellularDataRoamingEnabledTest(DEFAULT_SIM_SLOT_ID, dataRoamingEnabled);
625 if (dataRoamingEnabled) {
626 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, false);
627 ASSERT_TRUE(result != TELEPHONY_ERR_SUCCESS);
628 } else {
629 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, true);
630 ASSERT_TRUE(result != TELEPHONY_ERR_SUCCESS);
631 }
632 }
633
634 /**
635 * @tc.number EnableCellularDataRoaming_ValidSlot_Test_02
636 * @tc.name Test the cellular data roaming switch with a slot id
637 * @tc.desc Function test
638 */
HWTEST_F(CellularDataTest, EnableCellularDataRoaming_ValidSlot_Test_02, TestSize.Level3)639 HWTEST_F(CellularDataTest, EnableCellularDataRoaming_ValidSlot_Test_02, TestSize.Level3)
640 {
641 if (!HasSimCard(SIM_SLOT_ID_1)) {
642 return;
643 }
644 DataAccessToken token;
645 CellularDataTest::SetDefaultCellularDataSlotIdTest(SIM_SLOT_ID_1);
646 int32_t disabled = CellularDataTest::EnableCellularDataTest(false);
647 ASSERT_TRUE(disabled == TELEPHONY_ERR_SUCCESS);
648 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
649
650 bool dataRoamingEnabled = false;
651 CellularDataTest::IsCellularDataRoamingEnabledTest(SIM_SLOT_ID_1, dataRoamingEnabled);
652 if (dataRoamingEnabled) {
653 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(SIM_SLOT_ID_1, false);
654 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
655 } else {
656 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(SIM_SLOT_ID_1, true);
657 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
658 }
659 // At present, multiple card problems, the subsequent need to continue to deal with
660 CellularDataTest::IsCellularDataRoamingEnabledTest(SIM_SLOT_ID_1, dataRoamingEnabled);
661 if (dataRoamingEnabled) {
662 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, false);
663 ASSERT_TRUE(result != TELEPHONY_ERR_SUCCESS);
664 } else {
665 int32_t result = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, true);
666 ASSERT_TRUE(result != TELEPHONY_ERR_SUCCESS);
667 }
668 }
669
670 /**
671 * @tc.number GetCellularDataState_ValidityTest_01
672 * @tc.name Test the GetCellularDataState function
673 * @tc.desc Function test
674 */
HWTEST_F(CellularDataTest, GetCellularDataState_ValidityTest_01, TestSize.Level3)675 HWTEST_F(CellularDataTest, GetCellularDataState_ValidityTest_01, TestSize.Level3)
676 {
677 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
678 return;
679 }
680 DataAccessToken token;
681 CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
682 bool dataEnabled = false;
683 CellularDataTest::IsCellularDataEnabledTest(dataEnabled);
684 if (dataEnabled) {
685 CellularDataTest::EnableCellularDataTest(false);
686 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
687 sleep(SLEEP_TIME);
688 CellularDataTest::EnableCellularDataTest(true);
689 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
690 int32_t result = CellularDataTest::GetCellularDataStateTest();
691 ASSERT_TRUE(result == static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
692 } else {
693 CellularDataTest::EnableCellularDataTest(true);
694 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
695 sleep(SLEEP_TIME);
696 CellularDataTest::EnableCellularDataTest(false);
697 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
698 int32_t result = CellularDataTest::GetCellularDataStateTest();
699 ASSERT_TRUE(result == static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
700 }
701 CellularDataTest::EnableCellularDataTest(false);
702 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
703 }
704
705 /**
706 * @tc.number GetCellularDataState_ValidityTest_02
707 * @tc.name Test the GetCellularDataState function
708 * @tc.desc Function test
709 */
HWTEST_F(CellularDataTest, GetCellularDataState_ValidityTest_02, TestSize.Level3)710 HWTEST_F(CellularDataTest, GetCellularDataState_ValidityTest_02, TestSize.Level3)
711 {
712 if (!HasSimCard(SIM_SLOT_ID_1)) {
713 return;
714 }
715 DataAccessToken token;
716 CellularDataTest::SetDefaultCellularDataSlotIdTest(SIM_SLOT_ID_1);
717 bool dataEnabled = false;
718 CellularDataTest::IsCellularDataEnabledTest(dataEnabled);
719 if (dataEnabled) {
720 CellularDataTest::EnableCellularDataTest(false);
721 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
722 sleep(SLEEP_TIME);
723 CellularDataTest::EnableCellularDataTest(true);
724 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
725 int32_t result = CellularDataTest::GetCellularDataStateTest();
726 ASSERT_TRUE(result == static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
727 } else {
728 CellularDataTest::EnableCellularDataTest(true);
729 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
730 sleep(SLEEP_TIME);
731 CellularDataTest::EnableCellularDataTest(false);
732 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
733 int32_t result = CellularDataTest::GetCellularDataStateTest();
734 ASSERT_TRUE(result == static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
735 }
736 CellularDataTest::EnableCellularDataTest(false);
737 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
738 }
739
740 /**
741 * @tc.number DataRoamingState_InValidSlot_Test_01
742 * @tc.name Test the EnableCellularDataRoaming function with a invalid slot id
743 * @tc.desc Function test
744 */
HWTEST_F(CellularDataTest, DataRoamingState_InValidSlot_Test_01, TestSize.Level3)745 HWTEST_F(CellularDataTest, DataRoamingState_InValidSlot_Test_01, TestSize.Level3)
746 {
747 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
748 return;
749 }
750 DataAccessToken token;
751 // invalid slot turn on data roaming
752 int32_t enable = CellularDataTest::EnableCellularDataRoamingTest(DEFAULT_SIM_SLOT_ID - 1, true);
753 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
754 bool dataRoamingEnabled = false;
755 int32_t result = CellularDataTest::IsCellularDataRoamingEnabledTest(DEFAULT_SIM_SLOT_ID - 1, dataRoamingEnabled);
756 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
757 enable = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, true);
758 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
759 result = CellularDataTest::IsCellularDataRoamingEnabledTest(DATA_SLOT_ID_INVALID, dataRoamingEnabled);
760 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
761 // invalid slot disable roaming
762 enable = CellularDataTest::EnableCellularDataRoamingTest(DEFAULT_SIM_SLOT_ID - 1, false);
763 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
764 result = CellularDataTest::IsCellularDataRoamingEnabledTest(DEFAULT_SIM_SLOT_ID - 1, dataRoamingEnabled);
765 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
766 enable = CellularDataTest::EnableCellularDataRoamingTest(DATA_SLOT_ID_INVALID, false);
767 ASSERT_TRUE(enable != TELEPHONY_ERR_SUCCESS);
768 result = CellularDataTest::IsCellularDataRoamingEnabledTest(DATA_SLOT_ID_INVALID, dataRoamingEnabled);
769 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
770 }
771
772 /**
773 * @tc.number DataFlowType_Test_01
774 * @tc.name Test the GetCellularDataFlowType function
775 * @tc.desc Function test
776 */
HWTEST_F(CellularDataTest, DataFlowType_Test_01, TestSize.Level3)777 HWTEST_F(CellularDataTest, DataFlowType_Test_01, TestSize.Level3)
778 {
779 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
780 return;
781 }
782 DataAccessToken token;
783 CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
784 CellularDataTest::EnableCellularDataTest(false);
785 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
786 sleep(SLEEP_TIME);
787
788 CellularDataTest::EnableCellularDataTest(true);
789 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
790 sleep(SLEEP_TIME);
791 std::cout << "Cellular Data Connected Ping..." << std::endl;
792 int32_t pingResult = CellularDataTest::PingTest();
793 ASSERT_TRUE(pingResult >= PING_CHECK_SUCCESS);
794 int32_t dataFlowType = CellularDataTest::GetCellularDataFlowTypeTest();
795 ASSERT_TRUE(dataFlowType >= 0);
796
797 CellularDataTest::EnableCellularDataTest(false);
798 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
799 sleep(SLEEP_TIME);
800 std::cout << "Cellular Data Disconnected Ping..." << std::endl;
801 pingResult = CellularDataTest::PingTest();
802 ASSERT_TRUE(pingResult == PING_CHECK_FAIL);
803 dataFlowType = CellularDataTest::GetCellularDataFlowTypeTest();
804 ASSERT_TRUE(dataFlowType == 0);
805 }
806
807 /**
808 * @tc.number DataFlowType_Test_02
809 * @tc.name Test the GetCellularDataFlowType function
810 * @tc.desc Function test
811 */
HWTEST_F(CellularDataTest, DataFlowType_Test_02, TestSize.Level3)812 HWTEST_F(CellularDataTest, DataFlowType_Test_02, TestSize.Level3)
813 {
814 if (!HasSimCard(SIM_SLOT_ID_1)) {
815 return;
816 }
817 DataAccessToken token;
818 CellularDataTest::SetDefaultCellularDataSlotIdTest(SIM_SLOT_ID_1);
819 CellularDataTest::EnableCellularDataTest(false);
820 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
821 sleep(SLEEP_TIME);
822
823 CellularDataTest::EnableCellularDataTest(true);
824 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_CONNECTED));
825 sleep(SLEEP_TIME);
826 std::cout << "Cellular Data Connected Ping..." << std::endl;
827 int32_t pingResult = CellularDataTest::PingTest();
828 ASSERT_TRUE(pingResult >= PING_CHECK_SUCCESS);
829 int32_t dataFlowType = CellularDataTest::GetCellularDataFlowTypeTest();
830 ASSERT_TRUE(dataFlowType >= 0);
831
832 CellularDataTest::EnableCellularDataTest(false);
833 WaitTestTimeout(static_cast<int32_t>(DataConnectionStatus::DATA_STATE_DISCONNECTED));
834 sleep(SLEEP_TIME);
835 std::cout << "Cellular Data Disconnected Ping..." << std::endl;
836 pingResult = CellularDataTest::PingTest();
837 ASSERT_TRUE(pingResult == PING_CHECK_FAIL);
838 dataFlowType = CellularDataTest::GetCellularDataFlowTypeTest();
839 ASSERT_TRUE(dataFlowType == 0);
840 }
841
842 /**
843 * @tc.number MmsApn_Test_01
844 * @tc.name Test the Mms apn function
845 * @tc.desc Function test
846 */
HWTEST_F(CellularDataTest, MmsApn_Test_01, TestSize.Level3)847 HWTEST_F(CellularDataTest, MmsApn_Test_01, TestSize.Level3)
848 {
849 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
850 return;
851 }
852 DataAccessToken token;
853 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
854 if (callback == nullptr) {
855 std::cout << "callback is null" << std::endl;
856 return;
857 }
858 NetSpecifier netSpecifier;
859 NetAllCapabilities netAllCapabilities;
860 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_MMS);
861 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
862 int32_t simId = CoreServiceClient::GetInstance().GetSimId(DEFAULT_SIM_SLOT_ID);
863 netSpecifier.ident_ = "simId" + std::to_string(simId);
864 netSpecifier.netCapabilities_ = netAllCapabilities;
865 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
866 if (specifier == nullptr) {
867 std::cout << "specifier is null" << std::endl;
868 return;
869 }
870 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
871 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
872 auto mmsCallback = static_cast<TestCallback *>(callback.GetRefPtr());
873 if (mmsCallback == nullptr) {
874 std::cout << "mmsCallback is null" << std::endl;
875 return;
876 }
877 int32_t count = 0;
878 while (count < MAX_TIMES) {
879 sleep(SLEEP_TIME);
880 if (mmsCallback->isCallback_ == true) {
881 break;
882 }
883 count++;
884 }
885 ASSERT_TRUE(mmsCallback->isCallback_);
886 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
887 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
888 }
889
890 /**
891 * @tc.number MmsApn_Test_02
892 * @tc.name Test the Mms apn function
893 * @tc.desc Function test
894 */
HWTEST_F(CellularDataTest, MmsApn_Test_02, TestSize.Level3)895 HWTEST_F(CellularDataTest, MmsApn_Test_02, TestSize.Level3)
896 {
897 if (!HasSimCard(SIM_SLOT_ID_1)) {
898 return;
899 }
900 DataAccessToken token;
901 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
902 if (callback == nullptr) {
903 std::cout << "callback is null" << std::endl;
904 return;
905 }
906 NetSpecifier netSpecifier;
907 NetAllCapabilities netAllCapabilities;
908 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_MMS);
909 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
910 int32_t simId = CoreServiceClient::GetInstance().GetSimId(SIM_SLOT_ID_1);
911 netSpecifier.ident_ = "simId" + std::to_string(simId);
912 netSpecifier.netCapabilities_ = netAllCapabilities;
913 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
914 if (specifier == nullptr) {
915 std::cout << "specifier is null" << std::endl;
916 return;
917 }
918 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
919 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
920 auto mmsCallback = static_cast<TestCallback *>(callback.GetRefPtr());
921 if (mmsCallback == nullptr) {
922 std::cout << "mmsCallback is null" << std::endl;
923 return;
924 }
925 int32_t count = 0;
926 while (count < MAX_TIMES) {
927 sleep(SLEEP_TIME);
928 if (mmsCallback->isCallback_ == true) {
929 break;
930 }
931 count++;
932 }
933 ASSERT_TRUE(mmsCallback->isCallback_);
934 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
935 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
936 }
937
938 /**
939 * @tc.number HasInternetCapability_Test_01
940 * @tc.name Test the HasInternetCapability function
941 * @tc.desc Function test
942 */
HWTEST_F(CellularDataTest, HasInternetCapability_Test_01, TestSize.Level3)943 HWTEST_F(CellularDataTest, HasInternetCapability_Test_01, TestSize.Level3)
944 {
945 if (!HasSimCard(SIM_SLOT_ID_1)) {
946 return;
947 }
948
949 int32_t cid = 1;
950 int32_t result = CellularDataTest::HasInternetCapability(SIM_SLOT_ID_1, cid);
951 ASSERT_TRUE(result == static_cast<int32_t>(RequestNetCode::REQUEST_FAILED));
952 }
953
954 /**
955 * @tc.number HasInternetCapability_Test_02
956 * @tc.name Test the HasInternetCapability function
957 * @tc.desc Function test
958 */
HWTEST_F(CellularDataTest, HasInternetCapability_Test_02, TestSize.Level3)959 HWTEST_F(CellularDataTest, HasInternetCapability_Test_02, TestSize.Level3)
960 {
961 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
962 return;
963 }
964
965 int32_t cid = 1;
966 int32_t result = CellularDataTest::HasInternetCapability(DEFAULT_SIM_SLOT_ID, cid);
967 ASSERT_TRUE(result == static_cast<int32_t>(RequestNetCode::REQUEST_FAILED));
968 }
969
970 /**
971 * @tc.number ClearCellularDataConnections_Test_01
972 * @tc.name Test the ClearCellularDataConnections function
973 * @tc.desc Function test
974 */
HWTEST_F(CellularDataTest, ClearCellularDataConnections_Test_01, TestSize.Level3)975 HWTEST_F(CellularDataTest, ClearCellularDataConnections_Test_01, TestSize.Level3)
976 {
977 if (!HasSimCard(SIM_SLOT_ID_1)) {
978 return;
979 }
980 DataAccessToken token;
981 int32_t result = CellularDataTest::ClearCellularDataConnections(SIM_SLOT_ID_1);
982 ASSERT_TRUE(result == static_cast<int32_t>(RequestNetCode::REQUEST_SUCCESS));
983 }
984
985 /**
986 * @tc.number ClearCellularDataConnections_Test_02
987 * @tc.name Test the ClearCellularDataConnections function
988 * @tc.desc Function test
989 */
HWTEST_F(CellularDataTest, ClearCellularDataConnections_Test_02, TestSize.Level3)990 HWTEST_F(CellularDataTest, ClearCellularDataConnections_Test_02, TestSize.Level3)
991 {
992 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
993 return;
994 }
995 DataAccessToken token;
996 int32_t result = CellularDataTest::ClearCellularDataConnections(DEFAULT_SIM_SLOT_ID);
997 ASSERT_TRUE(result == static_cast<int32_t>(RequestNetCode::REQUEST_SUCCESS));
998 }
999
1000 /**
1001 * @tc.number ClearAllConnections
1002 * @tc.name Test the ClearAllConnections function
1003 * @tc.desc Function test
1004 */
HWTEST_F(CellularDataTest, ClearAllConnections_Test_01, TestSize.Level3)1005 HWTEST_F(CellularDataTest, ClearAllConnections_Test_01, TestSize.Level3)
1006 {
1007 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1008 return;
1009 }
1010 DataAccessToken token;
1011 int32_t result = CellularDataTest::ClearAllConnections(
1012 DEFAULT_SIM_SLOT_ID, DisConnectionReason::REASON_RETRY_CONNECTION);
1013 ASSERT_TRUE(result == static_cast<int32_t>(RequestNetCode::REQUEST_SUCCESS));
1014 }
1015
1016 /**
1017 * @tc.number GetApnState
1018 * @tc.name Test the GetApnState function
1019 * @tc.desc Function test
1020 */
HWTEST_F(CellularDataTest, GetApnState_Test_01, TestSize.Level3)1021 HWTEST_F(CellularDataTest, GetApnState_Test_01, TestSize.Level3)
1022 {
1023 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1024 return;
1025 }
1026 DataAccessToken token;
1027 int32_t result = CellularDataTest::GetApnState(DEFAULT_SIM_SLOT_ID, "default");
1028 ASSERT_TRUE(result >= 0 && result <= 5);
1029 }
1030
1031 /**
1032 * @tc.number GetDataRecoveryState
1033 * @tc.name Test the GetDataRecoveryState function
1034 * @tc.desc Function test
1035 */
HWTEST_F(CellularDataTest, GetDataRecoveryState_Test_01, TestSize.Level3)1036 HWTEST_F(CellularDataTest, GetDataRecoveryState_Test_01, TestSize.Level3)
1037 {
1038 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1039 return;
1040 }
1041 DataAccessToken token;
1042 int32_t result = CellularDataTest::GetDataRecoveryState();
1043 ASSERT_TRUE(result >= 0 && result <= 3);
1044 }
1045
1046 /**
1047 * @tc.number CellularDataDump_Test_01
1048 * @tc.name TestDump
1049 * @tc.desc Function test
1050 */
HWTEST_F(CellularDataTest, CellularDataDump_Test_01, Function | MediumTest | Level3)1051 HWTEST_F(CellularDataTest, CellularDataDump_Test_01, Function | MediumTest | Level3)
1052 {
1053 std::vector<std::u16string> emptyArgs = {};
1054 std::vector<std::u16string> args = { u"test", u"test1" };
1055 EXPECT_GE(DelayedSingleton<CellularDataService>::GetInstance()->Dump(-1, args), 0);
1056 EXPECT_GE(DelayedSingleton<CellularDataService>::GetInstance()->Dump(0, emptyArgs), 0);
1057 EXPECT_GE(DelayedSingleton<CellularDataService>::GetInstance()->Dump(0, args), 0);
1058 }
1059
1060 /**
1061 * @tc.number Telephony_Cellulardata_InitTelephonyExtService_0100
1062 * @tc.name Init Telephony Ext Service.
1063 * @tc.desc Function test
1064 */
HWTEST_F(CellularDataTest, Telephony_Cellulardata_InitTelephonyExtService_0100, Function | MediumTest | Level1)1065 HWTEST_F(CellularDataTest, Telephony_Cellulardata_InitTelephonyExtService_0100, Function | MediumTest | Level1)
1066 {
1067 DataAccessToken token;
1068 TELEPHONY_EXT_WRAPPER.InitTelephonyExtWrapper();
1069 if (TELEPHONY_EXT_WRAPPER.telephonyExtWrapperHandle_ == nullptr) {
1070 TELEPHONY_LOGI("telephonyExtWrapperHandle_ null");
1071 } else {
1072 TELEPHONY_LOGI("telephonyExtWrapperHandle_ not null");
1073 EXPECT_EQ(TELEPHONY_EXT_WRAPPER.dataEndSelfCure_ != nullptr, true);
1074 }
1075 }
1076
1077 /**
1078 * @tc.number GetDataConnApnAttr_Test_01
1079 * @tc.name Test the GetDataConnApnAttr function
1080 * @tc.desc Function test
1081 */
HWTEST_F(CellularDataTest, GetDataConnApnAttr_Test_01, TestSize.Level3)1082 HWTEST_F(CellularDataTest, GetDataConnApnAttr_Test_01, TestSize.Level3)
1083 {
1084 if (!HasSimCard(SIM_SLOT_ID_1)) {
1085 return;
1086 }
1087 DataAccessToken token;
1088 ApnItem::Attribute apnAttr;
1089 int32_t result = CellularDataTest::GetDataConnApnAttr(SIM_SLOT_ID_1, apnAttr);
1090 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1091 }
1092
1093 /**
1094 * @tc.number GetDataConnApnAttr_Test_02
1095 * @tc.name Test the GetDataConnApnAttr function
1096 * @tc.desc Function test
1097 */
HWTEST_F(CellularDataTest, GetDataConnApnAttr_Test_02, TestSize.Level3)1098 HWTEST_F(CellularDataTest, GetDataConnApnAttr_Test_02, TestSize.Level3)
1099 {
1100 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1101 return;
1102 }
1103 DataAccessToken token;
1104 ApnItem::Attribute apnAttr;
1105 int32_t result = CellularDataTest::GetDataConnApnAttr(DEFAULT_SIM_SLOT_ID, apnAttr);
1106 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1107 }
1108
1109 /**
1110 * @tc.number GetDataConnIpType_Test_01
1111 * @tc.name Test the GetDataConnIpType function
1112 * @tc.desc Function test
1113 */
HWTEST_F(CellularDataTest, GetDataConnIpType_Test_01, TestSize.Level3)1114 HWTEST_F(CellularDataTest, GetDataConnIpType_Test_01, TestSize.Level3)
1115 {
1116 if (!HasSimCard(SIM_SLOT_ID_1)) {
1117 return;
1118 }
1119 DataAccessToken token;
1120 std::string ipType;
1121 int32_t result = CellularDataTest::GetDataConnIpType(SIM_SLOT_ID_1, ipType);
1122 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1123 }
1124
1125 /**
1126 * @tc.number GetDataConnIpType_Test_02
1127 * @tc.name Test the GetDataConnIpType function
1128 * @tc.desc Function test
1129 */
HWTEST_F(CellularDataTest, GetDataConnIpType_Test_02, TestSize.Level3)1130 HWTEST_F(CellularDataTest, GetDataConnIpType_Test_02, TestSize.Level3)
1131 {
1132 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1133 return;
1134 }
1135 DataAccessToken token;
1136 std::string ipType;
1137 int32_t result = CellularDataTest::GetDataConnIpType(DEFAULT_SIM_SLOT_ID, ipType);
1138 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1139 }
1140
1141 /**
1142 * @tc.number IsNeedDoRecovery_Test_01
1143 * @tc.name Test the IsNeedDoRecovery function
1144 * @tc.desc Function test
1145 */
HWTEST_F(CellularDataTest, IsNeedDoRecovery_Test_01, TestSize.Level3)1146 HWTEST_F(CellularDataTest, IsNeedDoRecovery_Test_01, TestSize.Level3)
1147 {
1148 if (!HasSimCard(SIM_SLOT_ID_1)) {
1149 return;
1150 }
1151 DataAccessToken token;
1152 bool needDoRecovery = true;
1153 int32_t result = CellularDataTest::IsNeedDoRecovery(SIM_SLOT_ID_1, needDoRecovery);
1154 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1155 }
1156
1157 /**
1158 * @tc.number IsNeedDoRecovery_Test_02
1159 * @tc.name Test the IsNeedDoRecovery function
1160 * @tc.desc Function test
1161 */
HWTEST_F(CellularDataTest, IsNeedDoRecovery_Test_02, TestSize.Level3)1162 HWTEST_F(CellularDataTest, IsNeedDoRecovery_Test_02, TestSize.Level3)
1163 {
1164 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1165 return;
1166 }
1167 DataAccessToken token;
1168 bool needDoRecovery = true;
1169 int32_t result = CellularDataTest::IsNeedDoRecovery(DEFAULT_SIM_SLOT_ID, needDoRecovery);
1170 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1171 }
1172
1173 /**
1174 * @tc.number GetCellularDataSupplierId_Test_01
1175 * @tc.name Test the function
1176 * @tc.desc Function test
1177 */
HWTEST_F(CellularDataTest, GetCellularDataSupplierId_Test_01, TestSize.Level3)1178 HWTEST_F(CellularDataTest, GetCellularDataSupplierId_Test_01, TestSize.Level3)
1179 {
1180 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1181 return;
1182 }
1183 DataAccessToken token;
1184 uint32_t supplierId = 0;
1185 uint64_t capabilityInvalid = NetCap::NET_CAPABILITY_END;
1186 int32_t result = CellularDataTest::GetCellularDataSupplierId(DEFAULT_SIM_SLOT_ID, capabilityInvalid, supplierId);
1187 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
1188
1189 result =
1190 CellularDataTest::GetCellularDataSupplierId(DEFAULT_SIM_SLOT_ID, NetCap::NET_CAPABILITY_INTERNET, supplierId);
1191 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1192 }
1193
1194 /**
1195 * @tc.number CorrectNetSupplierNoAvailable_Test_01
1196 * @tc.name Test the function
1197 * @tc.desc Function test
1198 */
HWTEST_F(CellularDataTest, CorrectNetSupplierNoAvailable_Test_01, TestSize.Level3)1199 HWTEST_F(CellularDataTest, CorrectNetSupplierNoAvailable_Test_01, TestSize.Level3)
1200 {
1201 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1202 return;
1203 }
1204 DataAccessToken token;
1205 int32_t result = CellularDataTest::CorrectNetSupplierNoAvailable(DEFAULT_SIM_SLOT_ID);
1206 int32_t apnState = CellularDataTest::GetApnState(DEFAULT_SIM_SLOT_ID, "default");
1207 if (apnState == ApnProfileState::PROFILE_STATE_CONNECTED) {
1208 ASSERT_TRUE(result == TELEPHONY_ERR_FAIL);
1209 } else {
1210 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1211 }
1212 }
1213
1214 /**
1215 * @tc.number GetSupplierRegisterState_Test_01
1216 * @tc.name Test the function
1217 * @tc.desc Function test
1218 */
HWTEST_F(CellularDataTest, GetSupplierRegisterState_Test_01, TestSize.Level3)1219 HWTEST_F(CellularDataTest, GetSupplierRegisterState_Test_01, TestSize.Level3)
1220 {
1221 DataAccessToken token;
1222 int32_t regState = -1;
1223 uint32_t supplierId = 1;
1224 int32_t result = CellularDataTest::GetSupplierRegisterState(supplierId, regState);
1225 ASSERT_TRUE(result == TELEPHONY_ERR_FAIL);
1226
1227 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1228 return;
1229 }
1230 int32_t getSupplierIdRet =
1231 CellularDataTest::GetCellularDataSupplierId(DEFAULT_SIM_SLOT_ID, NetCap::NET_CAPABILITY_INTERNET, supplierId);
1232 if (getSupplierIdRet == TELEPHONY_ERR_SUCCESS) {
1233 result = CellularDataTest::GetSupplierRegisterState(supplierId, regState);
1234 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1235 }
1236 }
1237
1238 /**
1239 * @tc.number EnableIntelligenceSwitch_Test_01
1240 * @tc.name Test Intelligence switch
1241 * @tc.desc Function test
1242 */
HWTEST_F(CellularDataTest, EnableIntelligenceSwitch_Test_01, TestSize.Level2)1243 HWTEST_F(CellularDataTest, EnableIntelligenceSwitch_Test_01, TestSize.Level2)
1244 {
1245 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1246 return;
1247 }
1248 DataAccessToken token;
1249 CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
1250 int32_t result1 = CellularDataTest::EnableIntelligenceSwitchTest(true);
1251 ASSERT_TRUE(result1 == TELEPHONY_ERR_SUCCESS);
1252 sleep(SLEEP_TIME);
1253 std::cout << "EnableIntelligenceSwitch ..." << std::endl;
1254 int32_t result2 = CellularDataTest::EnableIntelligenceSwitchTest(false);
1255 ASSERT_TRUE(result2 == TELEPHONY_ERR_SUCCESS);
1256 sleep(SLEEP_TIME);
1257 std::cout << "DisableIntelligenceSwitch ..." << std::endl;
1258 }
1259
1260 /**
1261 * @tc.number GetIntelligenceSwitchState_Test_01
1262 * @tc.name Test Intelligence switch
1263 * @tc.desc Function test
1264 */
HWTEST_F(CellularDataTest, GetIntelligenceSwitchState_Test_01, TestSize.Level2)1265 HWTEST_F(CellularDataTest, GetIntelligenceSwitchState_Test_01, TestSize.Level2)
1266 {
1267 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1268 return;
1269 }
1270 DataAccessToken token;
1271 CellularDataTest::SetDefaultCellularDataSlotIdTest(DEFAULT_SIM_SLOT_ID);
1272 int32_t result1 = CellularDataTest::EnableIntelligenceSwitchTest(true);
1273 ASSERT_TRUE(result1 == TELEPHONY_ERR_SUCCESS);
1274 bool res1 = false;
1275 CellularDataTest::GetIntelligenceSwitchStateTest(res1);
1276 ASSERT_TRUE(res1 == true);
1277 std::cout << "Test GetIntelligenceSwitchState Of True..." << std::endl;
1278 int32_t result2 = CellularDataTest::EnableIntelligenceSwitchTest(false);
1279 ASSERT_TRUE(result2 == TELEPHONY_ERR_SUCCESS);
1280 bool res2 = true;
1281 CellularDataTest::GetIntelligenceSwitchStateTest(res2);
1282 ASSERT_TRUE(res2 == false);
1283 std::cout << "Test GetIntelligenceSwitchState Of False..." << std::endl;
1284 }
1285
1286 /**
1287 * @tc.number InitCellularDataController_Test_01
1288 * @tc.name Test the InitCellularDataController function
1289 * @tc.desc Function test
1290 */
HWTEST_F(CellularDataTest, InitCellularDataController_Test_01, TestSize.Level3)1291 HWTEST_F(CellularDataTest, InitCellularDataController_Test_01, TestSize.Level3)
1292 {
1293 if (!HasSimCard(SIM_SLOT_ID_1)) {
1294 return;
1295 }
1296 DataAccessToken token;
1297 int32_t result = CellularDataTest::InitCellularDataController(SIM_SLOT_ID_1);
1298 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
1299 }
1300
1301 /**
1302 * @tc.number InitCellularDataController_Test_02
1303 * @tc.name Test the InitCellularDataController function
1304 * @tc.desc Function test
1305 */
HWTEST_F(CellularDataTest, InitCellularDataController_Test_02, TestSize.Level3)1306 HWTEST_F(CellularDataTest, InitCellularDataController_Test_02, TestSize.Level3)
1307 {
1308 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1309 return;
1310 }
1311 DataAccessToken token;
1312 int32_t result = CellularDataTest::InitCellularDataController(DEFAULT_SIM_SLOT_ID);
1313 ASSERT_TRUE(result == CELLULAR_DATA_INVALID_PARAM);
1314 }
1315
1316 /**
1317 * @tc.number InitCellularDataController_Test_03
1318 * @tc.name Test the InitCellularDataController function
1319 * @tc.desc Function test
1320 */
HWTEST_F(CellularDataTest, InitCellularDataController_Test_03, TestSize.Level3)1321 HWTEST_F(CellularDataTest, InitCellularDataController_Test_03, TestSize.Level3)
1322 {
1323 DataAccessToken token;
1324 int32_t result = CellularDataTest::InitCellularDataController(CELLULAR_DATA_VSIM_SLOT_ID);
1325 ASSERT_TRUE(result == TELEPHONY_ERR_SUCCESS);
1326 }
1327
1328 /**
1329 * @tc.number SUPL_Apn_Test_01
1330 * @tc.name Test the SUPL apn function
1331 * @tc.desc Function test
1332 */
HWTEST_F(CellularDataTest, SUPL_Apn_Test_01, TestSize.Level3)1333 HWTEST_F(CellularDataTest, SUPL_Apn_Test_01, TestSize.Level3)
1334 {
1335 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1336 return;
1337 }
1338 DataAccessToken token;
1339 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1340 if (callback == nullptr) {
1341 std::cout << "callback is null" << std::endl;
1342 return;
1343 }
1344 NetSpecifier netSpecifier;
1345 NetAllCapabilities netAllCapabilities;
1346 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_SUPL);
1347 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1348 int32_t simId = CoreServiceClient::GetInstance().GetSimId(DEFAULT_SIM_SLOT_ID);
1349 netSpecifier.ident_ = "simId" + std::to_string(simId);
1350 netSpecifier.netCapabilities_ = netAllCapabilities;
1351 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1352 if (specifier == nullptr) {
1353 std::cout << "specifier is null" << std::endl;
1354 return;
1355 }
1356 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1357 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1358 auto suplCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1359 if (suplCallback == nullptr) {
1360 std::cout << "suplCallback is null" << std::endl;
1361 return;
1362 }
1363 int32_t count = 0;
1364 while (count < MAX_TIMES) {
1365 sleep(SLEEP_TIME);
1366 if (suplCallback->isCallback_ == true) {
1367 break;
1368 }
1369 count++;
1370 }
1371 ASSERT_TRUE(suplCallback->isCallback_);
1372 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1373 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1374 }
1375
1376 /**
1377 * @tc.number SUPL_Apn_Test_02
1378 * @tc.name Test the SUPL apn function
1379 * @tc.desc Function test
1380 */
HWTEST_F(CellularDataTest, SUPL_Apn_Test_02, TestSize.Level3)1381 HWTEST_F(CellularDataTest, SUPL_Apn_Test_02, TestSize.Level3)
1382 {
1383 if (!HasSimCard(SIM_SLOT_ID_1)) {
1384 return;
1385 }
1386 DataAccessToken token;
1387 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1388 if (callback == nullptr) {
1389 std::cout << "callback is null" << std::endl;
1390 return;
1391 }
1392 NetSpecifier netSpecifier;
1393 NetAllCapabilities netAllCapabilities;
1394 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_SUPL);
1395 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1396 int32_t simId = CoreServiceClient::GetInstance().GetSimId(SIM_SLOT_ID_1);
1397 netSpecifier.ident_ = "simId" + std::to_string(simId);
1398 netSpecifier.netCapabilities_ = netAllCapabilities;
1399 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1400 if (specifier == nullptr) {
1401 std::cout << "specifier is null" << std::endl;
1402 return;
1403 }
1404 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1405 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1406 auto suplCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1407 if (suplCallback == nullptr) {
1408 std::cout << "suplCallback is null" << std::endl;
1409 return;
1410 }
1411 int32_t count = 0;
1412 while (count < MAX_TIMES) {
1413 sleep(SLEEP_TIME);
1414 if (suplCallback->isCallback_ == true) {
1415 break;
1416 }
1417 count++;
1418 }
1419 ASSERT_TRUE(suplCallback->isCallback_);
1420 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1421 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1422 }
1423
1424 /**
1425 * @tc.number DUN_Apn_Test_01
1426 * @tc.name Test the DUN apn function
1427 * @tc.desc Function test
1428 */
HWTEST_F(CellularDataTest, DUN_Apn_Test_01, TestSize.Level3)1429 HWTEST_F(CellularDataTest, DUN_Apn_Test_01, TestSize.Level3)
1430 {
1431 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1432 return;
1433 }
1434 DataAccessToken token;
1435 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1436 if (callback == nullptr) {
1437 std::cout << "callback is null" << std::endl;
1438 return;
1439 }
1440 NetSpecifier netSpecifier;
1441 NetAllCapabilities netAllCapabilities;
1442 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_DUN);
1443 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1444 int32_t simId = CoreServiceClient::GetInstance().GetSimId(DEFAULT_SIM_SLOT_ID);
1445 netSpecifier.ident_ = "simId" + std::to_string(simId);
1446 netSpecifier.netCapabilities_ = netAllCapabilities;
1447 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1448 if (specifier == nullptr) {
1449 std::cout << "specifier is null" << std::endl;
1450 return;
1451 }
1452 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1453 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1454 auto dunCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1455 if (dunCallback == nullptr) {
1456 std::cout << "dunCallback is null" << std::endl;
1457 return;
1458 }
1459 int32_t count = 0;
1460 while (count < MAX_TIMES) {
1461 sleep(SLEEP_TIME);
1462 if (dunCallback->isCallback_ == true) {
1463 break;
1464 }
1465 count++;
1466 }
1467 ASSERT_TRUE(dunCallback->isCallback_);
1468 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1469 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1470 }
1471
1472 /**
1473 * @tc.number DUN_Apn_Test_02
1474 * @tc.name Test the DUN apn function
1475 * @tc.desc Function test
1476 */
HWTEST_F(CellularDataTest, DUN_Apn_Test_02, TestSize.Level3)1477 HWTEST_F(CellularDataTest, DUN_Apn_Test_02, TestSize.Level3)
1478 {
1479 if (!HasSimCard(SIM_SLOT_ID_1)) {
1480 return;
1481 }
1482 DataAccessToken token;
1483 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1484 if (callback == nullptr) {
1485 std::cout << "callback is null" << std::endl;
1486 return;
1487 }
1488 NetSpecifier netSpecifier;
1489 NetAllCapabilities netAllCapabilities;
1490 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_DUN);
1491 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1492 int32_t simId = CoreServiceClient::GetInstance().GetSimId(SIM_SLOT_ID_1);
1493 netSpecifier.ident_ = "simId" + std::to_string(simId);
1494 netSpecifier.netCapabilities_ = netAllCapabilities;
1495 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1496 if (specifier == nullptr) {
1497 std::cout << "specifier is null" << std::endl;
1498 return;
1499 }
1500 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1501 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1502 auto dunCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1503 if (dunCallback == nullptr) {
1504 std::cout << "dunCallback is null" << std::endl;
1505 return;
1506 }
1507 int32_t count = 0;
1508 while (count < MAX_TIMES) {
1509 sleep(SLEEP_TIME);
1510 if (dunCallback->isCallback_ == true) {
1511 break;
1512 }
1513 count++;
1514 }
1515 ASSERT_TRUE(dunCallback->isCallback_);
1516 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1517 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1518 }
1519
1520 /**
1521 * @tc.number IA_Apn_Test_01
1522 * @tc.name Test the IA apn function
1523 * @tc.desc Function test
1524 */
HWTEST_F(CellularDataTest, IA_Apn_Test_01, TestSize.Level3)1525 HWTEST_F(CellularDataTest, IA_Apn_Test_01, TestSize.Level3)
1526 {
1527 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1528 return;
1529 }
1530 DataAccessToken token;
1531 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1532 if (callback == nullptr) {
1533 std::cout << "callback is null" << std::endl;
1534 return;
1535 }
1536 NetSpecifier netSpecifier;
1537 NetAllCapabilities netAllCapabilities;
1538 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_IA);
1539 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1540 int32_t simId = CoreServiceClient::GetInstance().GetSimId(DEFAULT_SIM_SLOT_ID);
1541 netSpecifier.ident_ = "simId" + std::to_string(simId);
1542 netSpecifier.netCapabilities_ = netAllCapabilities;
1543 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1544 if (specifier == nullptr) {
1545 std::cout << "specifier is null" << std::endl;
1546 return;
1547 }
1548 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1549 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1550 auto iaCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1551 if (iaCallback == nullptr) {
1552 std::cout << "iaCallback is null" << std::endl;
1553 return;
1554 }
1555 int32_t count = 0;
1556 while (count < MAX_TIMES) {
1557 sleep(SLEEP_TIME);
1558 if (iaCallback->isCallback_ == true) {
1559 break;
1560 }
1561 count++;
1562 }
1563 ASSERT_TRUE(iaCallback->isCallback_);
1564 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1565 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1566 }
1567
1568 /**
1569 * @tc.number IA_Apn_Test_02
1570 * @tc.name Test the IA apn function
1571 * @tc.desc Function test
1572 */
HWTEST_F(CellularDataTest, IA_Apn_Test_02, TestSize.Level3)1573 HWTEST_F(CellularDataTest, IA_Apn_Test_02, TestSize.Level3)
1574 {
1575 if (!HasSimCard(SIM_SLOT_ID_1)) {
1576 return;
1577 }
1578 DataAccessToken token;
1579 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1580 if (callback == nullptr) {
1581 std::cout << "callback is null" << std::endl;
1582 return;
1583 }
1584 NetSpecifier netSpecifier;
1585 NetAllCapabilities netAllCapabilities;
1586 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_IA);
1587 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1588 int32_t simId = CoreServiceClient::GetInstance().GetSimId(SIM_SLOT_ID_1);
1589 netSpecifier.ident_ = "simId" + std::to_string(simId);
1590 netSpecifier.netCapabilities_ = netAllCapabilities;
1591 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1592 if (specifier == nullptr) {
1593 std::cout << "specifier is null" << std::endl;
1594 return;
1595 }
1596 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1597 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1598 auto iaCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1599 if (iaCallback == nullptr) {
1600 std::cout << "iaCallback is null" << std::endl;
1601 return;
1602 }
1603 int32_t count = 0;
1604 while (count < MAX_TIMES) {
1605 sleep(SLEEP_TIME);
1606 if (iaCallback->isCallback_ == true) {
1607 break;
1608 }
1609 count++;
1610 }
1611 ASSERT_TRUE(iaCallback->isCallback_);
1612 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1613 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1614 }
1615
1616 /**
1617 * @tc.number XCAP_Apn_Test_01
1618 * @tc.name Test the XCAP apn function
1619 * @tc.desc Function test
1620 */
HWTEST_F(CellularDataTest, XCAP_Apn_Test_01, TestSize.Level3)1621 HWTEST_F(CellularDataTest, XCAP_Apn_Test_01, TestSize.Level3)
1622 {
1623 if (!HasSimCard(DEFAULT_SIM_SLOT_ID)) {
1624 return;
1625 }
1626 DataAccessToken token;
1627 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1628 if (callback == nullptr) {
1629 std::cout << "callback is null" << std::endl;
1630 return;
1631 }
1632 NetSpecifier netSpecifier;
1633 NetAllCapabilities netAllCapabilities;
1634 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_XCAP);
1635 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1636 int32_t simId = CoreServiceClient::GetInstance().GetSimId(DEFAULT_SIM_SLOT_ID);
1637 netSpecifier.ident_ = "simId" + std::to_string(simId);
1638 netSpecifier.netCapabilities_ = netAllCapabilities;
1639 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1640 if (specifier == nullptr) {
1641 std::cout << "specifier is null" << std::endl;
1642 return;
1643 }
1644 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1645 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1646 auto xcapCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1647 if (xcapCallback == nullptr) {
1648 std::cout << "xcapCallback is null" << std::endl;
1649 return;
1650 }
1651 int32_t count = 0;
1652 while (count < MAX_TIMES) {
1653 sleep(SLEEP_TIME);
1654 if (xcapCallback->isCallback_ == true) {
1655 break;
1656 }
1657 count++;
1658 }
1659 ASSERT_TRUE(xcapCallback->isCallback_);
1660 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1661 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1662 }
1663
1664 /**
1665 * @tc.number XCAP_Apn_Test_02
1666 * @tc.name Test the XCAP apn function
1667 * @tc.desc Function test
1668 */
HWTEST_F(CellularDataTest, XCAP_Apn_Test_02, TestSize.Level3)1669 HWTEST_F(CellularDataTest, XCAP_Apn_Test_02, TestSize.Level3)
1670 {
1671 if (!HasSimCard(SIM_SLOT_ID_1)) {
1672 return;
1673 }
1674 DataAccessToken token;
1675 sptr<INetConnCallback> callback = new (std::nothrow) TestCallback();
1676 if (callback == nullptr) {
1677 std::cout << "callback is null" << std::endl;
1678 return;
1679 }
1680 NetSpecifier netSpecifier;
1681 NetAllCapabilities netAllCapabilities;
1682 netAllCapabilities.netCaps_.insert(NetCap::NET_CAPABILITY_XCAP);
1683 netAllCapabilities.bearerTypes_.insert(NetBearType::BEARER_CELLULAR);
1684 int32_t simId = CoreServiceClient::GetInstance().GetSimId(SIM_SLOT_ID_1);
1685 netSpecifier.ident_ = "simId" + std::to_string(simId);
1686 netSpecifier.netCapabilities_ = netAllCapabilities;
1687 sptr<NetSpecifier> specifier = new (std::nothrow) NetSpecifier(netSpecifier);
1688 if (specifier == nullptr) {
1689 std::cout << "specifier is null" << std::endl;
1690 return;
1691 }
1692 int32_t result = NetConnClient::GetInstance().RegisterNetConnCallback(specifier, callback, NET_REGISTER_TIMEOUT_MS);
1693 std::cout << "RegisterNetConnCallback result [" << result << "]" << std::endl;
1694 auto xcapCallback = static_cast<TestCallback *>(callback.GetRefPtr());
1695 if (xcapCallback == nullptr) {
1696 std::cout << "xcapCallback is null" << std::endl;
1697 return;
1698 }
1699 int32_t count = 0;
1700 while (count < MAX_TIMES) {
1701 sleep(SLEEP_TIME);
1702 if (xcapCallback->isCallback_ == true) {
1703 break;
1704 }
1705 count++;
1706 }
1707 ASSERT_TRUE(xcapCallback->isCallback_);
1708 result = NetConnClient::GetInstance().UnregisterNetConnCallback(callback);
1709 std::cout << "UnregisterNetConnCallback result [" << result << "]" << std::endl;
1710 }
1711
1712 /**
1713 * @tc.number RequestNetwork_001
1714 * @tc.name Test the function
1715 * @tc.desc Function test
1716 */
HWTEST_F(CellularDataTest, RequestNetwork_001, TestSize.Level3)1717 HWTEST_F(CellularDataTest, RequestNetwork_001, TestSize.Level3)
1718 {
1719 std::string ident = "testIdent";
1720 std::set<NetCap> netCaps;
1721 NetManagerStandard::NetRequest netrequest;
1722 int32_t result = netAgent.callBack_->RequestNetwork(ident, netCaps, netrequest);
1723 ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM);
1724 }
1725
1726 /**
1727 * @tc.number RequestNetwork_002
1728 * @tc.name Test the function
1729 * @tc.desc Function test
1730 */
HWTEST_F(CellularDataTest, RequestNetwork_002, TestSize.Level3)1731 HWTEST_F(CellularDataTest, RequestNetwork_002, TestSize.Level3)
1732 {
1733 std::string ident = "testIdent";
1734 std::set<NetCap> netCaps = { NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET };
1735 NetManagerStandard::NetRequest netrequest;
1736 int32_t result = netAgent.callBack_->RequestNetwork(ident, netCaps, netrequest);
1737 ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM);
1738 }
1739
1740 /**
1741 * @tc.number ReleaseNetwork_001
1742 * @tc.name Test the function
1743 * @tc.desc Function test
1744 */
HWTEST_F(CellularDataTest, ReleaseNetwork_001, TestSize.Level3)1745 HWTEST_F(CellularDataTest, ReleaseNetwork_001, TestSize.Level3)
1746 {
1747 std::string ident = "testIdent";
1748 std::set<NetCap> netCaps;
1749 int32_t result = netAgent.callBack_->ReleaseNetwork(ident, netCaps);
1750 ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM);
1751 }
1752
1753 /**
1754 * @tc.number ReleaseNetwork_002
1755 * @tc.name Test the function
1756 * @tc.desc Function test
1757 */
HWTEST_F(CellularDataTest, ReleaseNetwork_002, TestSize.Level3)1758 HWTEST_F(CellularDataTest, ReleaseNetwork_002, TestSize.Level3)
1759 {
1760 std::string ident = "testIdent";
1761 std::set<NetCap> netCaps = { NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET };
1762 int32_t result = netAgent.callBack_->ReleaseNetwork(ident, netCaps);
1763 ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM);
1764 }
1765
1766 /**
1767 * @tc.number NetStrategySwitch_001
1768 * @tc.name Test the function
1769 * @tc.desc Function test
1770 */
HWTEST_F(CellularDataTest, NetStrategySwitch_001, TestSize.Level3)1771 HWTEST_F(CellularDataTest, NetStrategySwitch_001, TestSize.Level3)
1772 {
1773 int32_t result = netAgent.tacticsCallBack_->NetStrategySwitch("", true);
1774 ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM);
1775 }
1776
1777 /**
1778 * @tc.number NetStrategySwitch_002
1779 * @tc.name Test the function
1780 * @tc.desc Function test
1781 */
HWTEST_F(CellularDataTest, NetStrategySwitch_002, TestSize.Level3)1782 HWTEST_F(CellularDataTest, NetStrategySwitch_002, TestSize.Level3)
1783 {
1784 int32_t result = netAgent.tacticsCallBack_->NetStrategySwitch("abc", true);
1785 ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM);
1786 }
1787
1788 /**
1789 * @tc.number NetStrategySwitch_003
1790 * @tc.name Test the function
1791 * @tc.desc Function test
1792 */
HWTEST_F(CellularDataTest, NetStrategySwitch_003, TestSize.Level3)1793 HWTEST_F(CellularDataTest, NetStrategySwitch_003, TestSize.Level3)
1794 {
1795 int32_t result = netAgent.tacticsCallBack_->NetStrategySwitch("123", true);
1796 ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM);
1797 }
1798
1799 /**
1800 * @tc.number RdbUpdate_001
1801 * @tc.name Test the function
1802 * @tc.desc Function test
1803 */
HWTEST_F(CellularDataTest, RdbUpdate_001, TestSize.Level3)1804 HWTEST_F(CellularDataTest, RdbUpdate_001, TestSize.Level3)
1805 {
1806 DataShare::DataShareValuesBucket values;
1807 DataShare::DataSharePredicates predicates;
1808 CellularDataRdbHelper cellularDataRdbHelper;
1809 int result = cellularDataRdbHelper.Update(values, predicates);
1810 ASSERT_EQ(result, NULL_POINTER_EXCEPTION);
1811 }
1812
1813 /**
1814 * @tc.number RdbInsert_001
1815 * @tc.name Test the function
1816 * @tc.desc Function test
1817 */
HWTEST_F(CellularDataTest, RdbInsert_001, TestSize.Level3)1818 HWTEST_F(CellularDataTest, RdbInsert_001, TestSize.Level3)
1819 {
1820 DataShare::DataShareValuesBucket values;
1821 CellularDataRdbHelper cellularDataRdbHelper;
1822 int result = cellularDataRdbHelper.Insert(values);
1823 ASSERT_EQ(result, NULL_POINTER_EXCEPTION);
1824 }
1825
1826 /**
1827 * @tc.number QueryApns_001
1828 * @tc.name Test the function
1829 * @tc.desc Function test
1830 */
HWTEST_F(CellularDataTest, QueryApns_001, TestSize.Level3)1831 HWTEST_F(CellularDataTest, QueryApns_001, TestSize.Level3)
1832 {
1833 std::string mcc = "123";
1834 std::string mnc = "456";
1835 std::vector<PdpProfile> apnVec;
1836 int32_t slotId = 0;
1837 CellularDataRdbHelper cellularDataRdbHelper;
1838 bool result = cellularDataRdbHelper.QueryApns(mcc, mnc, apnVec, slotId);
1839 ASSERT_FALSE(result);
1840 }
1841
1842
1843 /**
1844 * @tc.number QueryMvnoApnsByType_001
1845 * @tc.name Test the function
1846 * @tc.desc Function test
1847 */
HWTEST_F(CellularDataTest, QueryMvnoApnsByType_001, TestSize.Level3)1848 HWTEST_F(CellularDataTest, QueryMvnoApnsByType_001, TestSize.Level3)
1849 {
1850 std::string mcc = "123";
1851 std::string mnc = "456";
1852 std::string mvnoType = "789";
1853 std::string mvnoDataFromSim = "";
1854 std::vector<PdpProfile> mvnoApnVec;
1855 int32_t slotId = 0;
1856 CellularDataRdbHelper cellularDataRdbHelper;
1857 bool result = cellularDataRdbHelper.QueryMvnoApnsByType(mcc, mnc, mvnoType, mvnoDataFromSim, mvnoApnVec, slotId);
1858 ASSERT_TRUE(result);
1859 }
1860
1861 /**
1862 * @tc.number QueryMvnoApnsByType_002
1863 * @tc.name Test the function
1864 * @tc.desc Function test
1865 */
HWTEST_F(CellularDataTest, QueryMvnoApnsByType_002, TestSize.Level3)1866 HWTEST_F(CellularDataTest, QueryMvnoApnsByType_002, TestSize.Level3)
1867 {
1868 std::string mcc = "123";
1869 std::string mnc = "456";
1870 std::string mvnoType = "789";
1871 std::string mvnoDataFromSim = "012";
1872 std::vector<PdpProfile> mvnoApnVec;
1873 int32_t slotId = 0;
1874 CellularDataRdbHelper cellularDataRdbHelper;
1875 bool result = cellularDataRdbHelper.QueryMvnoApnsByType(mcc, mnc, mvnoType, mvnoDataFromSim, mvnoApnVec, slotId);
1876 ASSERT_FALSE(result);
1877 }
1878
1879 /**
1880 * @tc.number ReadApnResult_001
1881 * @tc.name Test the function
1882 * @tc.desc Function test
1883 */
HWTEST_F(CellularDataTest, ReadApnResult_001, TestSize.Level3)1884 HWTEST_F(CellularDataTest, ReadApnResult_001, TestSize.Level3)
1885 {
1886 std::shared_ptr<DataShare::DataShareResultSet> result = nullptr;
1887 std::vector<PdpProfile> apnVec;
1888 CellularDataRdbHelper cellularDataRdbHelper;
1889 cellularDataRdbHelper.ReadApnResult(nullptr, apnVec);
1890 ASSERT_TRUE(apnVec.empty());
1891 }
1892
1893 /**
1894 * @tc.number ReadApnResult_002
1895 * @tc.name Test the function
1896 * @tc.desc Function test
1897 */
HWTEST_F(CellularDataTest, ReadApnResult_002, TestSize.Level3)1898 HWTEST_F(CellularDataTest, ReadApnResult_002, TestSize.Level3)
1899 {
1900 std::shared_ptr<DataShare::DataShareResultSet> result = std::make_shared<DataShare::DataShareResultSet>();
1901 std::vector<PdpProfile> apnVec;
1902 CellularDataRdbHelper cellularDataRdbHelper;
1903 cellularDataRdbHelper.ReadApnResult(nullptr, apnVec);
1904 ASSERT_TRUE(apnVec.empty());
1905 }
1906
1907 #else // TEL_TEST_UNSUPPORT
1908 /**
1909 * @tc.number DataMock_Test_01
1910 * @tc.name Test for unsupport platform
1911 * @tc.desc Function test
1912 */
HWTEST_F(CellularDataTest, DataMock_Test_01, TestSize.Level3)1913 HWTEST_F(CellularDataTest, DataMock_Test_01, TestSize.Level3)
1914 {
1915 EXPECT_TRUE(true);
1916 }
1917 #endif // TEL_TEST_UNSUPPORT
1918 /**
1919 * @tc.number CellularDataControllerAddUid_Test_01
1920 * @tc.name Test the CellularDataControllerAddUid function
1921 * @tc.desc Function test
1922 */
HWTEST_F(CellularDataTest, CellularDataControllerAddUid_Test_01, TestSize.Level3)1923 HWTEST_F(CellularDataTest, CellularDataControllerAddUid_Test_01, TestSize.Level3)
1924 {
1925 auto controller = std::make_shared<CellularDataController>(DEFAULT_SIM_SLOT_ID);
1926 controller->cellularDataHandler_ = nullptr;
1927 NetRequest request;
1928 request.uid = 0;
1929 ASSERT_FALSE(controller->AddUid(request));
1930 }
1931
1932 /**
1933 * @tc.number CellularDataControllerRemoveUid_Test_01
1934 * @tc.name Test the CellularDataControllerRemoveUid function
1935 * @tc.desc Function test
1936 */
HWTEST_F(CellularDataTest, CellularDataControllerRemoveUid_Test_1, TestSize.Level3)1937 HWTEST_F(CellularDataTest, CellularDataControllerRemoveUid_Test_1, TestSize.Level3)
1938 {
1939 auto controller = std::make_shared<CellularDataController>(DEFAULT_SIM_SLOT_ID);
1940 controller->cellularDataHandler_ = nullptr;
1941 NetRequest request;
1942 request.uid = 0;
1943 ASSERT_FALSE(controller->RemoveUid(request));
1944 }
1945
1946 /**
1947 * @tc.number ControllerReleaseCellularDataConnection_Test_01
1948 * @tc.name Test the Controlle ReleaseCellularDataConnection function
1949 * @tc.desc Function test
1950 */
HWTEST_F(CellularDataTest, ControllerReleaseCellularDataConnection_Test_1, TestSize.Level3)1951 HWTEST_F(CellularDataTest, ControllerReleaseCellularDataConnection_Test_1, TestSize.Level3)
1952 {
1953 auto controller = std::make_shared<CellularDataController>(DEFAULT_SIM_SLOT_ID);
1954 controller->cellularDataHandler_ = nullptr;
1955 ASSERT_FALSE(controller->ReleaseCellularDataConnection());
1956 }
1957 /**
1958 * @tc.number ControllerReleaseCellularDataConnection_Test_02
1959 * @tc.name Test the Controller ReleaseCellularDataConnection function
1960 * @tc.desc Function test
1961 */
HWTEST_F(CellularDataTest, ControllerReleaseCellularDataConnection_Test_2, TestSize.Level3)1962 HWTEST_F(CellularDataTest, ControllerReleaseCellularDataConnection_Test_2, TestSize.Level3)
1963 {
1964 auto controller = std::make_shared<CellularDataController>(DEFAULT_SIM_SLOT_ID);
1965 controller->Init();
1966 ASSERT_TRUE(controller->cellularDataHandler_ != nullptr);
1967 NetRequest request;
1968 ASSERT_TRUE(controller->ReleaseCellularDataConnection());
1969 }
1970
1971 /**
1972 * @tc.number ControllerUpdateNetworkInfo_Test_01
1973 * @tc.name Test the Controller UpdateNetworkInfo function
1974 * @tc.desc Function test
1975 */
HWTEST_F(CellularDataTest, ControllerUpdateNetworkInfo_Test_01, TestSize.Level3)1976 HWTEST_F(CellularDataTest, ControllerUpdateNetworkInfo_Test_01, TestSize.Level3)
1977 {
1978 auto controller = std::make_shared<CellularDataController>(DEFAULT_SIM_SLOT_ID);
1979 ASSERT_TRUE(controller->cellularDataHandler_ == nullptr);
1980 ASSERT_FALSE(controller->UpdateNetworkInfo());
1981 }
1982
1983 /**
1984 * @tc.number ControllerUpdateNetworkInfo_Test_02
1985 * @tc.name Test the Controller UpdateNetworkInfo function
1986 * @tc.desc Function test
1987 */
HWTEST_F(CellularDataTest, ControllerUpdateNetworkInfo_Test_02, TestSize.Level3)1988 HWTEST_F(CellularDataTest, ControllerUpdateNetworkInfo_Test_02, TestSize.Level3)
1989 {
1990 auto controller = std::make_shared<CellularDataController>(DEFAULT_SIM_SLOT_ID);
1991 EventFwk::MatchingSkills matchingSkills;
1992 matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED);
1993 EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
1994 auto cellularDataHandler = std::make_shared<CellularDataHandler>(subscriberInfo, 0);
1995 cellularDataHandler->Init();
1996 controller->cellularDataHandler_ = cellularDataHandler;
1997 ASSERT_TRUE(controller->cellularDataHandler_ != nullptr);
1998 ASSERT_TRUE(controller->UpdateNetworkInfo());
1999 }
2000
2001 } // namespace Telephony
2002 } // namespace OHOS
2003