• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef SMS_MMS_GTEST_H
16 #define SMS_MMS_GTEST_H
17 #define private public
18 #define protected public
19 
20 #include "accesstoken_kit.h"
21 #include "cdma_sms_message.h"
22 #include "cdma_sms_pdu_codec.h"
23 #include "cdma_sms_receive_handler.h"
24 #include "core_service_client.h"
25 #include "delivery_short_message_callback_stub.h"
26 #include "gtest/gtest.h"
27 #include "i_sms_service_interface.h"
28 #include "if_system_ability_manager.h"
29 #include "ipc_skeleton.h"
30 #include "iservice_registry.h"
31 #include "mms_address.h"
32 #include "mms_attachment.h"
33 #include "mms_base64.h"
34 #include "mms_body.h"
35 #include "mms_body_part.h"
36 #include "mms_body_part_header.h"
37 #include "mms_charset.h"
38 #include "mms_codec_type.h"
39 #include "mms_decode_buffer.h"
40 #include "mms_header.h"
41 #include "mms_msg.h"
42 #include "mms_quoted_printable.h"
43 #include "send_short_message_callback_stub.h"
44 #include "sms_delivery_callback_gtest.h"
45 #include "sms_mms_test_helper.h"
46 #include "sms_send_callback_gtest.h"
47 #include "sms_service.h"
48 #include "sms_service_manager_client.h"
49 #include "sms_service_proxy.h"
50 #include "string_utils.h"
51 #include "system_ability_definition.h"
52 #include "telephony_errors.h"
53 #include "telephony_log_wrapper.h"
54 #include "telephony_types.h"
55 #include "token_setproc.h"
56 
57 namespace OHOS {
58 namespace Telephony {
59 namespace {
60 sptr<ISmsServiceInterface> g_telephonyService = nullptr;
61 } // namespace
62 using namespace testing::ext;
63 using namespace Security::AccessToken;
64 using Security::AccessToken::AccessTokenID;
65 
66 HapInfoParams testMmsInfoParams = {
67     .bundleName = "tel_sms_mms_gtest",
68     .userID = 1,
69     .instIndex = 0,
70     .appIDDesc = "test",
71 };
72 
73 PermissionDef testPermReceiveSmsDef = {
74     .permissionName = "ohos.permission.RECEIVE_SMS",
75     .bundleName = "tel_sms_mms_gtest",
76     .grantMode = 1, // SYSTEM_GRANT
77     .label = "label",
78     .labelId = 1,
79     .description = "Test sms manager",
80     .descriptionId = 1,
81     .availableLevel = APL_SYSTEM_BASIC,
82 };
83 
84 PermissionStateFull testReceiveSmsState = {
85     .grantFlags = { 2 }, // PERMISSION_USER_SET
86     .grantStatus = { PermissionState::PERMISSION_GRANTED },
87     .isGeneral = true,
88     .permissionName = "ohos.permission.RECEIVE_SMS",
89     .resDeviceID = { "local" },
90 };
91 
92 PermissionDef testPermSendSmsDef = {
93     .permissionName = "ohos.permission.SEND_MESSAGES",
94     .bundleName = "tel_sms_mms_gtest",
95     .grantMode = 1, // SYSTEM_GRANT
96     .label = "label",
97     .labelId = 1,
98     .description = "Test sms manager",
99     .descriptionId = 1,
100     .availableLevel = APL_SYSTEM_BASIC,
101 };
102 
103 PermissionStateFull testSendSmsState = {
104     .grantFlags = { 2 }, // PERMISSION_USER_SET
105     .grantStatus = { PermissionState::PERMISSION_GRANTED },
106     .isGeneral = true,
107     .permissionName = "ohos.permission.SEND_MESSAGES",
108     .resDeviceID = { "local" },
109 };
110 
111 PermissionDef testPermSetTelephonyDef = {
112     .permissionName = "ohos.permission.SET_TELEPHONY_STATE",
113     .bundleName = "tel_sms_mms_gtest",
114     .grantMode = 1, // SYSTEM_GRANT
115     .label = "label",
116     .labelId = 1,
117     .description = "Test sms manager",
118     .descriptionId = 1,
119     .availableLevel = APL_SYSTEM_BASIC,
120 };
121 
122 PermissionStateFull testSetTelephonyState = {
123     .grantFlags = { 2 }, // PERMISSION_USER_SET
124     .grantStatus = { PermissionState::PERMISSION_GRANTED },
125     .isGeneral = true,
126     .permissionName = "ohos.permission.SET_TELEPHONY_STATE",
127     .resDeviceID = { "local" },
128 };
129 
130 PermissionDef testPermGetTelephonyDef = {
131     .permissionName = "ohos.permission.GET_TELEPHONY_STATE",
132     .bundleName = "tel_sms_mms_gtest",
133     .grantMode = 1, // SYSTEM_GRANT
134     .label = "label",
135     .labelId = 1,
136     .description = "Test sms manager",
137     .descriptionId = 1,
138     .availableLevel = APL_SYSTEM_BASIC,
139 };
140 
141 PermissionStateFull testGetTelephonyState = {
142     .grantFlags = { 2 }, // PERMISSION_USER_SET
143     .grantStatus = { PermissionState::PERMISSION_GRANTED },
144     .isGeneral = true,
145     .permissionName = "ohos.permission.GET_TELEPHONY_STATE",
146     .resDeviceID = { "local" },
147 };
148 
149 HapPolicyParams testMmsPolicyParams = {
150     .apl = APL_SYSTEM_BASIC,
151     .domain = "test.domain",
152     .permList = { testPermReceiveSmsDef, testPermSendSmsDef, testPermSetTelephonyDef, testPermGetTelephonyDef },
153     .permStateList = { testReceiveSmsState, testSendSmsState, testSetTelephonyState, testGetTelephonyState },
154 };
155 
156 class AccessMmsToken {
157 public:
AccessMmsToken()158     AccessMmsToken()
159     {
160         currentID_ = GetSelfTokenID();
161         TELEPHONY_LOGI("AccessMmsToken currentID_%{public}d", currentID_);
162         AccessTokenIDEx tokenIdEx = AccessTokenKit::AllocHapToken(testMmsInfoParams, testMmsPolicyParams);
163         accessID_ = tokenIdEx.tokenIdExStruct.tokenID;
164         SetSelfTokenID(accessID_);
165     }
~AccessMmsToken()166     ~AccessMmsToken()
167     {
168         TELEPHONY_LOGI("AccessMmsToken  ~AccessMmsToken");
169         AccessTokenKit::DeleteToken(accessID_);
170         SetSelfTokenID(currentID_);
171     }
172 
173 private:
174     AccessTokenID currentID_ = 0;
175     AccessTokenID accessID_ = 0;
176 };
177 
178 class SmsMmsGtest : public testing::Test {
179 public:
180     static void SetUpTestCase();
181     static void TearDownTestCase();
182     void SetUp();
183     void TearDown();
184     static sptr<ISmsServiceInterface> GetProxy();
HasSimCard(int32_t slotId)185     static bool HasSimCard(int32_t slotId)
186     {
187         bool hasSimCard = false;
188         if (CoreServiceClient::GetInstance().GetProxy() == nullptr) {
189             return hasSimCard;
190         }
191         CoreServiceClient::GetInstance().HasSimCard(slotId, hasSimCard);
192         return hasSimCard;
193     }
194 };
195 
TearDownTestCase()196 void SmsMmsGtest::TearDownTestCase() {}
197 
SetUp()198 void SmsMmsGtest::SetUp() {}
199 
TearDown()200 void SmsMmsGtest::TearDown() {}
201 
202 const int32_t DEFAULT_SIM_SLOT_ID_1 = 1;
203 const std::string DES_ADDR = "10086";
204 const std::string TEXT_SMS_CONTENT = "hello world";
205 const uint8_t DATA_SMS[] = "hello world";
206 const uint16_t SMS_PORT = 100;
207 
SetUpTestCase()208 void SmsMmsGtest::SetUpTestCase()
209 {
210     TELEPHONY_LOGI("SetUpTestCase slotId%{public}d", DEFAULT_SIM_SLOT_ID_1);
211     g_telephonyService = GetProxy();
212     if (g_telephonyService == nullptr) {
213         return;
214     }
215     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->ResetSmsServiceProxy();
216     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->InitSmsServiceProxy();
217 }
218 
GetProxy()219 sptr<ISmsServiceInterface> SmsMmsGtest::GetProxy()
220 {
221     auto systemAbilityMgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
222     if (systemAbilityMgr == nullptr) {
223         return nullptr;
224     }
225     sptr<IRemoteObject> remote = systemAbilityMgr->CheckSystemAbility(TELEPHONY_SMS_MMS_SYS_ABILITY_ID);
226     if (remote) {
227         sptr<ISmsServiceInterface> smsService = iface_cast<ISmsServiceInterface>(remote);
228         return smsService;
229     }
230     return nullptr;
231 }
232 
233 #ifndef TEL_TEST_UNSUPPORT
234 /**
235  * @tc.number   Telephony_SmsMmsGtest_GetProxy_0001
236  * @tc.name     Get SmsMms service
237  * @tc.desc     Function test
238  */
239 HWTEST_F(SmsMmsGtest, GetProxy_0001, Function | MediumTest | Level0)
240 {
241     TELEPHONY_LOGI("TelSMSMMSTest::GetProxy_0001 -->");
242     g_telephonyService = SmsMmsGtest::GetProxy();
243     TELEPHONY_LOGI("TelSMSMMSTest::GetProxy_0001 -->finished");
244     EXPECT_FALSE(g_telephonyService == nullptr);
245 }
246 
OpenCellBroadcastTestFuc(SmsMmsTestHelper & helper)247 void OpenCellBroadcastTestFuc(SmsMmsTestHelper &helper)
248 {
249     bool enable = true;
250     uint32_t fromMsgId = 0;
251     uint32_t toMsgId = 10;
252     uint8_t netType = 1;
253     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
254         helper.slotId, enable, fromMsgId, toMsgId, netType);
255     helper.SetIntResult(result);
256     helper.NotifyAll();
257 }
258 
259 /**
260  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0001
261  * @tc.name     Open cellBroadcast slotId is -1
262  * @tc.desc     Function test
263  */
264 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0001, Function | MediumTest | Level1)
265 {
266     AccessMmsToken token;
267     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0001 -->");
268     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
269         TELEPHONY_LOGI("TelephonyTestService has no sim card");
270         ASSERT_TRUE(true);
271         return;
272     }
273     SmsMmsTestHelper helper;
274     helper.slotId = DEFAULT_SIM_SLOT_ID_REMOVE;
275     if (!helper.Run(OpenCellBroadcastTestFuc, std::ref(helper))) {
276         TELEPHONY_LOGI("OpenCellBroadcastTestFuc out of time");
277         ASSERT_TRUE(false);
278     }
279     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0001 -->finished");
280     EXPECT_FALSE(helper.GetIntResult() == 0);
281 }
282 
OpenCellBroadcastTestFuc2(SmsMmsTestHelper & helper)283 void OpenCellBroadcastTestFuc2(SmsMmsTestHelper &helper)
284 {
285     bool enable = true;
286     uint32_t fromMsgId = 20;
287     uint32_t toMsgId = 10;
288     uint8_t netType = 1;
289     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
290         helper.slotId, enable, fromMsgId, toMsgId, netType);
291     helper.SetIntResult(result);
292     helper.NotifyAll();
293 }
294 
295 /**
296  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0002
297  * @tc.name     Open cellBroadcast fromMsgId less than toMsgId
298  * @tc.desc     Function test
299  */
300 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0002, Function | MediumTest | Level2)
301 {
302     AccessMmsToken token;
303     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0002 -->");
304     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
305         TELEPHONY_LOGI("TelephonyTestService has no sim card");
306         ASSERT_TRUE(true);
307         return;
308     }
309     SmsMmsTestHelper helper;
310     helper.slotId = DEFAULT_SIM_SLOT_ID;
311     if (!helper.Run(OpenCellBroadcastTestFuc2, std::ref(helper))) {
312         TELEPHONY_LOGI("OpenCellBroadcastTestFuc2 out of time");
313         ASSERT_TRUE(false);
314     }
315     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0002 -->finished");
316     EXPECT_FALSE(helper.GetIntResult() == 0);
317 }
318 
OpenCellBroadcastTestFuc3(SmsMmsTestHelper & helper)319 void OpenCellBroadcastTestFuc3(SmsMmsTestHelper &helper)
320 {
321     bool enable = true;
322     uint32_t fromMsgId = 0;
323     uint32_t toMsgId = 10;
324     uint8_t netType = 3;
325     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
326         helper.slotId, enable, fromMsgId, toMsgId, netType);
327     helper.SetIntResult(result);
328     helper.NotifyAll();
329 }
330 
331 /**
332  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0003
333  * @tc.name     Open cellBroadcast netType is unknown.
334  * @tc.desc     Function test
335  */
336 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0003, Function | MediumTest | Level3)
337 {
338     AccessMmsToken token;
339     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0003 -->");
340     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
341         TELEPHONY_LOGI("TelephonyTestService has no sim card");
342         ASSERT_TRUE(true);
343         return;
344     }
345     SmsMmsTestHelper helper;
346     helper.slotId = DEFAULT_SIM_SLOT_ID;
347     if (!helper.Run(OpenCellBroadcastTestFuc3, std::ref(helper))) {
348         TELEPHONY_LOGI("OpenCellBroadcastTestFuc3 out of time");
349         ASSERT_TRUE(false);
350     }
351     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0003 -->finished");
352     EXPECT_FALSE(helper.GetIntResult() == 0);
353 }
354 
OpenCellBroadcastTestFuc4(SmsMmsTestHelper & helper)355 void OpenCellBroadcastTestFuc4(SmsMmsTestHelper &helper)
356 {
357     bool enable = true;
358     uint32_t fromMsgId = 0;
359     uint32_t toMsgId = 10;
360     uint8_t netType = 1;
361     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
362         helper.slotId, enable, fromMsgId, toMsgId, netType);
363     helper.SetIntResult(result);
364     helper.NotifyAll();
365 }
366 
367 /**
368  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0004
369  * @tc.name     Open cellBroadcast parameter is valid.
370  * @tc.desc     Function test
371  */
372 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0004, Function | MediumTest | Level3)
373 {
374     AccessMmsToken token;
375     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0004 -->");
376     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
377         TELEPHONY_LOGI("TelephonyTestService has no sim card");
378         ASSERT_TRUE(true);
379         return;
380     }
381     SmsMmsTestHelper helper;
382     helper.slotId = DEFAULT_SIM_SLOT_ID;
383     if (!helper.Run(OpenCellBroadcastTestFuc4, std::ref(helper))) {
384         TELEPHONY_LOGI("OpenCellBroadcastTestFuc4 out of time");
385         ASSERT_TRUE(false);
386     }
387     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0004 -->finished");
388     ASSERT_TRUE(helper.GetIntResult() == 0);
389 }
390 
OpenCellBroadcastTestFuc5(SmsMmsTestHelper & helper)391 void OpenCellBroadcastTestFuc5(SmsMmsTestHelper &helper)
392 {
393     bool enable = true;
394     uint32_t fromMsgId = 0;
395     uint32_t toMsgId = 1000;
396     uint8_t netType = 1;
397     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
398         helper.slotId, enable, fromMsgId, toMsgId, netType);
399     helper.SetIntResult(result);
400     helper.NotifyAll();
401 }
402 
403 /**
404  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0005
405  * @tc.name     Open cellBroadcast parameter is valid
406  * @tc.desc     Function test
407  */
408 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0005, Function | MediumTest | Level3)
409 {
410     AccessMmsToken token;
411     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0005 -->");
412     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
413         TELEPHONY_LOGI("TelephonyTestService has no sim card");
414         ASSERT_TRUE(true);
415         return;
416     }
417     SmsMmsTestHelper helper;
418     helper.slotId = DEFAULT_SIM_SLOT_ID;
419     if (!helper.Run(OpenCellBroadcastTestFuc5, std::ref(helper))) {
420         TELEPHONY_LOGI("OpenCellBroadcastTestFuc5 out of time");
421         ASSERT_TRUE(false);
422     }
423     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0005 -->finished");
424     ASSERT_TRUE(helper.GetIntResult() == 0);
425 }
426 
OpenCellBroadcastTestFuc6(SmsMmsTestHelper & helper)427 void OpenCellBroadcastTestFuc6(SmsMmsTestHelper &helper)
428 {
429     bool enable = true;
430     uint32_t fromMsgId = 0;
431     uint32_t toMsgId = 0;
432     uint8_t netType = 1;
433     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
434         helper.slotId, enable, fromMsgId, toMsgId, netType);
435     helper.SetIntResult(result);
436     helper.NotifyAll();
437 }
438 
439 /**
440  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0006
441  * @tc.name     Open cellBroadcast parameter is valid
442  * @tc.desc     Function test
443  */
444 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0006, Function | MediumTest | Level4)
445 {
446     AccessMmsToken token;
447     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0006 -->");
448     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
449         TELEPHONY_LOGI("TelephonyTestService has no sim card");
450         ASSERT_TRUE(true);
451         return;
452     }
453     SmsMmsTestHelper helper;
454     helper.slotId = DEFAULT_SIM_SLOT_ID;
455     if (!helper.Run(OpenCellBroadcastTestFuc6, std::ref(helper))) {
456         TELEPHONY_LOGI("OpenCellBroadcastTestFuc6 out of time");
457         ASSERT_TRUE(false);
458     }
459     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0006 -->finished");
460     ASSERT_TRUE(helper.GetIntResult() == 0);
461 }
462 
463 /**
464  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0007
465  * @tc.name     Open cellBroadcast fromMsgId less than toMsgId
466  * @tc.desc     Function test
467  */
468 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0007, Function | MediumTest | Level2)
469 {
470     AccessMmsToken token;
471     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0007 -->");
472     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
473         TELEPHONY_LOGI("TelephonyTestService has no sim card");
474         ASSERT_TRUE(true);
475         return;
476     }
477     SmsMmsTestHelper helper;
478     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
479     if (!helper.Run(OpenCellBroadcastTestFuc2, std::ref(helper))) {
480         TELEPHONY_LOGI("OpenCellBroadcastTestFuc7 out of time");
481         ASSERT_TRUE(false);
482     }
483     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0007 -->finished");
484     EXPECT_FALSE(helper.GetIntResult() == 0);
485 }
486 
487 /**
488  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0008
489  * @tc.name     Open cellBroadcast netType is unknown.
490  * @tc.desc     Function test
491  */
492 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0008, Function | MediumTest | Level3)
493 {
494     AccessMmsToken token;
495     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0008 -->");
496     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
497         TELEPHONY_LOGI("TelephonyTestService has no sim card");
498         ASSERT_TRUE(true);
499         return;
500     }
501     SmsMmsTestHelper helper;
502     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
503     if (!helper.Run(OpenCellBroadcastTestFuc3, std::ref(helper))) {
504         TELEPHONY_LOGI("OpenCellBroadcastTestFuc8 out of time");
505         ASSERT_TRUE(false);
506     }
507     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0008 -->finished");
508     EXPECT_FALSE(helper.GetIntResult() == 0);
509 }
510 
511 /**
512  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0009
513  * @tc.name     Open cellBroadcast parameter is valid.
514  * @tc.desc     Function test
515  */
516 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0009, Function | MediumTest | Level3)
517 {
518     AccessMmsToken token;
519     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0009 -->");
520     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
521         TELEPHONY_LOGI("TelephonyTestService has no sim card");
522         ASSERT_TRUE(true);
523         return;
524     }
525     SmsMmsTestHelper helper;
526     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
527     if (!helper.Run(OpenCellBroadcastTestFuc4, std::ref(helper))) {
528         TELEPHONY_LOGI("OpenCellBroadcastTestFuc9 out of time");
529         ASSERT_TRUE(false);
530     }
531     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0009 -->finished");
532     ASSERT_TRUE(helper.GetIntResult() == 0);
533 }
534 
535 /**
536  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0010
537  * @tc.name     Open cellBroadcast parameter is valid
538  * @tc.desc     Function test
539  */
540 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_00010, Function | MediumTest | Level3)
541 {
542     AccessMmsToken token;
543     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0010 -->");
544     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
545         TELEPHONY_LOGI("TelephonyTestService has no sim card");
546         ASSERT_TRUE(true);
547         return;
548     }
549     SmsMmsTestHelper helper;
550     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
551     if (!helper.Run(OpenCellBroadcastTestFuc5, std::ref(helper))) {
552         TELEPHONY_LOGI("OpenCellBroadcastTestFuc10 out of time");
553         ASSERT_TRUE(false);
554     }
555     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0010 -->finished");
556     ASSERT_TRUE(helper.GetIntResult() == 0);
557 }
558 
559 /**
560  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0011
561  * @tc.name     Open cellBroadcast parameter is valid
562  * @tc.desc     Function test
563  */
564 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0011, Function | MediumTest | Level4)
565 {
566     AccessMmsToken token;
567     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0011 -->");
568     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
569         TELEPHONY_LOGI("TelephonyTestService has no sim card");
570         ASSERT_TRUE(true);
571         return;
572     }
573     SmsMmsTestHelper helper;
574     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
575     if (!helper.Run(OpenCellBroadcastTestFuc6, std::ref(helper))) {
576         TELEPHONY_LOGI("OpenCellBroadcastTestFuc11 out of time");
577         ASSERT_TRUE(false);
578     }
579     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0011 -->finished");
580     ASSERT_TRUE(helper.GetIntResult() == 0);
581 }
582 
583 /**
584  * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0012
585  * @tc.name     Open cellBroadcast parameter is valid
586  * @tc.desc     Function test
587  */
588 HWTEST_F(SmsMmsGtest, OpenCellBroadcast_0012, Function | MediumTest | Level3)
589 {
590     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0012 -->");
591     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
592         TELEPHONY_LOGI("TelephonyTestService has no sim card");
593         ASSERT_TRUE(true);
594         return;
595     }
596     SmsMmsTestHelper helper;
597     helper.slotId = DEFAULT_SIM_SLOT_ID;
598     if (!helper.Run(OpenCellBroadcastTestFuc6, std::ref(helper))) {
599         TELEPHONY_LOGI("OpenCellBroadcastTestFuc12 out of time");
600         ASSERT_TRUE(false);
601     }
602     TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0012 -->finished");
603     EXPECT_FALSE(helper.GetIntResult() == 0);
604 }
605 
CloseCellBroadcastTestFuc(SmsMmsTestHelper & helper)606 void CloseCellBroadcastTestFuc(SmsMmsTestHelper &helper)
607 {
608     bool enable = false;
609     uint32_t fromMsgId = 0;
610     uint32_t toMsgId = 10;
611     uint8_t netType = 1;
612     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
613         helper.slotId, enable, fromMsgId, toMsgId, netType);
614     helper.SetIntResult(result);
615     helper.NotifyAll();
616 }
617 
618 /**
619  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0001
620  * @tc.name     Close cellBroadcast slotId is -1
621  * @tc.desc     Function test
622  */
623 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0001, Function | MediumTest | Level1)
624 {
625     AccessMmsToken token;
626     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0001 -->");
627     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
628         TELEPHONY_LOGI("TelephonyTestService has no sim card");
629         ASSERT_TRUE(true);
630         return;
631     }
632     SmsMmsTestHelper helper;
633     helper.slotId = DEFAULT_SIM_SLOT_ID_REMOVE;
634     if (!helper.Run(CloseCellBroadcastTestFuc, std::ref(helper))) {
635         TELEPHONY_LOGI("CloseCellBroadcastTestFuc out of time");
636         ASSERT_TRUE(false);
637     }
638     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0001 -->finished");
639     EXPECT_FALSE(helper.GetIntResult() == 0);
640 }
641 
CloseCellBroadcastTestFuc2(SmsMmsTestHelper & helper)642 void CloseCellBroadcastTestFuc2(SmsMmsTestHelper &helper)
643 {
644     bool enable = false;
645     uint32_t fromMsgId = 20;
646     uint32_t toMsgId = 10;
647     uint8_t netType = 1;
648     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
649         helper.slotId, enable, fromMsgId, toMsgId, netType);
650     helper.SetIntResult(result);
651     helper.NotifyAll();
652 }
653 
654 /**
655  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0002
656  * @tc.name     Close cellBroadcast fromMsgId less than toMsgId
657  * @tc.desc     Function test
658  */
659 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0002, Function | MediumTest | Level2)
660 {
661     AccessMmsToken token;
662     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0002 -->");
663     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
664         TELEPHONY_LOGI("TelephonyTestService has no sim card");
665         ASSERT_TRUE(true);
666         return;
667     }
668     SmsMmsTestHelper helper;
669     helper.slotId = DEFAULT_SIM_SLOT_ID;
670     if (!helper.Run(CloseCellBroadcastTestFuc2, std::ref(helper))) {
671         TELEPHONY_LOGI("CloseCellBroadcastTestFuc2 out of time");
672         ASSERT_TRUE(false);
673     }
674     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0002 -->finished");
675     EXPECT_FALSE(helper.GetIntResult() == 0);
676 }
677 
CloseCellBroadcastTestFuc3(SmsMmsTestHelper & helper)678 void CloseCellBroadcastTestFuc3(SmsMmsTestHelper &helper)
679 {
680     bool enable = false;
681     uint32_t fromMsgId = 0;
682     uint32_t toMsgId = 10;
683     uint8_t netType = 3;
684     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
685         helper.slotId, enable, fromMsgId, toMsgId, netType);
686     helper.SetIntResult(result);
687     helper.NotifyAll();
688 }
689 
690 /**
691  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0003
692  * @tc.name     Close cellBroadcast netType is unknown
693  * @tc.desc     Function test
694  */
695 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0003, Function | MediumTest | Level3)
696 {
697     AccessMmsToken token;
698     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0003 -->");
699     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
700         TELEPHONY_LOGI("TelephonyTestService has no sim card");
701         ASSERT_TRUE(true);
702         return;
703     }
704     SmsMmsTestHelper helper;
705     helper.slotId = DEFAULT_SIM_SLOT_ID;
706     if (!helper.Run(CloseCellBroadcastTestFuc3, std::ref(helper))) {
707         TELEPHONY_LOGI("CloseCellBroadcastTestFuc3 out of time");
708         ASSERT_TRUE(false);
709     }
710     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0003-->finished");
711     EXPECT_FALSE(helper.GetIntResult() == 0);
712 }
713 
CloseCellBroadcastTestFuc4(SmsMmsTestHelper & helper)714 void CloseCellBroadcastTestFuc4(SmsMmsTestHelper &helper)
715 {
716     bool enable = false;
717     uint32_t fromMsgId = 0;
718     uint32_t toMsgId = 10;
719     uint8_t netType = 1;
720     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
721         helper.slotId, enable, fromMsgId, toMsgId, netType);
722     helper.SetIntResult(result);
723     helper.NotifyAll();
724 }
725 
726 /**
727  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0004
728  * @tc.name     Close cellBroadcast parameter is valid
729  * @tc.desc     Function test
730  */
731 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0004, Function | MediumTest | Level3)
732 {
733     AccessMmsToken token;
734     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0004 -->");
735     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
736         TELEPHONY_LOGI("TelephonyTestService has no sim card");
737         ASSERT_TRUE(true);
738         return;
739     }
740     SmsMmsTestHelper helper;
741     helper.slotId = DEFAULT_SIM_SLOT_ID;
742     if (!helper.Run(CloseCellBroadcastTestFuc4, std::ref(helper))) {
743         TELEPHONY_LOGI("CloseCellBroadcastTestFuc4 out of time");
744         ASSERT_TRUE(false);
745     }
746     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0004 -->finished");
747     ASSERT_TRUE(helper.GetIntResult() == 0);
748 }
749 
CloseCellBroadcastTestFuc5(SmsMmsTestHelper & helper)750 void CloseCellBroadcastTestFuc5(SmsMmsTestHelper &helper)
751 {
752     bool enable = false;
753     uint32_t fromMsgId = 0;
754     uint32_t toMsgId = 1000;
755     uint8_t netType = 1;
756     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
757         helper.slotId, enable, fromMsgId, toMsgId, netType);
758     helper.SetIntResult(result);
759     helper.NotifyAll();
760 }
761 
762 /**
763  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0005
764  * @tc.name     Close cellBroadcast parameter is valid
765  * @tc.desc     Function test
766  */
767 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0005, Function | MediumTest | Level3)
768 {
769     AccessMmsToken token;
770     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0005 -->");
771     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
772         TELEPHONY_LOGI("TelephonyTestService has no sim card");
773         ASSERT_TRUE(true);
774         return;
775     }
776     SmsMmsTestHelper helper;
777     helper.slotId = DEFAULT_SIM_SLOT_ID;
778     if (!helper.Run(CloseCellBroadcastTestFuc5, std::ref(helper))) {
779         TELEPHONY_LOGI("CloseCellBroadcastTestFuc5 out of time");
780         ASSERT_TRUE(false);
781     }
782     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0005 -->finished");
783     ASSERT_TRUE(helper.GetIntResult() == 0);
784 }
785 
CloseCellBroadcastTestFuc6(SmsMmsTestHelper & helper)786 void CloseCellBroadcastTestFuc6(SmsMmsTestHelper &helper)
787 {
788     bool enable = false;
789     uint32_t fromMsgId = 0;
790     uint32_t toMsgId = 0;
791     uint8_t netType = 1;
792     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetCBConfig(
793         helper.slotId, enable, fromMsgId, toMsgId, netType);
794     helper.SetIntResult(result);
795     helper.NotifyAll();
796 }
797 
798 /**
799  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0006
800  * @tc.name     Close cellBroadcast parameter is valid
801  * @tc.desc     Function test
802  */
803 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0006, Function | MediumTest | Level4)
804 {
805     AccessMmsToken token;
806     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0006 -->");
807     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
808         TELEPHONY_LOGI("TelephonyTestService has no sim card");
809         ASSERT_TRUE(true);
810         return;
811     }
812     SmsMmsTestHelper helper;
813     helper.slotId = DEFAULT_SIM_SLOT_ID;
814     if (!helper.Run(CloseCellBroadcastTestFuc6, std::ref(helper))) {
815         TELEPHONY_LOGI("CloseCellBroadcastTestFuc6 out of time");
816         ASSERT_TRUE(false);
817     }
818     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0006 -->finished");
819     ASSERT_TRUE(helper.GetIntResult() == 0);
820 }
821 
822 /**
823  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0007
824  * @tc.name     Close cellBroadcast fromMsgId less than toMsgId
825  * @tc.desc     Function test
826  */
827 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0007, Function | MediumTest | Level2)
828 {
829     AccessMmsToken token;
830     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0007 -->");
831     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
832         TELEPHONY_LOGI("TelephonyTestService has no sim card");
833         ASSERT_TRUE(true);
834         return;
835     }
836     SmsMmsTestHelper helper;
837     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
838     if (!helper.Run(CloseCellBroadcastTestFuc2, std::ref(helper))) {
839         TELEPHONY_LOGI("CloseCellBroadcastTestFuc7 out of time");
840         ASSERT_TRUE(false);
841     }
842     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0007 -->finished");
843     EXPECT_FALSE(helper.GetIntResult() == 0);
844 }
845 
846 /**
847  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0008
848  * @tc.name     Close cellBroadcast netType is unknown
849  * @tc.desc     Function test
850  */
851 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0008, Function | MediumTest | Level3)
852 {
853     AccessMmsToken token;
854     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0008 -->");
855     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
856         TELEPHONY_LOGI("TelephonyTestService has no sim card");
857         ASSERT_TRUE(true);
858         return;
859     }
860     SmsMmsTestHelper helper;
861     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
862     if (!helper.Run(CloseCellBroadcastTestFuc3, std::ref(helper))) {
863         TELEPHONY_LOGI("CloseCellBroadcastTestFuc8 out of time");
864         ASSERT_TRUE(false);
865     }
866     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0008-->finished");
867     EXPECT_FALSE(helper.GetIntResult() == 0);
868 }
869 
870 /**
871  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0009
872  * @tc.name     Close cellBroadcast parameter is valid
873  * @tc.desc     Function test
874  */
875 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0009, Function | MediumTest | Level3)
876 {
877     AccessMmsToken token;
878     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0009 -->");
879     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
880         TELEPHONY_LOGI("TelephonyTestService has no sim card");
881         ASSERT_TRUE(true);
882         return;
883     }
884     SmsMmsTestHelper helper;
885     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
886     if (!helper.Run(CloseCellBroadcastTestFuc4, std::ref(helper))) {
887         TELEPHONY_LOGI("CloseCellBroadcastTestFuc9 out of time");
888         ASSERT_TRUE(false);
889     }
890     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0009 -->finished");
891     ASSERT_TRUE(helper.GetIntResult() == 0);
892 }
893 
894 /**
895  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0010
896  * @tc.name     Close cellBroadcast parameter is valid
897  * @tc.desc     Function test
898  */
899 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0010, Function | MediumTest | Level3)
900 {
901     AccessMmsToken token;
902     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0010 -->");
903     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
904         TELEPHONY_LOGI("TelephonyTestService has no sim card");
905         ASSERT_TRUE(true);
906         return;
907     }
908     SmsMmsTestHelper helper;
909     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
910     if (!helper.Run(CloseCellBroadcastTestFuc5, std::ref(helper))) {
911         TELEPHONY_LOGI("CloseCellBroadcastTestFuc10 out of time");
912         ASSERT_TRUE(false);
913     }
914     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0010 -->finished");
915     ASSERT_TRUE(helper.GetIntResult() == 0);
916 }
917 
918 /**
919  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0011
920  * @tc.name     Close cellBroadcast parameter is valid
921  * @tc.desc     Function test
922  */
923 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_00011, Function | MediumTest | Level4)
924 {
925     AccessMmsToken token;
926     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0011 -->");
927     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
928         TELEPHONY_LOGI("TelephonyTestService has no sim card");
929         ASSERT_TRUE(true);
930         return;
931     }
932     SmsMmsTestHelper helper;
933     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
934     if (!helper.Run(CloseCellBroadcastTestFuc6, std::ref(helper))) {
935         TELEPHONY_LOGI("CloseCellBroadcastTestFuc11 out of time");
936         ASSERT_TRUE(false);
937     }
938     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0011 -->finished");
939     ASSERT_TRUE(helper.GetIntResult() == 0);
940 }
941 
942 /**
943  * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0012
944  * @tc.name     Close cellBroadcast parameter is valid
945  * @tc.desc     Function test
946  */
947 HWTEST_F(SmsMmsGtest, CloseCellBroadcast_0012, Function | MediumTest | Level3)
948 {
949     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0012 -->");
950     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
951         TELEPHONY_LOGI("TelephonyTestService has no sim card");
952         ASSERT_TRUE(true);
953         return;
954     }
955     SmsMmsTestHelper helper;
956     helper.slotId = DEFAULT_SIM_SLOT_ID;
957     if (!helper.Run(CloseCellBroadcastTestFuc6, std::ref(helper))) {
958         TELEPHONY_LOGI("CloseCellBroadcastTestFuc12 out of time");
959         ASSERT_TRUE(false);
960     }
961     TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0012 -->finished");
962     EXPECT_FALSE(helper.GetIntResult() == 0);
963 }
964 
SetDefaultSmsSlotIdTestFuc(SmsMmsTestHelper & helper)965 void SetDefaultSmsSlotIdTestFuc(SmsMmsTestHelper &helper)
966 {
967     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetDefaultSmsSlotId(helper.slotId);
968     helper.SetIntResult(result);
969     helper.NotifyAll();
970 }
971 
972 /**
973  * @tc.number   Telephony_SmsMmsGtest_SetDefaultSmsSlotId_0001
974  * @tc.name     Set Default Sms SlotId slotId is valid
975  * @tc.desc     Function test
976  */
977 HWTEST_F(SmsMmsGtest, SetDefaultSmsSlotId_0001, Function | MediumTest | Level3)
978 {
979     AccessMmsToken token;
980     TELEPHONY_LOGI("TelSMSMMSTest::SetDefaultSmsSlotId_0001 -->");
981     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
982         TELEPHONY_LOGI("TelephonyTestService has no sim card");
983         ASSERT_TRUE(true);
984         return;
985     }
986     SmsMmsTestHelper helper;
987     helper.slotId = DEFAULT_SIM_SLOT_ID;
988     if (!helper.Run(SetDefaultSmsSlotIdTestFuc, std::ref(helper))) {
989         TELEPHONY_LOGI("SetDefaultSmsSlotIdTestFuc out of time");
990         ASSERT_TRUE(false);
991     }
992     TELEPHONY_LOGI("TelSMSMMSTest::SetDefaultSmsSlotId_0001 -->finished");
993     ASSERT_TRUE(helper.GetIntResult() == 0);
994 }
995 
996 /**
997  * @tc.number   Telephony_SmsMmsGtest_SetDefaultSmsSlotId_0002
998  * @tc.name     Set Default Sms SlotId slotId is valid
999  * @tc.desc     Function test
1000  */
1001 HWTEST_F(SmsMmsGtest, SetDefaultSmsSlotId_0002, Function | MediumTest | Level3)
1002 {
1003     AccessMmsToken token;
1004     TELEPHONY_LOGI("TelSMSMMSTest::SetDefaultSmsSlotId_0002 -->");
1005     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1006         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1007         ASSERT_TRUE(true);
1008         return;
1009     }
1010     SmsMmsTestHelper helper;
1011     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
1012     if (!helper.Run(SetDefaultSmsSlotIdTestFuc, std::ref(helper))) {
1013         TELEPHONY_LOGI("SetDefaultSmsSlotIdTestFuc2 out of time");
1014         ASSERT_TRUE(false);
1015     }
1016     TELEPHONY_LOGI("TelSMSMMSTest::SetDefaultSmsSlotId_0002 -->finished");
1017     EXPECT_TRUE(helper.GetIntResult() == 0);
1018 }
1019 
1020 /**
1021  * @tc.number   Telephony_SmsMmsGtest_SetDefaultSmsSlotId_0003
1022  * @tc.name     Set Default Sms SlotId slotId is valid
1023  * @tc.desc     Function test
1024  */
1025 HWTEST_F(SmsMmsGtest, SetDefaultSmsSlotId_0003, Function | MediumTest | Level2)
1026 {
1027     TELEPHONY_LOGI("TelSMSMMSTest::SetDefaultSmsSlotId_0003 -->");
1028     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1029         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1030         ASSERT_TRUE(true);
1031         return;
1032     }
1033     SmsMmsTestHelper helper;
1034     helper.slotId = DEFAULT_SIM_SLOT_ID;
1035     if (!helper.Run(SetDefaultSmsSlotIdTestFuc, std::ref(helper))) {
1036         TELEPHONY_LOGI("SetDefaultSmsSlotIdTestFuc out of time");
1037         ASSERT_TRUE(false);
1038     }
1039     TELEPHONY_LOGI("TelSMSMMSTest::SetDefaultSmsSlotId_0003 -->finished");
1040     EXPECT_FALSE(helper.GetIntResult() == 0);
1041 }
1042 
GetDefaultSmsSlotIdTestFuc(SmsMmsTestHelper & helper)1043 void GetDefaultSmsSlotIdTestFuc(SmsMmsTestHelper &helper)
1044 {
1045     int32_t slotId = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->GetDefaultSmsSlotId();
1046     helper.SetIntResult(slotId);
1047     helper.NotifyAll();
1048 }
1049 
1050 /**
1051  * @tc.number   Telephony_SmsMmsGtest_GetDefaultSmsSlotId_0001
1052  * @tc.name     Get Default Sms SlotId
1053  * @tc.desc     Function test
1054  */
1055 HWTEST_F(SmsMmsGtest, GetDefaultSmsSlotId_0001, Function | MediumTest | Level3)
1056 {
1057     TELEPHONY_LOGI("TelSMSMMSTest::GetDefaultSmsSlotId_0001 -->");
1058     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1059         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1060         g_telephonyService = SmsMmsGtest::GetProxy();
1061         ASSERT_TRUE(true);
1062         return;
1063     }
1064     SmsMmsTestHelper helper;
1065     if (!helper.Run(GetDefaultSmsSlotIdTestFuc, std::ref(helper))) {
1066         TELEPHONY_LOGI("GetDefaultSmsSlotIdTestFuc out of time");
1067         ASSERT_TRUE(false);
1068     }
1069     TELEPHONY_LOGI("TelSMSMMSTest::GetDefaultSmsSlotId_0001 -->finished");
1070     ASSERT_TRUE(helper.GetIntResult() == 0);
1071 }
1072 
SetSmscAddrTestFuc(SmsMmsTestHelper & helper)1073 void SetSmscAddrTestFuc(SmsMmsTestHelper &helper)
1074 {
1075     // invalid slotID scenario, a invalid smsc addr is OKAY
1076     std::string scAddr("1234");
1077     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetScAddress(
1078         helper.slotId, StringUtils::ToUtf16(scAddr));
1079     helper.SetIntResult(result);
1080     helper.NotifyAll();
1081 }
1082 
1083 /**
1084  * @tc.number   Telephony_SmsMmsGtest_SetSmscAddr_0001
1085  * @tc.name     Set smsc addr slotId is invalid
1086  * @tc.desc     Function test
1087  * @tc.require: issueI5JI0H
1088  */
1089 HWTEST_F(SmsMmsGtest, SetSmscAddr_0001, Function | MediumTest | Level3)
1090 {
1091     AccessMmsToken token;
1092     TELEPHONY_LOGI("TelSMSMMSTest::SetSmscAddr_0001 -->");
1093     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1094         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1095         ASSERT_TRUE(true);
1096         return;
1097     }
1098     SmsMmsTestHelper helper;
1099     helper.slotId = DEFAULT_SIM_SLOT_ID_REMOVE;
1100     if (!helper.Run(SetSmscAddrTestFuc, std::ref(helper))) {
1101         TELEPHONY_LOGI("SetSmscAddrTestFuc out of time");
1102         ASSERT_TRUE(false);
1103     }
1104     TELEPHONY_LOGI("TelSMSMMSTest::SetSmscAddr_0001 -->finished");
1105     EXPECT_FALSE(helper.GetIntResult() == 0);
1106 }
1107 
1108 /**
1109  * @tc.number   Telephony_SmsMmsGtest_SetSmscAddr_0002
1110  * @tc.name     Set smsc addr slotId is invalid
1111  * @tc.desc     Function test
1112  * @tc.require: issueI5JI0H
1113  */
1114 HWTEST_F(SmsMmsGtest, SetSmscAddr_0002, Function | MediumTest | Level2)
1115 {
1116     TELEPHONY_LOGI("TelSMSMMSTest::SetSmscAddr_0002 -->");
1117     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1118         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1119         ASSERT_TRUE(true);
1120         return;
1121     }
1122     SmsMmsTestHelper helper;
1123     helper.slotId = DEFAULT_SIM_SLOT_ID_REMOVE;
1124     if (!helper.Run(SetSmscAddrTestFuc, std::ref(helper))) {
1125         TELEPHONY_LOGI("SetSmscAddrTestFuc out of time");
1126         ASSERT_TRUE(false);
1127     }
1128     TELEPHONY_LOGI("TelSMSMMSTest::SetSmscAddr_0002 -->finished");
1129     EXPECT_FALSE(helper.GetIntResult() == 0);
1130 }
1131 
AddSimMessageTestFuc(SmsMmsTestHelper & helper)1132 void AddSimMessageTestFuc(SmsMmsTestHelper &helper)
1133 {
1134     std::u16string smscData(u"");
1135     std::u16string pduData(u"01000B818176251308F4000007E8B0BCFD76E701");
1136     uint32_t status = 3;
1137     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->AddSimMessage(
1138         helper.slotId, smscData, pduData, static_cast<ISmsServiceInterface::SimMessageStatus>(status));
1139     helper.SetIntResult(result);
1140     helper.NotifyAll();
1141 }
1142 
DelSimMessageTestFuc(SmsMmsTestHelper & helper)1143 void DelSimMessageTestFuc(SmsMmsTestHelper &helper)
1144 {
1145     uint32_t msgIndex = 0;
1146     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->DelSimMessage(helper.slotId, msgIndex);
1147     helper.SetIntResult(result);
1148     helper.NotifyAll();
1149 }
1150 
1151 /**
1152  * @tc.number   Telephony_SmsMmsGtest_AddSimMessage_0001
1153  * @tc.name     Add Sim Message
1154  * @tc.desc     Function test
1155  */
1156 HWTEST_F(SmsMmsGtest, AddSimMessage_0001, Function | MediumTest | Level3)
1157 {
1158     AccessMmsToken token;
1159     TELEPHONY_LOGI("TelSMSMMSTest::AddSimMessage_0001 -->");
1160     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1161         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1162         ASSERT_TRUE(true);
1163         return;
1164     }
1165     SmsMmsTestHelper helper;
1166     helper.slotId = DEFAULT_SIM_SLOT_ID;
1167     if (!helper.Run(DelSimMessageTestFuc, std::ref(helper))) {
1168         TELEPHONY_LOGI("AddSimMessageTestFuc DelSimMessageTestFuc out of time");
1169         ASSERT_TRUE(false);
1170     }
1171 
1172     if (!helper.Run(AddSimMessageTestFuc, std::ref(helper))) {
1173         TELEPHONY_LOGI("AddSimMessageTestFuc out of time");
1174         ASSERT_TRUE(false);
1175     }
1176     TELEPHONY_LOGI("TelSMSMMSTest::AddSimMessage_0001 -->finished");
1177     ASSERT_TRUE(helper.GetIntResult() == 0);
1178 }
1179 
1180 /**
1181  * @tc.number   Telephony_SmsMmsGtest_AddSimMessage_0002
1182  * @tc.name     Add Sim Message
1183  * @tc.desc     Function test
1184  */
1185 HWTEST_F(SmsMmsGtest, AddSimMessage_0002, Function | MediumTest | Level3)
1186 {
1187     AccessMmsToken token;
1188     TELEPHONY_LOGI("TelSMSMMSTest::AddSimMessage_0002 -->");
1189     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1190         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1191         ASSERT_TRUE(true);
1192         return;
1193     }
1194     SmsMmsTestHelper helper;
1195     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
1196     if (!helper.Run(DelSimMessageTestFuc, std::ref(helper))) {
1197         TELEPHONY_LOGI("AddSimMessageTestFuc2 DelSimMessageTestFuc out of time");
1198         ASSERT_TRUE(false);
1199     }
1200 
1201     if (!helper.Run(AddSimMessageTestFuc, std::ref(helper))) {
1202         TELEPHONY_LOGI("AddSimMessageTestFuc2 out of time");
1203         ASSERT_TRUE(false);
1204     }
1205     TELEPHONY_LOGI("TelSMSMMSTest::AddSimMessage_0002 -->finished");
1206     ASSERT_TRUE(helper.GetIntResult() == 0);
1207 }
1208 
1209 /**
1210  * @tc.number   Telephony_SmsMmsGtest_AddSimMessage_0003
1211  * @tc.name     Add Sim Message
1212  * @tc.desc     Function test
1213  */
1214 HWTEST_F(SmsMmsGtest, AddSimMessage_0003, Function | MediumTest | Level3)
1215 {
1216     TELEPHONY_LOGI("TelSMSMMSTest::AddSimMessage_0003 -->");
1217     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1218         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1219         ASSERT_TRUE(true);
1220         return;
1221     }
1222     SmsMmsTestHelper helper;
1223     helper.slotId = DEFAULT_SIM_SLOT_ID;
1224     if (!helper.Run(DelSimMessageTestFuc, std::ref(helper))) {
1225         TELEPHONY_LOGI("AddSimMessageTestFuc DelSimMessageTestFuc out of time");
1226         ASSERT_TRUE(false);
1227     }
1228 
1229     if (!helper.Run(AddSimMessageTestFuc, std::ref(helper))) {
1230         TELEPHONY_LOGI("AddSimMessageTestFuc out of time");
1231         ASSERT_TRUE(false);
1232     }
1233     TELEPHONY_LOGI("TelSMSMMSTest::AddSimMessage_0003 -->finished");
1234     EXPECT_FALSE(helper.GetIntResult() == 0);
1235 }
1236 
GetAllSimMessagesTestFuc(SmsMmsTestHelper & helper)1237 void GetAllSimMessagesTestFuc(SmsMmsTestHelper &helper)
1238 {
1239     std::vector<ShortMessage> message;
1240     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->GetAllSimMessages(helper.slotId, message);
1241     bool empty = message.empty();
1242     helper.SetBoolResult(empty);
1243     helper.NotifyAll();
1244 }
1245 
1246 /**
1247  * @tc.number   Telephony_SmsMmsGtest_GetAllSimMessages_0001
1248  * @tc.name     Get All Sim Messages
1249  * @tc.desc     Function test
1250  */
1251 HWTEST_F(SmsMmsGtest, GetAllSimMessages_0001, Function | MediumTest | Level3)
1252 {
1253     AccessMmsToken token;
1254     TELEPHONY_LOGI("TelSMSMMSTest::GetAllSimMessages_0001 -->");
1255     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1256         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1257         ASSERT_TRUE(true);
1258         return;
1259     }
1260     SmsMmsTestHelper helper;
1261     helper.slotId = DEFAULT_SIM_SLOT_ID;
1262     if (!helper.Run(GetAllSimMessagesTestFuc, std::ref(helper))) {
1263         TELEPHONY_LOGI("GetAllSimMessagesTestFuc out of time");
1264         ASSERT_TRUE(false);
1265     }
1266     TELEPHONY_LOGI("TelSMSMMSTest::GetAllSimMessages_0001 -->finished");
1267     EXPECT_FALSE(helper.GetBoolResult());
1268 }
1269 
1270 /**
1271  * @tc.number   Telephony_SmsMmsGtest_GetAllSimMessages_0002
1272  * @tc.name     Get All Sim Messages
1273  * @tc.desc     Function test
1274  */
1275 HWTEST_F(SmsMmsGtest, GetAllSimMessages_0002, Function | MediumTest | Level3)
1276 {
1277     AccessMmsToken token;
1278     TELEPHONY_LOGI("TelSMSMMSTest::GetAllSimMessages_0002 -->");
1279     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1280         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1281         ASSERT_TRUE(true);
1282         return;
1283     }
1284     SmsMmsTestHelper helper;
1285     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
1286     if (!helper.Run(GetAllSimMessagesTestFuc, std::ref(helper))) {
1287         TELEPHONY_LOGI("GetAllSimMessagesTestFuc2 out of time");
1288         ASSERT_TRUE(false);
1289     }
1290     TELEPHONY_LOGI("TelSMSMMSTest::GetAllSimMessages_0002 -->finished");
1291     EXPECT_FALSE(helper.GetBoolResult());
1292 }
1293 
1294 /**
1295  * @tc.number   Telephony_SmsMmsGtest_GetAllSimMessages_0003
1296  * @tc.name     Get All Sim Messages
1297  * @tc.desc     Function test
1298  */
1299 HWTEST_F(SmsMmsGtest, GetAllSimMessages_0003, Function | MediumTest | Level3)
1300 {
1301     TELEPHONY_LOGI("TelSMSMMSTest::GetAllSimMessages_0003 -->");
1302     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1303         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1304         ASSERT_TRUE(true);
1305         return;
1306     }
1307     SmsMmsTestHelper helper;
1308     helper.slotId = DEFAULT_SIM_SLOT_ID;
1309     if (!helper.Run(GetAllSimMessagesTestFuc, std::ref(helper))) {
1310         TELEPHONY_LOGI("GetAllSimMessagesTestFuc out of time");
1311         ASSERT_TRUE(false);
1312     }
1313     TELEPHONY_LOGI("TelSMSMMSTest::GetAllSimMessages_0003 -->finished");
1314     ASSERT_TRUE(helper.GetBoolResult());
1315 }
1316 
1317 /**
1318  * @tc.number   Telephony_SmsMmsGtest_DelSimMessage_0001
1319  * @tc.name     Del Sim Message
1320  * @tc.desc     Function test
1321  */
1322 HWTEST_F(SmsMmsGtest, DelSimMessage_0001, Function | MediumTest | Level3)
1323 {
1324     AccessMmsToken token;
1325     TELEPHONY_LOGI("TelSMSMMSTest::DelSimMessage_0001 -->");
1326     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1327         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1328         ASSERT_TRUE(true);
1329         return;
1330     }
1331     SmsMmsTestHelper helper;
1332     helper.slotId = DEFAULT_SIM_SLOT_ID;
1333     if (!helper.Run(DelSimMessageTestFuc, std::ref(helper))) {
1334         TELEPHONY_LOGI("DelSimMessageTestFuc out of time");
1335         ASSERT_TRUE(false);
1336     }
1337     TELEPHONY_LOGI("TelSMSMMSTest::DelSimMessage_0001 -->finished");
1338     ASSERT_TRUE(helper.GetIntResult() == 0);
1339 }
1340 
1341 /**
1342  * @tc.number   Telephony_SmsMmsGtest_DelSimMessage_0002
1343  * @tc.name     Del Sim Message
1344  * @tc.desc     Function test
1345  */
1346 HWTEST_F(SmsMmsGtest, DelSimMessage_0002, Function | MediumTest | Level3)
1347 {
1348     AccessMmsToken token;
1349     TELEPHONY_LOGI("TelSMSMMSTest::DelSimMessage_0002 -->");
1350     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1351         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1352         ASSERT_TRUE(true);
1353         return;
1354     }
1355     SmsMmsTestHelper helper;
1356     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
1357     if (!helper.Run(DelSimMessageTestFuc, std::ref(helper))) {
1358         TELEPHONY_LOGI("DelSimMessageTestFuc2 out of time");
1359         ASSERT_TRUE(false);
1360     }
1361     TELEPHONY_LOGI("TelSMSMMSTest::DelSimMessage_0002 -->finished");
1362     ASSERT_TRUE(helper.GetIntResult() == 0);
1363 }
1364 
1365 /**
1366  * @tc.number   Telephony_SmsMmsGtest_DelSimMessage_0003
1367  * @tc.name     Del Sim Message
1368  * @tc.desc     Function test
1369  */
1370 HWTEST_F(SmsMmsGtest, DelSimMessage_0003, Function | MediumTest | Level3)
1371 {
1372     TELEPHONY_LOGI("TelSMSMMSTest::DelSimMessage_0003 -->");
1373     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1374         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1375         ASSERT_TRUE(true);
1376         return;
1377     }
1378     SmsMmsTestHelper helper;
1379     helper.slotId = DEFAULT_SIM_SLOT_ID;
1380     if (!helper.Run(DelSimMessageTestFuc, std::ref(helper))) {
1381         TELEPHONY_LOGI("DelSimMessageTestFuc out of time");
1382         ASSERT_TRUE(false);
1383     }
1384     TELEPHONY_LOGI("TelSMSMMSTest::DelSimMessage_0003 -->finished");
1385     EXPECT_FALSE(helper.GetIntResult() == 0);
1386 }
1387 
UpdateSimMessageTestFuc(SmsMmsTestHelper & helper)1388 void UpdateSimMessageTestFuc(SmsMmsTestHelper &helper)
1389 {
1390     uint32_t msgIndex = 0;
1391     std::u16string smscData(u"");
1392     std::u16string pduData(u"01000B818176251308F4000007E8B0BCFD76E701");
1393     uint32_t status = 3;
1394     int32_t result = DelayedSingleton<SmsServiceManagerClient>::GetInstance()->UpdateSimMessage(
1395         helper.slotId, msgIndex, static_cast<ISmsServiceInterface::SimMessageStatus>(status), pduData, smscData);
1396     helper.SetIntResult(result);
1397     helper.NotifyAll();
1398 }
1399 
1400 /**
1401  * @tc.number   Telephony_SmsMmsGtest_UpdateSimMessage_0001
1402  * @tc.name     Update Sim Message
1403  * @tc.desc     Function test
1404  */
1405 HWTEST_F(SmsMmsGtest, UpdateSimMessage_0001, Function | MediumTest | Level3)
1406 {
1407     AccessMmsToken token;
1408     TELEPHONY_LOGI("TelSMSMMSTest::UpdateSimMessage_0001 -->");
1409     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1410         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1411         ASSERT_TRUE(true);
1412         return;
1413     }
1414     SmsMmsTestHelper helper;
1415     helper.slotId = DEFAULT_SIM_SLOT_ID;
1416     if (!helper.Run(UpdateSimMessageTestFuc, std::ref(helper))) {
1417         TELEPHONY_LOGI("UpdateSimMessageTestFuc out of time");
1418         ASSERT_TRUE(false);
1419     }
1420     TELEPHONY_LOGI("TelSMSMMSTest::UpdateSimMessage_0001 -->finished");
1421     ASSERT_TRUE(helper.GetIntResult() == 0);
1422 }
1423 
1424 /**
1425  * @tc.number   Telephony_SmsMmsGtest_UpdateSimMessage_0002
1426  * @tc.name     Update Sim Message
1427  * @tc.desc     Function test
1428  * @tc.require: issueI5K12U
1429  */
1430 HWTEST_F(SmsMmsGtest, UpdateSimMessage_0002, Function | MediumTest | Level3)
1431 {
1432     AccessMmsToken token;
1433     TELEPHONY_LOGI("TelSMSMMSTest::UpdateSimMessage_0002 -->");
1434     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1435         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1436         ASSERT_TRUE(true);
1437         return;
1438     }
1439     SmsMmsTestHelper helper;
1440     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
1441     if (!helper.Run(UpdateSimMessageTestFuc, std::ref(helper))) {
1442         TELEPHONY_LOGI("UpdateSimMessageTestFuc2 out of time");
1443         ASSERT_TRUE(false);
1444     }
1445     TELEPHONY_LOGI("TelSMSMMSTest::UpdateSimMessage_0002 -->finished");
1446     ASSERT_TRUE(helper.GetIntResult() == 0);
1447 }
1448 
1449 /**
1450  * @tc.number   Telephony_SmsMmsGtest_UpdateSimMessage_0003
1451  * @tc.name     Update Sim Message
1452  * @tc.desc     Function test
1453  */
1454 HWTEST_F(SmsMmsGtest, UpdateSimMessage_0003, Function | MediumTest | Level3)
1455 {
1456     TELEPHONY_LOGI("TelSMSMMSTest::UpdateSimMessage_0003 -->");
1457     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1458         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1459         ASSERT_TRUE(true);
1460         return;
1461     }
1462     SmsMmsTestHelper helper;
1463     helper.slotId = DEFAULT_SIM_SLOT_ID;
1464     if (!helper.Run(UpdateSimMessageTestFuc, std::ref(helper))) {
1465         TELEPHONY_LOGI("UpdateSimMessageTestFuc out of time");
1466         ASSERT_TRUE(false);
1467     }
1468     TELEPHONY_LOGI("TelSMSMMSTest::UpdateSimMessage_0003 -->finished");
1469     EXPECT_FALSE(helper.GetIntResult() == 0);
1470 }
1471 
SetImsSmsConfigTestFuc(SmsMmsTestHelper & helper)1472 void SetImsSmsConfigTestFuc(SmsMmsTestHelper &helper)
1473 {
1474     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetImsSmsConfig(helper.slotId, 1);
1475     bool isSupported = false;
1476     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->IsImsSmsSupported(helper.slotId, isSupported);
1477     helper.SetBoolResult(isSupported);
1478     helper.NotifyAll();
1479 }
1480 
1481 /**
1482  * @tc.number   Telephony_SmsMmsGtest_SetImsSmsConfig_0001
1483  * @tc.name     Enable IMS SMS
1484  * @tc.desc     Function test
1485  * @tc.require: issueI5K12U
1486  */
1487 HWTEST_F(SmsMmsGtest, SetImsSmsConfig_0001, Function | MediumTest | Level3)
1488 {
1489     AccessMmsToken token;
1490     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0001 -->");
1491     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1492         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1493         ASSERT_TRUE(true);
1494         return;
1495     }
1496     SmsMmsTestHelper helper;
1497     helper.slotId = DEFAULT_SIM_SLOT_ID;
1498     if (!helper.Run(SetImsSmsConfigTestFuc, std::ref(helper))) {
1499         TELEPHONY_LOGI("SetImsSmsConfigTestFuc out of time");
1500         ASSERT_TRUE(false);
1501     }
1502     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0001 -->finished");
1503     ASSERT_TRUE(helper.GetBoolResult());
1504 }
1505 
SetImsSmsConfigTestFuc2(SmsMmsTestHelper & helper)1506 void SetImsSmsConfigTestFuc2(SmsMmsTestHelper &helper)
1507 {
1508     bool isSupported = false;
1509     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SetImsSmsConfig(helper.slotId, 0);
1510     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->IsImsSmsSupported(helper.slotId, isSupported);
1511     helper.SetBoolResult(isSupported);
1512     helper.NotifyAll();
1513 }
1514 
1515 /**
1516  * @tc.number   Telephony_SmsMmsGtest_SetImsSmsConfig_0002
1517  * @tc.name     Disable Ims Sms
1518  * @tc.desc     Function test
1519  * @tc.require: issueI5K12U
1520  */
1521 HWTEST_F(SmsMmsGtest, SetImsSmsConfig_0002, Function | MediumTest | Level3)
1522 {
1523     AccessMmsToken token;
1524     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0002 -->");
1525     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1526         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1527         ASSERT_TRUE(true);
1528         return;
1529     }
1530     SmsMmsTestHelper helper;
1531     helper.slotId = DEFAULT_SIM_SLOT_ID;
1532     if (!helper.Run(SetImsSmsConfigTestFuc2, std::ref(helper))) {
1533         TELEPHONY_LOGI("SetImsSmsConfigTestFuc2 out of time");
1534         ASSERT_TRUE(false);
1535     }
1536     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0002 -->finished");
1537     EXPECT_FALSE(helper.GetBoolResult());
1538 }
1539 
1540 /**
1541  * @tc.number   Telephony_SmsMmsGtest_SetImsSmsConfig_0003
1542  * @tc.name     Enable IMS SMS
1543  * @tc.desc     Function test
1544  * @tc.require: issueI5K12U
1545  */
1546 HWTEST_F(SmsMmsGtest, SetImsSmsConfig_0003, Function | MediumTest | Level3)
1547 {
1548     AccessMmsToken token;
1549     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0003 -->");
1550     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1551         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1552         ASSERT_TRUE(true);
1553         return;
1554     }
1555     SmsMmsTestHelper helper;
1556     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
1557     if (!helper.Run(SetImsSmsConfigTestFuc, std::ref(helper))) {
1558         TELEPHONY_LOGI("SetImsSmsConfigTestFuc3 out of time");
1559         ASSERT_TRUE(false);
1560     }
1561     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0003 -->finished");
1562     ASSERT_TRUE(helper.GetBoolResult());
1563 }
1564 
1565 /**
1566  * @tc.number   Telephony_SmsMmsGtest_SetImsSmsConfig_0004
1567  * @tc.name     Disable Ims Sms
1568  * @tc.desc     Function test
1569  */
1570 HWTEST_F(SmsMmsGtest, SetImsSmsConfig_0004, Function | MediumTest | Level3)
1571 {
1572     AccessMmsToken token;
1573     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0004 -->");
1574     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
1575         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1576         ASSERT_TRUE(true);
1577         return;
1578     }
1579     SmsMmsTestHelper helper;
1580     helper.slotId = DEFAULT_SIM_SLOT_ID_1;
1581     if (!helper.Run(SetImsSmsConfigTestFuc2, std::ref(helper))) {
1582         TELEPHONY_LOGI("SetImsSmsConfigTestFuc4 out of time");
1583         ASSERT_TRUE(false);
1584     }
1585     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0004 -->finished");
1586     EXPECT_FALSE(helper.GetBoolResult());
1587 }
1588 
1589 /**
1590  * @tc.number   Telephony_SmsMmsGtest_SetImsSmsConfig_0005
1591  * @tc.name     Enable IMS SMS
1592  * @tc.desc     Function test
1593  * @tc.require: issueI5K12U
1594  */
1595 HWTEST_F(SmsMmsGtest, SetImsSmsConfig_0005, Function | MediumTest | Level2)
1596 {
1597     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0005 -->");
1598     if (!(SmsMmsGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
1599         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1600         ASSERT_TRUE(true);
1601         return;
1602     }
1603     SmsMmsTestHelper helper;
1604     helper.slotId = DEFAULT_SIM_SLOT_ID;
1605     if (!helper.Run(SetImsSmsConfigTestFuc, std::ref(helper))) {
1606         TELEPHONY_LOGI("SetImsSmsConfigTestFuc out of time");
1607         ASSERT_TRUE(false);
1608     }
1609     TELEPHONY_LOGI("TelSMSMMSTest::SetImsSmsConfig_0005 -->finished");
1610     EXPECT_FALSE(helper.GetBoolResult());
1611 }
1612 
SendDataMessageTestFuc(SmsMmsTestHelper & helper)1613 void SendDataMessageTestFuc(SmsMmsTestHelper &helper)
1614 {
1615     std::string dest = DES_ADDR;
1616     std::string sca("");
1617     OHOS::sptr<SmsSendCallbackGTest> sendCallBackPtr(new SmsSendCallbackGTest(helper));
1618     OHOS::sptr<SmsDeliveryCallbackGTest> deliveryCallBackPtr(new SmsDeliveryCallbackGTest(helper));
1619     uint16_t port = SMS_PORT;
1620     if (sendCallBackPtr == nullptr) {
1621         TELEPHONY_LOGI("sendCallBackPtr is nullptr");
1622         helper.NotifyAll();
1623     }
1624 
1625     if (deliveryCallBackPtr == nullptr) {
1626         TELEPHONY_LOGI("deliveryCallBackPtr is nullptr");
1627         helper.NotifyAll();
1628     }
1629     sendCallBackPtr->HasDeliveryCallBack(true);
1630     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SendMessage(helper.slotId, StringUtils::ToUtf16(dest),
1631         StringUtils::ToUtf16(sca), port, DATA_SMS, (sizeof(DATA_SMS) / sizeof(DATA_SMS[0]) - 1), sendCallBackPtr,
1632         deliveryCallBackPtr);
1633 }
1634 
SendDataMessageTestFuc2(SmsMmsTestHelper & helper)1635 void SendDataMessageTestFuc2(SmsMmsTestHelper &helper)
1636 {
1637     std::string dest = DES_ADDR;
1638     std::string sca("");
1639     OHOS::sptr<SmsSendCallbackGTest> sendCallBackPtr(new SmsSendCallbackGTest(helper));
1640     OHOS::sptr<SmsDeliveryCallbackGTest> deliveryCallBackPtr(new SmsDeliveryCallbackGTest(helper));
1641     uint16_t port = SMS_PORT;
1642     if (sendCallBackPtr == nullptr) {
1643         TELEPHONY_LOGI("sendCallBackPtr is nullptr");
1644         helper.NotifyAll();
1645     }
1646 
1647     if (deliveryCallBackPtr == nullptr) {
1648         TELEPHONY_LOGI("deliveryCallBackPtr is nullptr");
1649         helper.NotifyAll();
1650     }
1651     sendCallBackPtr->HasDeliveryCallBack(false);
1652     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SendMessage(helper.slotId, StringUtils::ToUtf16(dest),
1653         StringUtils::ToUtf16(sca), port, DATA_SMS, (sizeof(DATA_SMS) / sizeof(DATA_SMS[0]) - 1), sendCallBackPtr,
1654         deliveryCallBackPtr);
1655 }
1656 
1657 /**
1658  * @tc.number   Telephony_SmsMmsGtest_SendDataMessage_0001
1659  * @tc.name     Send Data Sms
1660  * @tc.desc     Function test
1661  */
1662 HWTEST_F(SmsMmsGtest, SendDataMessage_0001, Function | MediumTest | Level2)
1663 {
1664     AccessMmsToken token;
1665     TELEPHONY_LOGI("TelSMSMMSTest::SendDataMessage_0001 -->");
1666     int32_t slotId = DEFAULT_SIM_SLOT_ID;
1667     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1668         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1669         ASSERT_TRUE(true);
1670         return;
1671     }
1672     SmsMmsTestHelper helper;
1673     helper.slotId = slotId;
1674     if (!helper.Run(SendDataMessageTestFuc, helper)) {
1675         TELEPHONY_LOGI("SendDataMessageTestFuc out of time");
1676         ASSERT_TRUE(false);
1677     }
1678     TELEPHONY_LOGI("TelSMSMMSTest::SendDataMessage_0001 -->finished");
1679     ASSERT_TRUE(helper.GetSendSmsIntResult() == 0 && helper.GetDeliverySmsIntResult() == 0);
1680 }
1681 
1682 /**
1683  * @tc.number   Telephony_SmsMmsGtest_SendDataMessage_0002
1684  * @tc.name     Send Data Sms
1685  * @tc.desc     Function test
1686  */
1687 HWTEST_F(SmsMmsGtest, SendDataMessage_0002, Function | MediumTest | Level2)
1688 {
1689     AccessMmsToken token;
1690     TELEPHONY_LOGI("TelSMSMMSTest::SendDataMessage_0002 -->");
1691     int32_t slotId = DEFAULT_SIM_SLOT_ID_1;
1692     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1693         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1694         ASSERT_TRUE(true);
1695         return;
1696     }
1697     SmsMmsTestHelper helper;
1698     helper.slotId = slotId;
1699     if (!helper.Run(SendDataMessageTestFuc, helper)) {
1700         TELEPHONY_LOGI("SendDataMessageTestFuc out of time");
1701         ASSERT_TRUE(false);
1702     }
1703     TELEPHONY_LOGI("TelSMSMMSTest::SendDataMessage_0002 -->finished");
1704     ASSERT_TRUE(helper.GetSendSmsIntResult() == 0 && helper.GetDeliverySmsIntResult() == 0);
1705 }
1706 
1707 /**
1708  * @tc.number   Telephony_SmsMmsGtest_SendDataMessage_0003
1709  * @tc.name     Send Data Sms
1710  * @tc.desc     Function test
1711  */
1712 HWTEST_F(SmsMmsGtest, SendDataMessage_0003, Function | MediumTest | Level2)
1713 {
1714     TELEPHONY_LOGI("TelSMSMMSTest::SendDataMessage_0003 -->");
1715     int32_t slotId = DEFAULT_SIM_SLOT_ID;
1716     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1717         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1718         ASSERT_TRUE(true);
1719         return;
1720     }
1721     SmsMmsTestHelper helper;
1722     helper.slotId = slotId;
1723     if (!helper.Run(SendDataMessageTestFuc2, helper)) {
1724         TELEPHONY_LOGI("SendDataMessageTestFuc out of time");
1725         ASSERT_TRUE(false);
1726     }
1727     TELEPHONY_LOGI("TelSMSMMSTest::SendDataMessage_0003 -->finished");
1728     EXPECT_FALSE(helper.GetSendSmsIntResult() == 0);
1729 }
1730 
SendTextMessageTestFuc(SmsMmsTestHelper & helper)1731 void SendTextMessageTestFuc(SmsMmsTestHelper &helper)
1732 {
1733     std::string dest = DES_ADDR;
1734     std::string sca("");
1735     OHOS::sptr<SmsSendCallbackGTest> sendCallBackPtr(new SmsSendCallbackGTest(helper));
1736     OHOS::sptr<SmsDeliveryCallbackGTest> deliveryCallBackPtr(new SmsDeliveryCallbackGTest(helper));
1737     std::string text = TEXT_SMS_CONTENT;
1738     if (sendCallBackPtr == nullptr) {
1739         TELEPHONY_LOGI("sendCallBackPtr is nullptr");
1740         helper.NotifyAll();
1741     }
1742 
1743     if (deliveryCallBackPtr == nullptr) {
1744         TELEPHONY_LOGI("deliveryCallBackPtr is nullptr");
1745         helper.NotifyAll();
1746     }
1747     sendCallBackPtr->HasDeliveryCallBack(true);
1748     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SendMessage(helper.slotId, StringUtils::ToUtf16(dest),
1749         StringUtils::ToUtf16(sca), StringUtils::ToUtf16(text), sendCallBackPtr, deliveryCallBackPtr);
1750 }
1751 
SendTextMessageTestFuc2(SmsMmsTestHelper & helper)1752 void SendTextMessageTestFuc2(SmsMmsTestHelper &helper)
1753 {
1754     std::string dest = DES_ADDR;
1755     std::string sca("");
1756     OHOS::sptr<SmsSendCallbackGTest> sendCallBackPtr(new SmsSendCallbackGTest(helper));
1757     OHOS::sptr<SmsDeliveryCallbackGTest> deliveryCallBackPtr(new SmsDeliveryCallbackGTest(helper));
1758     std::string text = TEXT_SMS_CONTENT;
1759     if (sendCallBackPtr == nullptr) {
1760         TELEPHONY_LOGI("sendCallBackPtr is nullptr");
1761         helper.NotifyAll();
1762     }
1763 
1764     if (deliveryCallBackPtr == nullptr) {
1765         TELEPHONY_LOGI("deliveryCallBackPtr is nullptr");
1766         helper.NotifyAll();
1767     }
1768     sendCallBackPtr->HasDeliveryCallBack(false);
1769     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->SendMessage(helper.slotId, StringUtils::ToUtf16(dest),
1770         StringUtils::ToUtf16(sca), StringUtils::ToUtf16(text), sendCallBackPtr, deliveryCallBackPtr);
1771 }
1772 
1773 /**
1774  * @tc.number   Telephony_SmsMmsGtest_SendTextMessage_0001
1775  * @tc.name     Send Text Sms
1776  * @tc.desc     Function test
1777  */
1778 HWTEST_F(SmsMmsGtest, SendTextMessage_0001, Function | MediumTest | Level2)
1779 {
1780     AccessMmsToken token;
1781     TELEPHONY_LOGI("TelSMSMMSTest::SendTextMessage_0001 -->");
1782     int32_t slotId = DEFAULT_SIM_SLOT_ID;
1783     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1784         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1785         ASSERT_TRUE(true);
1786         return;
1787     }
1788     SmsMmsTestHelper helper;
1789     helper.slotId = slotId;
1790     if (!helper.Run(SendTextMessageTestFuc, helper)) {
1791         TELEPHONY_LOGI("SendTextMessageTestFuc out of time");
1792         ASSERT_TRUE(false);
1793     }
1794     TELEPHONY_LOGI("TelSMSMMSTest::SendTextMessage_0001 -->finished");
1795     ASSERT_TRUE(helper.GetSendSmsIntResult() == 0 && helper.GetDeliverySmsIntResult() == 0);
1796 }
1797 
1798 /**
1799  * @tc.number   Telephony_SmsMmsGtest_SendTextMessage_0002
1800  * @tc.name     Send Text Sms
1801  * @tc.desc     Function test
1802  */
1803 HWTEST_F(SmsMmsGtest, SendTextMessage_0002, Function | MediumTest | Level2)
1804 {
1805     AccessMmsToken token;
1806     TELEPHONY_LOGI("TelSMSMMSTest::SendTextMessage_0002 -->");
1807     int32_t slotId = DEFAULT_SIM_SLOT_ID_1;
1808     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1809         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1810         ASSERT_TRUE(true);
1811         return;
1812     }
1813     SmsMmsTestHelper helper;
1814     helper.slotId = slotId;
1815     if (!helper.Run(SendTextMessageTestFuc, helper)) {
1816         TELEPHONY_LOGI("SendTextMessageTestFuc out of time");
1817         ASSERT_TRUE(false);
1818     }
1819     TELEPHONY_LOGI("TelSMSMMSTest::SendTextMessage_0001 -->finished");
1820     ASSERT_TRUE(helper.GetSendSmsIntResult() == 0 && helper.GetDeliverySmsIntResult() == 0);
1821 }
1822 
1823 /**
1824  * @tc.number   Telephony_SmsMmsGtest_SendTextMessage_0003
1825  * @tc.name     Send Text Sms
1826  * @tc.desc     Function test
1827  */
1828 HWTEST_F(SmsMmsGtest, SendTextMessage_0003, Function | MediumTest | Level2)
1829 {
1830     TELEPHONY_LOGI("TelSMSMMSTest::SendTextMessage_0003 -->");
1831     int32_t slotId = DEFAULT_SIM_SLOT_ID;
1832     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1833         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1834         ASSERT_TRUE(true);
1835         return;
1836     }
1837     SmsMmsTestHelper helper;
1838     helper.slotId = slotId;
1839     if (!helper.Run(SendTextMessageTestFuc2, helper)) {
1840         TELEPHONY_LOGI("SendTextMessageTestFuc out of time");
1841         ASSERT_TRUE(false);
1842     }
1843     TELEPHONY_LOGI("TelSMSMMSTest::SendTextMessage_0003 -->finished");
1844     EXPECT_FALSE(helper.GetSendSmsIntResult() == 0);
1845 }
1846 
GetSmsSegmentsInfoTestFuc(SmsMmsTestHelper & helper)1847 void GetSmsSegmentsInfoTestFuc(SmsMmsTestHelper &helper)
1848 {
1849     std::u16string message = u"";
1850     bool force7BitCode = false;
1851     ISmsServiceInterface::SmsSegmentsInfo result;
1852     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->GetSmsSegmentsInfo(
1853         helper.slotId, message, force7BitCode, result);
1854     bool isSupported = false;
1855     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->IsImsSmsSupported(helper.slotId, isSupported);
1856     helper.SetBoolResult(isSupported);
1857     helper.NotifyAll();
1858 }
1859 
GetSmsSegmentsInfoTestFuc2(SmsMmsTestHelper & helper)1860 void GetSmsSegmentsInfoTestFuc2(SmsMmsTestHelper &helper)
1861 {
1862     std::u16string message = u"message";
1863     bool force7BitCode = true;
1864     ISmsServiceInterface::SmsSegmentsInfo result;
1865     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->GetSmsSegmentsInfo(
1866         helper.slotId, message, force7BitCode, result);
1867     bool isSupported = false;
1868     DelayedSingleton<SmsServiceManagerClient>::GetInstance()->IsImsSmsSupported(helper.slotId, isSupported);
1869     helper.SetBoolResult(isSupported);
1870     helper.NotifyAll();
1871 }
1872 
1873 /**
1874  * @tc.number   Telephony_SmsMmsGtest_GetSmsSegmentsInfo_0001
1875  * @tc.name     Send Text Sms
1876  * @tc.desc     Function test
1877  */
1878 HWTEST_F(SmsMmsGtest, GetSmsSegmentsInfo_0001, Function | MediumTest | Level2)
1879 {
1880     TELEPHONY_LOGI("TelSMSMMSTest::GetSmsSegmentsInfo_0001 -->");
1881     int32_t slotId = DEFAULT_SIM_SLOT_ID;
1882     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1883         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1884         ASSERT_TRUE(true);
1885         return;
1886     }
1887     SmsMmsTestHelper helper;
1888     helper.slotId = slotId;
1889     if (!helper.Run(GetSmsSegmentsInfoTestFuc, helper)) {
1890         TELEPHONY_LOGI("GetSmsSegmentsInfoTestFuc out of time");
1891         ASSERT_TRUE(false);
1892     }
1893     TELEPHONY_LOGI("TelSMSMMSTest::GetSmsSegmentsInfo_0001 -->finished");
1894     EXPECT_FALSE(helper.GetBoolResult());
1895 }
1896 
1897 /**
1898  * @tc.number   Telephony_SmsMmsGtest_GetSmsSegmentsInfo_0002
1899  * @tc.name     Send Text Sms
1900  * @tc.desc     Function test
1901  */
1902 HWTEST_F(SmsMmsGtest, GetSmsSegmentsInfo_0002, Function | MediumTest | Level2)
1903 {
1904     TELEPHONY_LOGI("TelSMSMMSTest::GetSmsSegmentsInfo_0002 -->");
1905     int32_t slotId = DEFAULT_SIM_SLOT_ID;
1906     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1907         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1908         ASSERT_TRUE(true);
1909         return;
1910     }
1911     SmsMmsTestHelper helper;
1912     helper.slotId = slotId;
1913     if (!helper.Run(GetSmsSegmentsInfoTestFuc2, helper)) {
1914         TELEPHONY_LOGI("GetSmsSegmentsInfoTestFuc2 out of time");
1915         ASSERT_TRUE(false);
1916     }
1917     TELEPHONY_LOGI("TelSMSMMSTest::GetSmsSegmentsInfo_0002 -->finished");
1918     EXPECT_FALSE(helper.GetBoolResult());
1919 }
1920 
1921 /**
1922  * @tc.number   Telephony_SmsMmsGtest_GetSmsSegmentsInfo_0003
1923  * @tc.name     Send Text Sms
1924  * @tc.desc     Function test
1925  */
1926 HWTEST_F(SmsMmsGtest, GetSmsSegmentsInfo_0003, Function | MediumTest | Level2)
1927 {
1928     TELEPHONY_LOGI("TelSMSMMSTest::GetSmsSegmentsInfo_0003 -->");
1929     int32_t slotId = DEFAULT_SIM_SLOT_ID_1;
1930     if (!(SmsMmsGtest::HasSimCard(slotId))) {
1931         TELEPHONY_LOGI("TelephonyTestService has no sim card");
1932         ASSERT_TRUE(true);
1933         return;
1934     }
1935     SmsMmsTestHelper helper;
1936     helper.slotId = slotId;
1937     if (!helper.Run(GetSmsSegmentsInfoTestFuc, helper)) {
1938         TELEPHONY_LOGI("GetSmsSegmentsInfoTestFuc3 out of time");
1939         ASSERT_TRUE(false);
1940     }
1941     TELEPHONY_LOGI("TelSMSMMSTest::GetSmsSegmentsInfo_0003 -->finished");
1942     EXPECT_FALSE(helper.GetBoolResult());
1943 }
1944 
1945 /**
1946  * @tc.number   Telephony_SmsMmsGtest_MmsAddress_0001
1947  * @tc.name     Test MmsAddress
1948  * @tc.desc     Function test
1949  */
1950 HWTEST_F(SmsMmsGtest, MmsAddress_0001, Function | MediumTest | Level1)
1951 {
1952     TELEPHONY_LOGI("TelSMSMMSTest::MmsAddress_0001 -->");
1953     MmsAddress address;
1954     address.SetMmsAddressString("12345678/TYPE=PLMN");
1955     address.SetMmsAddressString("12345678/TYPE=IPv4");
1956     address.SetMmsAddressString("12345678/TYPE=IPv6");
1957     address.SetMmsAddressString("12345678/TYPE=UNKNOWN");
1958     address.SetMmsAddressString("12345678/TYPE=EMAIL");
1959     std::string ret = address.GetAddressString();
1960     EXPECT_STREQ(ret.c_str(), "12345678/TYPE=EMAIL");
1961     MmsAddress::MmsAddressType type = address.GetAddressType();
1962     EXPECT_EQ(type, MmsAddress::MmsAddressType::ADDRESS_TYPE_PLMN);
1963     MmsCharSets charset = address.GetAddressCharset();
1964     EXPECT_EQ(charset, MmsCharSets::UTF_8);
1965 }
1966 
1967 /**
1968  * @tc.number   Telephony_SmsMmsGtest_MmsAttachment_0001
1969  * @tc.name     Test MmsAttachment
1970  * @tc.desc     Function test
1971  */
1972 HWTEST_F(SmsMmsGtest, MmsAttachment_0001, Function | MediumTest | Level1)
1973 {
1974     TELEPHONY_LOGI("TelSMSMMSTest::MmsAttachment_0001 -->");
1975     const std::string pathName = "/data/telephony/enSrc/618C0A89.smil";
1976     std::size_t pos = pathName.find_last_of('/');
1977     std::string fileName(pathName.substr(pos + 1));
1978     MmsAttachment attachment;
1979     bool retBool;
1980     std::string retStr;
1981     retBool = attachment.SetAttachmentFilePath("", false);
1982     EXPECT_EQ(false, retBool);
1983     retBool = attachment.SetAttachmentFilePath(pathName, true);
1984     EXPECT_EQ(true, retBool);
1985     retStr = attachment.GetAttachmentFilePath();
1986     EXPECT_STREQ(retStr.c_str(), pathName.c_str());
1987     retBool = attachment.SetContentId("");
1988     EXPECT_EQ(false, retBool);
1989     retBool = attachment.SetContentId("0000");
1990     EXPECT_EQ(true, retBool);
1991     retBool = attachment.SetContentId("<0000>");
1992     EXPECT_EQ(true, retBool);
1993     retStr = attachment.GetContentId();
1994     EXPECT_STREQ(retStr.c_str(), "<0000>");
1995     retBool = attachment.SetContentLocation("");
1996     EXPECT_EQ(false, retBool);
1997     retBool = attachment.SetContentLocation("SetContentLocation");
1998     EXPECT_EQ(true, retBool);
1999     retStr = attachment.GetContentLocation();
2000     EXPECT_STREQ(retStr.c_str(), "SetContentLocation");
2001     retBool = attachment.SetContentDisposition("");
2002     EXPECT_EQ(false, retBool);
2003     retBool = attachment.SetContentDisposition("attachment");
2004     EXPECT_EQ(true, retBool);
2005     retStr = attachment.GetContentDisposition();
2006     EXPECT_STREQ(retStr.c_str(), "attachment");
2007     retBool = attachment.SetContentTransferEncoding("");
2008     EXPECT_EQ(false, retBool);
2009     retBool = attachment.SetFileName(fileName);
2010     EXPECT_EQ(true, retBool);
2011     retStr = attachment.GetFileName();
2012     EXPECT_STREQ(retStr.c_str(), fileName.c_str());
2013 }
2014 
2015 /**
2016  * @tc.number   Telephony_SmsMmsGtest_MmsAttachment_0002
2017  * @tc.name     Test MmsAttachment
2018  * @tc.desc     Function test
2019  */
2020 HWTEST_F(SmsMmsGtest, MmsAttachment_0002, Function | MediumTest | Level1)
2021 {
2022     TELEPHONY_LOGI("TelSMSMMSTest::MmsAttachment_0002 -->");
2023     MmsAttachment attachment;
2024     bool retBool;
2025     std::string retStr;
2026     uint32_t retU32t;
2027     uint32_t len = 300 * 1024;
2028     uint32_t charset = 0;
2029     retBool = attachment.SetContentTransferEncoding("SetContentTransferEncoding");
2030     EXPECT_EQ(true, retBool);
2031     retStr = attachment.GetContentTransferEncoding();
2032     EXPECT_STREQ(retStr.c_str(), "SetContentTransferEncoding");
2033     retBool = attachment.SetContentType("");
2034     EXPECT_EQ(false, retBool);
2035     attachment.SetIsSmilFile(true);
2036     retBool = attachment.IsSmilFile();
2037     EXPECT_EQ(true, retBool);
2038     attachment.SetCharSet(charset);
2039     retU32t = attachment.GetCharSet();
2040     EXPECT_EQ(charset, retU32t);
2041     retBool = attachment.SetDataBuffer(nullptr, 0);
2042     EXPECT_EQ(false, retBool);
2043     retBool = attachment.SetDataBuffer(std::make_unique<char[]>(len + 1), len + 1);
2044     EXPECT_EQ(false, retBool);
2045     retBool = attachment.SetDataBuffer(std::make_unique<char[]>(len - 1), len - 1);
2046     EXPECT_EQ(true, retBool);
2047     retBool = attachment.SetDataBuffer(std::make_unique<char[]>(len - 1), len + 1);
2048     EXPECT_EQ(false, retBool);
2049     EXPECT_FALSE(attachment.GetDataBuffer(len) == nullptr);
2050     MmsAttachment attachment1(attachment);
2051     attachment1.SetContentType("application/smil");
2052     retStr = attachment1.GetContentType();
2053     EXPECT_STREQ(retStr.c_str(), "application/smil");
2054 }
2055 
2056 /**
2057  * @tc.number   Telephony_SmsMmsGtest_MmsBodyPartHeader_0001
2058  * @tc.name     Test MmsBodyPartHeader
2059  * @tc.desc     Function test
2060  */
2061 HWTEST_F(SmsMmsGtest, MmsBodyPartHeader_0001, Function | MediumTest | Level1)
2062 {
2063     TELEPHONY_LOGI("TelSMSMMSTest::MmsBodyPartHeader_0001 -->");
2064     MmsBodyPartHeader mmsBodyPartHeader;
2065     MmsDecodeBuffer decodeBuffer;
2066     std::string testStr;
2067     uint32_t len = 0;
2068     uint32_t lenErr = -1;
2069     uint32_t lenMax = 300 * 1024;
2070     mmsBodyPartHeader.DumpBodyPartHeader();
2071     mmsBodyPartHeader.DecodeContentLocation(decodeBuffer, len);
2072     mmsBodyPartHeader.DecodeContentId(decodeBuffer, len);
2073     mmsBodyPartHeader.DecodeContentDisposition(decodeBuffer, len);
2074     mmsBodyPartHeader.DecodeDispositionParameter(decodeBuffer, lenMax, len);
2075     mmsBodyPartHeader.DecodeDispositionParameter(decodeBuffer, lenErr, len);
2076     mmsBodyPartHeader.DecodeWellKnownHeader(decodeBuffer, len);
2077     mmsBodyPartHeader.DecodeApplicationHeader(decodeBuffer, len);
2078     mmsBodyPartHeader.SetContentId("contentId");
2079     mmsBodyPartHeader.GetContentId(testStr);
2080     EXPECT_STREQ(testStr.c_str(), "contentId");
2081     mmsBodyPartHeader.SetContentTransferEncoding("contentTransferEncoding");
2082     mmsBodyPartHeader.GetContentTransferEncoding(testStr);
2083     EXPECT_STREQ(testStr.c_str(), "contentTransferEncoding");
2084     mmsBodyPartHeader.SetContentLocation("contentLocation");
2085     mmsBodyPartHeader.GetContentLocation(testStr);
2086     EXPECT_STREQ(testStr.c_str(), "contentLocation");
2087     MmsEncodeBuffer encodeBuffer;
2088     mmsBodyPartHeader.EncodeContentLocation(encodeBuffer);
2089     mmsBodyPartHeader.EncodeContentId(encodeBuffer);
2090     mmsBodyPartHeader.EncodeContentDisposition(encodeBuffer);
2091     mmsBodyPartHeader.EncodeContentTransferEncoding(encodeBuffer);
2092     mmsBodyPartHeader.EncodeMmsBodyPartHeader(encodeBuffer);
2093     MmsBodyPartHeader mmsBodyPartHeader2;
2094     MmsBodyPartHeader mmsBodyPartHeader3 = MmsBodyPartHeader(mmsBodyPartHeader);
2095     mmsBodyPartHeader2 = mmsBodyPartHeader;
2096     mmsBodyPartHeader2.SetContentDisposition("contentDisposition");
2097     mmsBodyPartHeader2.GetContentDisposition(testStr);
2098     EXPECT_STREQ(testStr.c_str(), "contentDisposition");
2099 }
2100 
2101 /**
2102  * @tc.number   Telephony_SmsMmsGtest_MmsBuffer_0001
2103  * @tc.name     Test MmsBuffer
2104  * @tc.desc     Function test
2105  */
2106 HWTEST_F(SmsMmsGtest, MmsBuffer_0001, Function | MediumTest | Level1)
2107 {
2108     TELEPHONY_LOGI("TelSMSMMSTest::MmsBuffer_0001 -->");
2109     MmsBuffer mmsBuffer;
2110     uint32_t len = 10;
2111     bool retBool;
2112     std::string strPathName = "/data/telephony/enSrc/618C0A89.smil";
2113     mmsBuffer.ReadDataBuffer(len);
2114     mmsBuffer.ReadDataBuffer(len, len);
2115     retBool = mmsBuffer.WriteDataBuffer(std::make_unique<char[]>(len), 0);
2116     EXPECT_EQ(false, retBool);
2117     retBool = mmsBuffer.WriteDataBuffer(std::make_unique<char[]>(len), len);
2118     EXPECT_EQ(true, retBool);
2119     mmsBuffer.WriteBufferFromFile(strPathName);
2120     mmsBuffer.GetCurPosition();
2121     uint32_t ret = mmsBuffer.GetSize();
2122     EXPECT_GE(ret, 0);
2123 }
2124 
2125 /**
2126  * @tc.number   Telephony_SmsMmsGtest_MmsContentParam_0001
2127  * @tc.name     Test MmsContentParam
2128  * @tc.desc     Function test
2129  */
2130 HWTEST_F(SmsMmsGtest, MmsContentParam_0001, Function | MediumTest | Level1)
2131 {
2132     TELEPHONY_LOGI("TelSMSMMSTest::MmsContentParam_0001 -->");
2133     MmsContentParam mmsContentParam;
2134     MmsContentParam mmsContentParam2;
2135     uint8_t field = 1;
2136     uint32_t charset = 10;
2137     std::string testStr;
2138     uint32_t retU32t;
2139     mmsContentParam.DumpContentParam();
2140     mmsContentParam.SetCharSet(charset);
2141     retU32t = mmsContentParam.GetCharSet();
2142     EXPECT_EQ(charset, retU32t);
2143     mmsContentParam.SetType("type");
2144     testStr = mmsContentParam.GetType();
2145     EXPECT_STREQ(testStr.c_str(), "type");
2146     mmsContentParam.SetFileName("");
2147     mmsContentParam.SetStart("");
2148     mmsContentParam.SetStart("start");
2149     mmsContentParam.GetStart(testStr);
2150     EXPECT_STREQ(testStr.c_str(), "start");
2151     mmsContentParam.AddNormalField(field, "value");
2152     mmsContentParam.GetNormalField(field, testStr);
2153     EXPECT_STREQ(testStr.c_str(), "value");
2154     mmsContentParam.GetParamMap();
2155     mmsContentParam2 = mmsContentParam;
2156     mmsContentParam2.SetFileName("fileName");
2157     mmsContentParam2.GetFileName(testStr);
2158     EXPECT_STREQ(testStr.c_str(), "fileName");
2159 }
2160 
2161 /**
2162  * @tc.number   Telephony_SmsMmsGtest_MmsContentType_0001
2163  * @tc.name     Test MmsContentType
2164  * @tc.desc     Function test
2165  */
2166 HWTEST_F(SmsMmsGtest, MmsContentType_0001, Function | MediumTest | Level1)
2167 {
2168     TELEPHONY_LOGI("TelSMSMMSTest::MmsContentType_0001 -->");
2169     MmsContentType mmsContentType;
2170     MmsDecodeBuffer decodeBuffer;
2171     MmsContentParam contentParam;
2172     int32_t len = 10;
2173     uint8_t type = 10;
2174     std::string testStr;
2175     mmsContentType.DumpMmsContentType();
2176     mmsContentType.DecodeMmsContentType(decodeBuffer, len);
2177     mmsContentType.DecodeMmsCTGeneralForm(decodeBuffer, len);
2178     mmsContentType.GetContentTypeFromInt(type);
2179     mmsContentType.GetContentTypeFromString("");
2180     mmsContentType.DecodeParameter(decodeBuffer, len);
2181     mmsContentType.SetContentParam(contentParam);
2182     mmsContentType.DecodeTextField(decodeBuffer, type, len);
2183     mmsContentType.DecodeCharsetField(decodeBuffer, len);
2184     mmsContentType.DecodeTypeField(decodeBuffer, len);
2185     MmsEncodeBuffer encodeBuffer;
2186     mmsContentType.EncodeTextField(encodeBuffer);
2187     mmsContentType.EncodeCharsetField(encodeBuffer);
2188     mmsContentType.EncodeTypeField(encodeBuffer);
2189     mmsContentType.EncodeMmsBodyPartContentParam(encodeBuffer);
2190     mmsContentType.EncodeMmsBodyPartContentType(encodeBuffer);
2191     mmsContentType.GetContentParam();
2192     MmsContentType mmsContentType2(mmsContentType);
2193     mmsContentType2 = mmsContentType;
2194     mmsContentType2.SetContentType("contentType");
2195     mmsContentType2.GetContentType(testStr);
2196     EXPECT_STREQ(testStr.c_str(), "contentType");
2197 }
2198 
2199 /**
2200  * @tc.number   Telephony_SmsMmsGtest_MmsDecodeBuffer_0001
2201  * @tc.name     Test MmsDecodeBuffer
2202  * @tc.desc     Function test
2203  */
2204 HWTEST_F(SmsMmsGtest, MmsDecodeBuffer_0001, Function | MediumTest | Level1)
2205 {
2206     TELEPHONY_LOGI("TelSMSMMSTest::MmsDecodeBuffer_0001 -->");
2207     uint8_t byteVar = 1;
2208     uint32_t intVar = 10;
2209     uint64_t longVar = 10;
2210     std::string testStr;
2211     MmsDecodeBuffer mmsDecodeBuffer;
2212     mmsDecodeBuffer.PeekOneByte(byteVar);
2213     mmsDecodeBuffer.GetOneByte(byteVar);
2214     mmsDecodeBuffer.IncreasePointer(intVar);
2215     mmsDecodeBuffer.DecreasePointer(intVar);
2216     mmsDecodeBuffer.DecodeUintvar(intVar, intVar);
2217     mmsDecodeBuffer.DecodeShortLength(byteVar);
2218     mmsDecodeBuffer.DecodeValueLengthReturnLen(intVar, intVar);
2219     mmsDecodeBuffer.DecodeValueLength(intVar);
2220     mmsDecodeBuffer.DecodeTokenText(testStr, intVar);
2221     mmsDecodeBuffer.DecodeText(testStr, intVar);
2222     mmsDecodeBuffer.DecodeQuotedText(testStr, intVar);
2223     mmsDecodeBuffer.DecodeShortInteger(byteVar);
2224     mmsDecodeBuffer.DecodeLongInteger(longVar);
2225     mmsDecodeBuffer.DecodeInteger(longVar);
2226     mmsDecodeBuffer.DecodeIsShortInt();
2227     mmsDecodeBuffer.DecodeIsString();
2228     mmsDecodeBuffer.DecodeIsValueLength();
2229     mmsDecodeBuffer.MarkPosition();
2230     mmsDecodeBuffer.UnMarkPosition();
2231     uint8_t errVar = -1;
2232     bool ret = mmsDecodeBuffer.CharIsToken(errVar);
2233     EXPECT_EQ(false, ret);
2234 }
2235 
2236 /**
2237  * @tc.number   Telephony_SmsMmsGtest_MmsEncodeString_0001
2238  * @tc.name     Test MmsEncodeString
2239  * @tc.desc     Function test
2240  */
2241 HWTEST_F(SmsMmsGtest, MmsEncodeString_0001, Function | MediumTest | Level1)
2242 {
2243     TELEPHONY_LOGI("TelSMSMMSTest::MmsEncodeString_0001 -->");
2244     MmsEncodeString mmsEncodeString;
2245     MmsDecodeBuffer decodeBuffer;
2246     MmsEncodeBuffer encodeBuffer;
2247     std::string testStr;
2248     uint32_t charset = 10;
2249     MmsAddress addrsss;
2250     mmsEncodeString.DecodeEncodeString(decodeBuffer);
2251     mmsEncodeString.EncodeEncodeString(encodeBuffer);
2252     mmsEncodeString.GetEncodeString(testStr);
2253     mmsEncodeString.SetAddressString(addrsss);
2254     MmsEncodeString mmsEncodeString1(mmsEncodeString);
2255     bool ret = mmsEncodeString1.SetEncodeString(charset, testStr);
2256     EXPECT_EQ(true, ret);
2257 }
2258 
2259 /**
2260  * @tc.number   Telephony_SmsMmsGtest_MmsHeaderCateg_0001
2261  * @tc.name     Test MmsHeaderCateg
2262  * @tc.desc     Function test
2263  */
2264 HWTEST_F(SmsMmsGtest, MmsHeaderCateg_0001, Function | MediumTest | Level1)
2265 {
2266     TELEPHONY_LOGI("TelSMSMMSTest::MmsHeaderCateg_0001 -->");
2267     MmsHeaderCateg mmsHeaderCateg;
2268     uint8_t fieldId = 0;
2269     mmsHeaderCateg.FindSendReqOptType(fieldId);
2270     mmsHeaderCateg.FindSendConfOptType(fieldId);
2271     bool ret = mmsHeaderCateg.CheckIsValueLen(fieldId);
2272     EXPECT_EQ(false, ret);
2273 }
2274 
2275 /**
2276  * @tc.number   Telephony_SmsMmsGtest_MmsBase64_0001
2277  * @tc.name     Test MmsBase64
2278  * @tc.desc     Function test
2279  */
2280 HWTEST_F(SmsMmsGtest, MmsBase64_0001, Function | MediumTest | Level1)
2281 {
2282     TELEPHONY_LOGI("TelSMSMMSTest::MmsBase64_0001 -->");
2283     MmsBase64 mmsBase64;
2284     std::string valueStr = "valueStr";
2285     mmsBase64.Encode(valueStr);
2286     std::string ret = mmsBase64.Decode(valueStr);
2287     EXPECT_STRNE(ret.c_str(), "test");
2288 }
2289 
2290 /**
2291  * @tc.number   Telephony_SmsMmsGtest_MmsCharSet_0001
2292  * @tc.name     Test MmsCharSet
2293  * @tc.desc     Function test
2294  */
2295 HWTEST_F(SmsMmsGtest, MmsCharSet_0001, Function | MediumTest | Level1)
2296 {
2297     TELEPHONY_LOGI("TelSMSMMSTest::MmsCharSet_0001 -->");
2298     MmsCharSet mmsCharSet;
2299     uint32_t charSet = 10;
2300     std::string strCharSet = "US-ASCII";
2301     mmsCharSet.GetCharSetStrFromInt(strCharSet, charSet);
2302     bool ret = mmsCharSet.GetCharSetIntFromString(charSet, strCharSet);
2303     EXPECT_EQ(true, ret);
2304 }
2305 
2306 /**
2307  * @tc.number   Telephony_SmsMmsGtest_MmsQuotedPrintable_0001
2308  * @tc.name     Test MmsQuotedPrintable
2309  * @tc.desc     Function test
2310  */
2311 HWTEST_F(SmsMmsGtest, MmsQuotedPrintable_0001, Function | MediumTest | Level1)
2312 {
2313     TELEPHONY_LOGI("TelSMSMMSTest::MmsQuotedPrintable_0001 -->");
2314     MmsQuotedPrintable mmsQuotedPrintable;
2315     std::string valueStr = "123";
2316     mmsQuotedPrintable.Encode(valueStr);
2317     mmsQuotedPrintable.Decode(valueStr, valueStr);
2318     bool ret = mmsQuotedPrintable.Decode("", valueStr);
2319     EXPECT_EQ(false, ret);
2320 }
2321 
2322 /**
2323  * @tc.number   Telephony_SmsMmsGtest_CdmaSmsMessage_0001
2324  * @tc.name     Test CdmaSmsMessage
2325  * @tc.desc     Function test
2326  */
2327 HWTEST_F(SmsMmsGtest, CdmaSmsMessage_0001, Function | MediumTest | Level1)
2328 {
2329     TELEPHONY_LOGI("TelSMSMMSTest::CdmaSmsMessage_0001 -->");
2330     CdmaSmsMessage cdmaSmsMessage;
2331     std::string dest = "dest";
2332     std::string sc = "sc";
2333     std::string text = "text";
2334     int32_t port = 10;
2335     uint8_t *data;
2336     uint32_t dataLen = 10;
2337     std::string pdu = "01000B818176251308F4000007E8B0BCFD76E701";
2338     bool bStatusReport = false;
2339     SmsCodingScheme codingScheme = SMS_CODING_7BIT;
2340     cdmaSmsMessage.CreateSubmitTransMsg(dest, sc, text, bStatusReport, codingScheme);
2341     cdmaSmsMessage.CreateSubmitTransMsg(dest, sc, port, data, dataLen, bStatusReport);
2342     cdmaSmsMessage.GreateTransMsg();
2343     cdmaSmsMessage.CovertEncodingType(codingScheme);
2344     cdmaSmsMessage.CreateMessage(pdu);
2345     cdmaSmsMessage.PduAnalysis(pdu);
2346     SmsTransP2PMsg p2pMsg;
2347     cdmaSmsMessage.AnalysisP2pMsg(p2pMsg);
2348     cdmaSmsMessage.AnalsisDeliverMwi(p2pMsg);
2349     bool ret = cdmaSmsMessage.PduAnalysis("");
2350     EXPECT_EQ(false, ret);
2351 }
2352 
2353 /**
2354  * @tc.number   Telephony_SmsMmsGtest_CdmaSmsPduCodec_0001
2355  * @tc.name     Test CdmaSmsPduCodec
2356  * @tc.desc     Function test
2357  */
2358 HWTEST_F(SmsMmsGtest, CdmaSmsPduCodec_0001, Function | MediumTest | Level1)
2359 {
2360     TELEPHONY_LOGI("TelSMSMMSTest::CdmaSmsPduCodec_0001 -->");
2361     CdmaSmsPduCodec cdmaSmsPduCodec;
2362     unsigned char c = 'a';
2363     unsigned char *src1 = &c;
2364     unsigned char *src2 = nullptr;
2365     unsigned int nBytes = 1;
2366     unsigned int nShiftBit = 1;
2367     cdmaSmsPduCodec.ShiftNBit(src1, nBytes, nShiftBit);
2368     cdmaSmsPduCodec.ShiftNBit(src2, nBytes, nShiftBit);
2369     cdmaSmsPduCodec.ShiftRNBit(src1, nBytes, nShiftBit);
2370     cdmaSmsPduCodec.ShiftRNBit(src2, nBytes, nShiftBit);
2371     cdmaSmsPduCodec.ShiftNBitForDecode(src1, nBytes, nShiftBit);
2372     cdmaSmsPduCodec.ShiftNBitForDecode(src2, nBytes, nShiftBit);
2373     unsigned char ret = cdmaSmsPduCodec.DecodeDigitModeNumberPlan(SmsNumberPlanType::SMS_NPI_UNKNOWN);
2374     EXPECT_EQ(SmsNumberPlanType::SMS_NPI_UNKNOWN, ret);
2375 }
2376 
2377 /**
2378  * @tc.number   Telephony_SmsMmsGtest_CdmaSmsReceiveHandler_0001
2379  * @tc.name     Test CdmaSmsReceiveHandler
2380  * @tc.desc     Function test
2381  */
2382 HWTEST_F(SmsMmsGtest, CdmaSmsReceiveHandler_0001, Function | MediumTest | Level1)
2383 {
2384     TELEPHONY_LOGI("TelSMSMMSTest::CdmaSmsReceiveHandler_0001 -->");
2385     int32_t retInt;
2386     std::shared_ptr<SmsBaseMessage> retPtr;
2387     std::string pdu = "01000B818176251308F4000007E8B0BCFD76E701";
2388     std::shared_ptr<AppExecFwk::EventRunner> cdmaSmsReceiveRunner;
2389     cdmaSmsReceiveRunner = AppExecFwk::EventRunner::Create("cdmaSmsReceiveHandler");
2390     ASSERT_TRUE(cdmaSmsReceiveRunner != nullptr);
2391     CdmaSmsReceiveHandler cdmaSmsReceiveHandler(cdmaSmsReceiveRunner, DEFAULT_SIM_SLOT_ID);
2392     const std::shared_ptr<CdmaSmsMessage> smsCdmaMessage = CdmaSmsMessage::CreateMessage(pdu);
2393     retInt = cdmaSmsReceiveHandler.HandleSmsByType(nullptr);
2394     EXPECT_EQ(AckIncomeCause::SMS_ACK_UNKNOWN_ERROR, retInt);
2395 }
2396 
2397 /**
2398  * @tc.number   Sms_TestDump_0100
2399  * @tc.name    TestDump
2400  * @tc.desc     Function test
2401  */
2402 HWTEST_F(SmsMmsGtest, Sms_TestDump_0001, Function | MediumTest | Level3)
2403 {
2404     std::vector<std::u16string> emptyArgs = {};
2405     std::vector<std::u16string> args = { u"test", u"test1" };
2406     EXPECT_EQ(DelayedSingleton<SmsService>::GetInstance()->Dump(-1, args), TELEPHONY_ERR_FAIL);
2407     EXPECT_EQ(DelayedSingleton<SmsService>::GetInstance()->Dump(0, emptyArgs), 0);
2408     EXPECT_EQ(DelayedSingleton<SmsService>::GetInstance()->Dump(0, args), 0);
2409 }
2410 
2411 #else // TEL_TEST_UNSUPPORT
2412 /**
2413  * @tc.number   Telephony_SmsMms_MockTest_0001
2414  * @tc.name     Mock test for unsupported platform
2415  * @tc.desc     Function test
2416  */
2417 HWTEST_F(SmsMmsGtest, MockTest_0001, Function | MediumTest | Level3)
2418 {
2419     ASSERT_TRUE(true);
2420 }
2421 #endif // TEL_TEST_UNSUPPORT
2422 } // namespace Telephony
2423 } // namespace OHOS
2424 #endif
2425