1e5d0e473Sopenharmony_ci/*
2e5d0e473Sopenharmony_ci * Copyright (C) 2023-2024 Huawei Device Co., Ltd.
3e5d0e473Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e5d0e473Sopenharmony_ci * you may not use this file except in compliance with the License.
5e5d0e473Sopenharmony_ci * You may obtain a copy of the License at
6e5d0e473Sopenharmony_ci *
7e5d0e473Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8e5d0e473Sopenharmony_ci *
9e5d0e473Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e5d0e473Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e5d0e473Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e5d0e473Sopenharmony_ci * See the License for the specific language governing permissions and
13e5d0e473Sopenharmony_ci * limitations under the License.
14e5d0e473Sopenharmony_ci */
15e5d0e473Sopenharmony_ci
16e5d0e473Sopenharmony_ci#include "core_service_client.h"
17e5d0e473Sopenharmony_ci#include "gtest/gtest.h"
18e5d0e473Sopenharmony_ci#include "i_sms_service_interface.h"
19e5d0e473Sopenharmony_ci#include "if_system_ability_manager.h"
20e5d0e473Sopenharmony_ci#include "iservice_registry.h"
21e5d0e473Sopenharmony_ci#include "radio_event.h"
22e5d0e473Sopenharmony_ci#include "sms_broadcast_subscriber_gtest.h"
23e5d0e473Sopenharmony_ci#include "sms_mms_gtest.h"
24e5d0e473Sopenharmony_ci#include "sms_mms_test_helper.h"
25e5d0e473Sopenharmony_ci#include "sms_service.h"
26e5d0e473Sopenharmony_ci#include "sms_service_manager_client.h"
27e5d0e473Sopenharmony_ci#include "telephony_log_wrapper.h"
28e5d0e473Sopenharmony_ci#include "telephony_types.h"
29e5d0e473Sopenharmony_ci
30e5d0e473Sopenharmony_cinamespace OHOS {
31e5d0e473Sopenharmony_cinamespace Telephony {
32e5d0e473Sopenharmony_cinamespace {
33e5d0e473Sopenharmony_cisptr<ISmsServiceInterface> g_telephonyService = nullptr;
34e5d0e473Sopenharmony_ci} // namespace
35e5d0e473Sopenharmony_ciusing namespace testing::ext;
36e5d0e473Sopenharmony_ci
37e5d0e473Sopenharmony_ciclass CbGtest : public testing::Test {
38e5d0e473Sopenharmony_cipublic:
39e5d0e473Sopenharmony_ci    static void SetUpTestCase();
40e5d0e473Sopenharmony_ci    static void TearDownTestCase();
41e5d0e473Sopenharmony_ci    void SetUp();
42e5d0e473Sopenharmony_ci    void TearDown();
43e5d0e473Sopenharmony_ci    static sptr<ISmsServiceInterface> GetProxy();
44e5d0e473Sopenharmony_ci    static bool HasSimCard(int32_t slotId)
45e5d0e473Sopenharmony_ci    {
46e5d0e473Sopenharmony_ci        bool hasSimCard = false;
47e5d0e473Sopenharmony_ci        if (CoreServiceClient::GetInstance().GetProxy() == nullptr) {
48e5d0e473Sopenharmony_ci            return hasSimCard;
49e5d0e473Sopenharmony_ci        }
50e5d0e473Sopenharmony_ci        CoreServiceClient::GetInstance().HasSimCard(slotId, hasSimCard);
51e5d0e473Sopenharmony_ci        return hasSimCard;
52e5d0e473Sopenharmony_ci    }
53e5d0e473Sopenharmony_ci};
54e5d0e473Sopenharmony_ci
55e5d0e473Sopenharmony_civoid CbGtest::TearDownTestCase() {}
56e5d0e473Sopenharmony_ci
57e5d0e473Sopenharmony_civoid CbGtest::SetUp() {}
58e5d0e473Sopenharmony_ci
59e5d0e473Sopenharmony_civoid CbGtest::TearDown() {}
60e5d0e473Sopenharmony_ci
61e5d0e473Sopenharmony_ciconst int32_t DEFAULT_SIM_SLOT_ID_1 = 1;
62e5d0e473Sopenharmony_ciconst uint16_t MESSAGE_TYPE = 4;
63e5d0e473Sopenharmony_ciconst uint16_t CB_PDU_LEN = 100;
64e5d0e473Sopenharmony_ci
65e5d0e473Sopenharmony_civoid CbGtest::SetUpTestCase()
66e5d0e473Sopenharmony_ci{
67e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("SetUpTestCase slotId%{public}d", DEFAULT_SIM_SLOT_ID_1);
68e5d0e473Sopenharmony_ci    g_telephonyService = GetProxy();
69e5d0e473Sopenharmony_ci    if (g_telephonyService == nullptr) {
70e5d0e473Sopenharmony_ci        return;
71e5d0e473Sopenharmony_ci    }
72e5d0e473Sopenharmony_ci    Singleton<SmsServiceManagerClient>::GetInstance().ResetSmsServiceProxy();
73e5d0e473Sopenharmony_ci    Singleton<SmsServiceManagerClient>::GetInstance().InitSmsServiceProxy();
74e5d0e473Sopenharmony_ci}
75e5d0e473Sopenharmony_ci
76e5d0e473Sopenharmony_cisptr<ISmsServiceInterface> CbGtest::GetProxy()
77e5d0e473Sopenharmony_ci{
78e5d0e473Sopenharmony_ci    auto systemAbilityMgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
79e5d0e473Sopenharmony_ci    if (systemAbilityMgr == nullptr) {
80e5d0e473Sopenharmony_ci        return nullptr;
81e5d0e473Sopenharmony_ci    }
82e5d0e473Sopenharmony_ci    sptr<IRemoteObject> remote = systemAbilityMgr->CheckSystemAbility(TELEPHONY_SMS_MMS_SYS_ABILITY_ID);
83e5d0e473Sopenharmony_ci    if (remote) {
84e5d0e473Sopenharmony_ci        sptr<ISmsServiceInterface> smsService = iface_cast<ISmsServiceInterface>(remote);
85e5d0e473Sopenharmony_ci        return smsService;
86e5d0e473Sopenharmony_ci    }
87e5d0e473Sopenharmony_ci    return nullptr;
88e5d0e473Sopenharmony_ci}
89e5d0e473Sopenharmony_ci
90e5d0e473Sopenharmony_ci#ifndef TEL_TEST_UNSUPPORT
91e5d0e473Sopenharmony_civoid OpenCellBroadcastTestFuc(SmsMmsTestHelper &helper)
92e5d0e473Sopenharmony_ci{
93e5d0e473Sopenharmony_ci    AccessMmsToken token;
94e5d0e473Sopenharmony_ci    bool enable = true;
95e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
96e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
97e5d0e473Sopenharmony_ci    uint8_t netType = 1;
98e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
99e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
100e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
101e5d0e473Sopenharmony_ci    helper.NotifyAll();
102e5d0e473Sopenharmony_ci}
103e5d0e473Sopenharmony_ci
104e5d0e473Sopenharmony_ci/**
105e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0001
106e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast slotId is -1
107e5d0e473Sopenharmony_ci * @tc.desc     Function test
108e5d0e473Sopenharmony_ci */
109e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0001, Function | MediumTest | Level3)
110e5d0e473Sopenharmony_ci{
111e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0001 -->");
112e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
113e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
114e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
115e5d0e473Sopenharmony_ci        return;
116e5d0e473Sopenharmony_ci    }
117e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
118e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_REMOVE;
119e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc, std::ref(helper))) {
120e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc out of time");
121e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc, std::ref(helper)));
122e5d0e473Sopenharmony_ci    }
123e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0001 -->finished");
124e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
125e5d0e473Sopenharmony_ci}
126e5d0e473Sopenharmony_ci
127e5d0e473Sopenharmony_civoid OpenCellBroadcastTestFuc2(SmsMmsTestHelper &helper)
128e5d0e473Sopenharmony_ci{
129e5d0e473Sopenharmony_ci    AccessMmsToken token;
130e5d0e473Sopenharmony_ci    bool enable = true;
131e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 20;
132e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
133e5d0e473Sopenharmony_ci    uint8_t netType = 1;
134e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
135e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
136e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
137e5d0e473Sopenharmony_ci    helper.NotifyAll();
138e5d0e473Sopenharmony_ci}
139e5d0e473Sopenharmony_ci
140e5d0e473Sopenharmony_civoid OpenCellBroadcastTestFuc3(SmsMmsTestHelper &helper)
141e5d0e473Sopenharmony_ci{
142e5d0e473Sopenharmony_ci    AccessMmsToken token;
143e5d0e473Sopenharmony_ci    bool enable = true;
144e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
145e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
146e5d0e473Sopenharmony_ci    uint8_t netType = 3;
147e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
148e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
149e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
150e5d0e473Sopenharmony_ci    helper.NotifyAll();
151e5d0e473Sopenharmony_ci}
152e5d0e473Sopenharmony_ci
153e5d0e473Sopenharmony_ci/**
154e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0003
155e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast netType is unknown.
156e5d0e473Sopenharmony_ci * @tc.desc     Function test
157e5d0e473Sopenharmony_ci */
158e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0003, Function | MediumTest | Level3)
159e5d0e473Sopenharmony_ci{
160e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0003 -->");
161e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
162e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
163e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
164e5d0e473Sopenharmony_ci        return;
165e5d0e473Sopenharmony_ci    }
166e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
167e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
168e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc3, std::ref(helper))) {
169e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc3 out of time");
170e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc3, std::ref(helper)));
171e5d0e473Sopenharmony_ci    }
172e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0003 -->finished");
173e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
174e5d0e473Sopenharmony_ci}
175e5d0e473Sopenharmony_ci
176e5d0e473Sopenharmony_civoid OpenCellBroadcastTestFuc4(SmsMmsTestHelper &helper)
177e5d0e473Sopenharmony_ci{
178e5d0e473Sopenharmony_ci    AccessMmsToken token;
179e5d0e473Sopenharmony_ci    bool enable = true;
180e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
181e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
182e5d0e473Sopenharmony_ci    uint8_t netType = 1;
183e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
184e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
185e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
186e5d0e473Sopenharmony_ci    helper.NotifyAll();
187e5d0e473Sopenharmony_ci}
188e5d0e473Sopenharmony_ci
189e5d0e473Sopenharmony_ci/**
190e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0004
191e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast parameter is valid.
192e5d0e473Sopenharmony_ci * @tc.desc     Function test
193e5d0e473Sopenharmony_ci */
194e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0004, Function | MediumTest | Level3)
195e5d0e473Sopenharmony_ci{
196e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0004 -->");
197e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
198e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
199e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
200e5d0e473Sopenharmony_ci        return;
201e5d0e473Sopenharmony_ci    }
202e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
203e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
204e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc4, std::ref(helper))) {
205e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc4 out of time");
206e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc4, std::ref(helper)));
207e5d0e473Sopenharmony_ci    }
208e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0004 -->finished");
209e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
210e5d0e473Sopenharmony_ci}
211e5d0e473Sopenharmony_ci
212e5d0e473Sopenharmony_civoid OpenCellBroadcastTestFuc5(SmsMmsTestHelper &helper)
213e5d0e473Sopenharmony_ci{
214e5d0e473Sopenharmony_ci    AccessMmsToken token;
215e5d0e473Sopenharmony_ci    bool enable = true;
216e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
217e5d0e473Sopenharmony_ci    uint32_t toMsgId = 1000;
218e5d0e473Sopenharmony_ci    uint8_t netType = 1;
219e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
220e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
221e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
222e5d0e473Sopenharmony_ci    helper.NotifyAll();
223e5d0e473Sopenharmony_ci}
224e5d0e473Sopenharmony_ci
225e5d0e473Sopenharmony_ci/**
226e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0005
227e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast parameter is valid
228e5d0e473Sopenharmony_ci * @tc.desc     Function test
229e5d0e473Sopenharmony_ci */
230e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0005, Function | MediumTest | Level3)
231e5d0e473Sopenharmony_ci{
232e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0005 -->");
233e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
234e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
235e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
236e5d0e473Sopenharmony_ci        return;
237e5d0e473Sopenharmony_ci    }
238e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
239e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
240e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc5, std::ref(helper))) {
241e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc5 out of time");
242e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc5, std::ref(helper)));
243e5d0e473Sopenharmony_ci    }
244e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0005 -->finished");
245e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
246e5d0e473Sopenharmony_ci}
247e5d0e473Sopenharmony_ci
248e5d0e473Sopenharmony_civoid OpenCellBroadcastTestFuc6(SmsMmsTestHelper &helper)
249e5d0e473Sopenharmony_ci{
250e5d0e473Sopenharmony_ci    bool enable = true;
251e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
252e5d0e473Sopenharmony_ci    uint32_t toMsgId = 0;
253e5d0e473Sopenharmony_ci    uint8_t netType = 1;
254e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
255e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
256e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
257e5d0e473Sopenharmony_ci    helper.NotifyAll();
258e5d0e473Sopenharmony_ci}
259e5d0e473Sopenharmony_ci
260e5d0e473Sopenharmony_civoid OpenCellBroadcastTestFuc6WithToken(SmsMmsTestHelper &helper)
261e5d0e473Sopenharmony_ci{
262e5d0e473Sopenharmony_ci    AccessMmsToken token;
263e5d0e473Sopenharmony_ci    OpenCellBroadcastTestFuc6(helper);
264e5d0e473Sopenharmony_ci}
265e5d0e473Sopenharmony_ci
266e5d0e473Sopenharmony_ci/**
267e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0006
268e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast parameter is valid
269e5d0e473Sopenharmony_ci * @tc.desc     Function test
270e5d0e473Sopenharmony_ci */
271e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0006, Function | MediumTest | Level3)
272e5d0e473Sopenharmony_ci{
273e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0006 -->");
274e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
275e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
276e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
277e5d0e473Sopenharmony_ci        return;
278e5d0e473Sopenharmony_ci    }
279e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
280e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
281e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc6WithToken, std::ref(helper))) {
282e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc6WithToken out of time");
283e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc6WithToken, std::ref(helper)));
284e5d0e473Sopenharmony_ci    }
285e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0006 -->finished");
286e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
287e5d0e473Sopenharmony_ci}
288e5d0e473Sopenharmony_ci
289e5d0e473Sopenharmony_ci/**
290e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0007
291e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast fromMsgId less than toMsgId
292e5d0e473Sopenharmony_ci * @tc.desc     Function test
293e5d0e473Sopenharmony_ci */
294e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0007, Function | MediumTest | Level3)
295e5d0e473Sopenharmony_ci{
296e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0007 -->");
297e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
298e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
299e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
300e5d0e473Sopenharmony_ci        return;
301e5d0e473Sopenharmony_ci    }
302e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
303e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
304e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc2, std::ref(helper))) {
305e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc2 out of time");
306e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc2, std::ref(helper)));
307e5d0e473Sopenharmony_ci    }
308e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0007 -->finished");
309e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
310e5d0e473Sopenharmony_ci}
311e5d0e473Sopenharmony_ci
312e5d0e473Sopenharmony_ci/**
313e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0008
314e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast netType is unknown.
315e5d0e473Sopenharmony_ci * @tc.desc     Function test
316e5d0e473Sopenharmony_ci */
317e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0008, Function | MediumTest | Level3)
318e5d0e473Sopenharmony_ci{
319e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0008 -->");
320e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
321e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
322e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
323e5d0e473Sopenharmony_ci        return;
324e5d0e473Sopenharmony_ci    }
325e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
326e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
327e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc3, std::ref(helper))) {
328e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc3 out of time");
329e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc3, std::ref(helper)));
330e5d0e473Sopenharmony_ci    }
331e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0008 -->finished");
332e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
333e5d0e473Sopenharmony_ci}
334e5d0e473Sopenharmony_ci
335e5d0e473Sopenharmony_ci/**
336e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0009
337e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast parameter is valid.
338e5d0e473Sopenharmony_ci * @tc.desc     Function test
339e5d0e473Sopenharmony_ci */
340e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0009, Function | MediumTest | Level3)
341e5d0e473Sopenharmony_ci{
342e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0009 -->");
343e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
344e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
345e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
346e5d0e473Sopenharmony_ci        return;
347e5d0e473Sopenharmony_ci    }
348e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
349e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
350e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc4, std::ref(helper))) {
351e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc4 out of time");
352e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc4, std::ref(helper)));
353e5d0e473Sopenharmony_ci    }
354e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0009 -->finished");
355e5d0e473Sopenharmony_ci    ASSERT_EQ(helper.GetIntResult(), 0);
356e5d0e473Sopenharmony_ci}
357e5d0e473Sopenharmony_ci
358e5d0e473Sopenharmony_ci/**
359e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0010
360e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast parameter is valid
361e5d0e473Sopenharmony_ci * @tc.desc     Function test
362e5d0e473Sopenharmony_ci */
363e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_00010, Function | MediumTest | Level3)
364e5d0e473Sopenharmony_ci{
365e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0010 -->");
366e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
367e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
368e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
369e5d0e473Sopenharmony_ci        return;
370e5d0e473Sopenharmony_ci    }
371e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
372e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
373e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc5, std::ref(helper))) {
374e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc5 out of time");
375e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc5, std::ref(helper)));
376e5d0e473Sopenharmony_ci    }
377e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0010 -->finished");
378e5d0e473Sopenharmony_ci    ASSERT_EQ(helper.GetIntResult(), 0);
379e5d0e473Sopenharmony_ci}
380e5d0e473Sopenharmony_ci
381e5d0e473Sopenharmony_ci/**
382e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0011
383e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast parameter is valid
384e5d0e473Sopenharmony_ci * @tc.desc     Function test
385e5d0e473Sopenharmony_ci */
386e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0011, Function | MediumTest | Level3)
387e5d0e473Sopenharmony_ci{
388e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0011 -->");
389e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
390e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
391e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
392e5d0e473Sopenharmony_ci        return;
393e5d0e473Sopenharmony_ci    }
394e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
395e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
396e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc6WithToken, std::ref(helper))) {
397e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc6WithToken out of time");
398e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc6WithToken, std::ref(helper)));
399e5d0e473Sopenharmony_ci    }
400e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0011 -->finished");
401e5d0e473Sopenharmony_ci    ASSERT_EQ(helper.GetIntResult(), 0);
402e5d0e473Sopenharmony_ci}
403e5d0e473Sopenharmony_ci
404e5d0e473Sopenharmony_ci/**
405e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_OpenCellBroadcast_0012
406e5d0e473Sopenharmony_ci * @tc.name     Open cellBroadcast parameter is valid
407e5d0e473Sopenharmony_ci * @tc.desc     Function test
408e5d0e473Sopenharmony_ci */
409e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, OpenCellBroadcast_0012, Function | MediumTest | Level3)
410e5d0e473Sopenharmony_ci{
411e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0012 -->");
412e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
413e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
414e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
415e5d0e473Sopenharmony_ci        return;
416e5d0e473Sopenharmony_ci    }
417e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
418e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
419e5d0e473Sopenharmony_ci    if (!helper.Run(OpenCellBroadcastTestFuc6, std::ref(helper))) {
420e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("OpenCellBroadcastTestFuc6 out of time");
421e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(OpenCellBroadcastTestFuc6, std::ref(helper)));
422e5d0e473Sopenharmony_ci    }
423e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::OpenCellBroadcast_0012 -->finished");
424e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
425e5d0e473Sopenharmony_ci}
426e5d0e473Sopenharmony_ci
427e5d0e473Sopenharmony_civoid CloseCellBroadcastTestFuc(SmsMmsTestHelper &helper)
428e5d0e473Sopenharmony_ci{
429e5d0e473Sopenharmony_ci    AccessMmsToken token;
430e5d0e473Sopenharmony_ci    bool enable = false;
431e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
432e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
433e5d0e473Sopenharmony_ci    uint8_t netType = 1;
434e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
435e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
436e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
437e5d0e473Sopenharmony_ci    helper.NotifyAll();
438e5d0e473Sopenharmony_ci}
439e5d0e473Sopenharmony_ci
440e5d0e473Sopenharmony_ci/**
441e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0001
442e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast slotId is -1
443e5d0e473Sopenharmony_ci * @tc.desc     Function test
444e5d0e473Sopenharmony_ci */
445e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0001, Function | MediumTest | Level3)
446e5d0e473Sopenharmony_ci{
447e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0001 -->");
448e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
449e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
450e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
451e5d0e473Sopenharmony_ci        return;
452e5d0e473Sopenharmony_ci    }
453e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
454e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_REMOVE;
455e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc, std::ref(helper))) {
456e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc out of time");
457e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc, std::ref(helper)));
458e5d0e473Sopenharmony_ci    }
459e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0001 -->finished");
460e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
461e5d0e473Sopenharmony_ci}
462e5d0e473Sopenharmony_ci
463e5d0e473Sopenharmony_civoid CloseCellBroadcastTestFuc2(SmsMmsTestHelper &helper)
464e5d0e473Sopenharmony_ci{
465e5d0e473Sopenharmony_ci    AccessMmsToken token;
466e5d0e473Sopenharmony_ci    bool enable = false;
467e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 20;
468e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
469e5d0e473Sopenharmony_ci    uint8_t netType = 1;
470e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
471e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
472e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
473e5d0e473Sopenharmony_ci    helper.NotifyAll();
474e5d0e473Sopenharmony_ci}
475e5d0e473Sopenharmony_ci
476e5d0e473Sopenharmony_ci/**
477e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0002
478e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast fromMsgId less than toMsgId
479e5d0e473Sopenharmony_ci * @tc.desc     Function test
480e5d0e473Sopenharmony_ci */
481e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0002, Function | MediumTest | Level3)
482e5d0e473Sopenharmony_ci{
483e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0002 -->");
484e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
485e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
486e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
487e5d0e473Sopenharmony_ci        return;
488e5d0e473Sopenharmony_ci    }
489e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
490e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
491e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc2, std::ref(helper))) {
492e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc2 out of time");
493e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc2, std::ref(helper)));
494e5d0e473Sopenharmony_ci    }
495e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0002 -->finished");
496e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
497e5d0e473Sopenharmony_ci}
498e5d0e473Sopenharmony_ci
499e5d0e473Sopenharmony_civoid CloseCellBroadcastTestFuc3(SmsMmsTestHelper &helper)
500e5d0e473Sopenharmony_ci{
501e5d0e473Sopenharmony_ci    AccessMmsToken token;
502e5d0e473Sopenharmony_ci    bool enable = false;
503e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
504e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
505e5d0e473Sopenharmony_ci    uint8_t netType = 3;
506e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
507e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
508e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
509e5d0e473Sopenharmony_ci    helper.NotifyAll();
510e5d0e473Sopenharmony_ci}
511e5d0e473Sopenharmony_ci
512e5d0e473Sopenharmony_ci/**
513e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0003
514e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast netType is unknown
515e5d0e473Sopenharmony_ci * @tc.desc     Function test
516e5d0e473Sopenharmony_ci */
517e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0003, Function | MediumTest | Level3)
518e5d0e473Sopenharmony_ci{
519e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0003 -->");
520e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
521e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
522e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
523e5d0e473Sopenharmony_ci        return;
524e5d0e473Sopenharmony_ci    }
525e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
526e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
527e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc3, std::ref(helper))) {
528e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc3 out of time");
529e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc3, std::ref(helper)));
530e5d0e473Sopenharmony_ci    }
531e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0003-->finished");
532e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
533e5d0e473Sopenharmony_ci}
534e5d0e473Sopenharmony_ci
535e5d0e473Sopenharmony_civoid CloseCellBroadcastTestFuc4(SmsMmsTestHelper &helper)
536e5d0e473Sopenharmony_ci{
537e5d0e473Sopenharmony_ci    AccessMmsToken token;
538e5d0e473Sopenharmony_ci    bool enable = false;
539e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
540e5d0e473Sopenharmony_ci    uint32_t toMsgId = 10;
541e5d0e473Sopenharmony_ci    uint8_t netType = 1;
542e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
543e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
544e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
545e5d0e473Sopenharmony_ci    helper.NotifyAll();
546e5d0e473Sopenharmony_ci}
547e5d0e473Sopenharmony_ci
548e5d0e473Sopenharmony_ci/**
549e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0004
550e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast parameter is valid
551e5d0e473Sopenharmony_ci * @tc.desc     Function test
552e5d0e473Sopenharmony_ci */
553e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0004, Function | MediumTest | Level3)
554e5d0e473Sopenharmony_ci{
555e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0004 -->");
556e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
557e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
558e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
559e5d0e473Sopenharmony_ci        return;
560e5d0e473Sopenharmony_ci    }
561e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
562e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
563e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc4, std::ref(helper))) {
564e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc4 out of time");
565e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc4, std::ref(helper)));
566e5d0e473Sopenharmony_ci    }
567e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0004 -->finished");
568e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
569e5d0e473Sopenharmony_ci}
570e5d0e473Sopenharmony_ci
571e5d0e473Sopenharmony_civoid CloseCellBroadcastTestFuc5(SmsMmsTestHelper &helper)
572e5d0e473Sopenharmony_ci{
573e5d0e473Sopenharmony_ci    AccessMmsToken token;
574e5d0e473Sopenharmony_ci    bool enable = false;
575e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
576e5d0e473Sopenharmony_ci    uint32_t toMsgId = 1000;
577e5d0e473Sopenharmony_ci    uint8_t netType = 1;
578e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
579e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
580e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
581e5d0e473Sopenharmony_ci    helper.NotifyAll();
582e5d0e473Sopenharmony_ci}
583e5d0e473Sopenharmony_ci
584e5d0e473Sopenharmony_ci/**
585e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0005
586e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast parameter is valid
587e5d0e473Sopenharmony_ci * @tc.desc     Function test
588e5d0e473Sopenharmony_ci */
589e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0005, Function | MediumTest | Level3)
590e5d0e473Sopenharmony_ci{
591e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0005 -->");
592e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
593e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
594e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
595e5d0e473Sopenharmony_ci        return;
596e5d0e473Sopenharmony_ci    }
597e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
598e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
599e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc5, std::ref(helper))) {
600e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc5 out of time");
601e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc5, std::ref(helper)));
602e5d0e473Sopenharmony_ci    }
603e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0005 -->finished");
604e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
605e5d0e473Sopenharmony_ci}
606e5d0e473Sopenharmony_ci
607e5d0e473Sopenharmony_civoid CloseCellBroadcastTestFuc6(SmsMmsTestHelper &helper)
608e5d0e473Sopenharmony_ci{
609e5d0e473Sopenharmony_ci    bool enable = false;
610e5d0e473Sopenharmony_ci    uint32_t fromMsgId = 0;
611e5d0e473Sopenharmony_ci    uint32_t toMsgId = 0;
612e5d0e473Sopenharmony_ci    uint8_t netType = 1;
613e5d0e473Sopenharmony_ci    int32_t result = Singleton<SmsServiceManagerClient>::GetInstance().SetCBConfig(
614e5d0e473Sopenharmony_ci        helper.slotId, enable, fromMsgId, toMsgId, netType);
615e5d0e473Sopenharmony_ci    helper.SetIntResult(result);
616e5d0e473Sopenharmony_ci    helper.NotifyAll();
617e5d0e473Sopenharmony_ci}
618e5d0e473Sopenharmony_ci
619e5d0e473Sopenharmony_civoid CloseCellBroadcastTestFuc6WithToken(SmsMmsTestHelper &helper)
620e5d0e473Sopenharmony_ci{
621e5d0e473Sopenharmony_ci    AccessMmsToken token;
622e5d0e473Sopenharmony_ci    CloseCellBroadcastTestFuc6(helper);
623e5d0e473Sopenharmony_ci}
624e5d0e473Sopenharmony_ci
625e5d0e473Sopenharmony_ci/**
626e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0006
627e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast parameter is valid
628e5d0e473Sopenharmony_ci * @tc.desc     Function test
629e5d0e473Sopenharmony_ci */
630e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0006, Function | MediumTest | Level3)
631e5d0e473Sopenharmony_ci{
632e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0006 -->");
633e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
634e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
635e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID));
636e5d0e473Sopenharmony_ci        return;
637e5d0e473Sopenharmony_ci    }
638e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
639e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
640e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc6WithToken, std::ref(helper))) {
641e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc6WithToken out of time");
642e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc6WithToken, std::ref(helper)));
643e5d0e473Sopenharmony_ci    }
644e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0006 -->finished");
645e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
646e5d0e473Sopenharmony_ci}
647e5d0e473Sopenharmony_ci
648e5d0e473Sopenharmony_ci/**
649e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0007
650e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast fromMsgId less than toMsgId
651e5d0e473Sopenharmony_ci * @tc.desc     Function test
652e5d0e473Sopenharmony_ci */
653e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0007, Function | MediumTest | Level3)
654e5d0e473Sopenharmony_ci{
655e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0007 -->");
656e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
657e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
658e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
659e5d0e473Sopenharmony_ci        return;
660e5d0e473Sopenharmony_ci    }
661e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
662e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
663e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc2, std::ref(helper))) {
664e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc7 out of time");
665e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc2, std::ref(helper)));
666e5d0e473Sopenharmony_ci    }
667e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0007 -->finished");
668e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
669e5d0e473Sopenharmony_ci}
670e5d0e473Sopenharmony_ci
671e5d0e473Sopenharmony_ci/**
672e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0008
673e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast netType is unknown
674e5d0e473Sopenharmony_ci * @tc.desc     Function test
675e5d0e473Sopenharmony_ci */
676e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0008, Function | MediumTest | Level3)
677e5d0e473Sopenharmony_ci{
678e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0008 -->");
679e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
680e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
681e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
682e5d0e473Sopenharmony_ci        return;
683e5d0e473Sopenharmony_ci    }
684e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
685e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
686e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc3, std::ref(helper))) {
687e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc8 out of time");
688e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc3, std::ref(helper)));
689e5d0e473Sopenharmony_ci    }
690e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0008-->finished");
691e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
692e5d0e473Sopenharmony_ci}
693e5d0e473Sopenharmony_ci
694e5d0e473Sopenharmony_ci/**
695e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0009
696e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast parameter is valid
697e5d0e473Sopenharmony_ci * @tc.desc     Function test
698e5d0e473Sopenharmony_ci */
699e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0009, Function | MediumTest | Level3)
700e5d0e473Sopenharmony_ci{
701e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0009 -->");
702e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
703e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
704e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
705e5d0e473Sopenharmony_ci        return;
706e5d0e473Sopenharmony_ci    }
707e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
708e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
709e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc4, std::ref(helper))) {
710e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc9 out of time");
711e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc4, std::ref(helper)));
712e5d0e473Sopenharmony_ci    }
713e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0009 -->finished");
714e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
715e5d0e473Sopenharmony_ci}
716e5d0e473Sopenharmony_ci
717e5d0e473Sopenharmony_ci/**
718e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0010
719e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast parameter is valid
720e5d0e473Sopenharmony_ci * @tc.desc     Function test
721e5d0e473Sopenharmony_ci */
722e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0010, Function | MediumTest | Level3)
723e5d0e473Sopenharmony_ci{
724e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0010 -->");
725e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
726e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
727e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
728e5d0e473Sopenharmony_ci        return;
729e5d0e473Sopenharmony_ci    }
730e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
731e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
732e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc5, std::ref(helper))) {
733e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc10 out of time");
734e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc5, std::ref(helper)));
735e5d0e473Sopenharmony_ci    }
736e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0010 -->finished");
737e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
738e5d0e473Sopenharmony_ci}
739e5d0e473Sopenharmony_ci
740e5d0e473Sopenharmony_ci/**
741e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0011
742e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast parameter is valid
743e5d0e473Sopenharmony_ci * @tc.desc     Function test
744e5d0e473Sopenharmony_ci */
745e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_00011, Function | MediumTest | Level3)
746e5d0e473Sopenharmony_ci{
747e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0011 -->");
748e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1))) {
749e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
750e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
751e5d0e473Sopenharmony_ci        return;
752e5d0e473Sopenharmony_ci    }
753e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
754e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID_1;
755e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc6WithToken, std::ref(helper))) {
756e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc6WithToken out of time");
757e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc6WithToken, std::ref(helper)));
758e5d0e473Sopenharmony_ci    }
759e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0011 -->finished");
760e5d0e473Sopenharmony_ci    ASSERT_GE(helper.GetIntResult(), 0);
761e5d0e473Sopenharmony_ci}
762e5d0e473Sopenharmony_ci
763e5d0e473Sopenharmony_ci/**
764e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_CloseCellBroadcast_0012
765e5d0e473Sopenharmony_ci * @tc.name     Close cellBroadcast parameter is valid
766e5d0e473Sopenharmony_ci * @tc.desc     Function test
767e5d0e473Sopenharmony_ci */
768e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, CloseCellBroadcast_0012, Function | MediumTest | Level3)
769e5d0e473Sopenharmony_ci{
770e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0012 -->");
771e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID))) {
772e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
773e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(DEFAULT_SIM_SLOT_ID_1));
774e5d0e473Sopenharmony_ci        return;
775e5d0e473Sopenharmony_ci    }
776e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
777e5d0e473Sopenharmony_ci    helper.slotId = DEFAULT_SIM_SLOT_ID;
778e5d0e473Sopenharmony_ci    if (!helper.Run(CloseCellBroadcastTestFuc6, std::ref(helper))) {
779e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("CloseCellBroadcastTestFuc6 out of time");
780e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(CloseCellBroadcastTestFuc6, std::ref(helper)));
781e5d0e473Sopenharmony_ci    }
782e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::CloseCellBroadcast_0012 -->finished");
783e5d0e473Sopenharmony_ci    EXPECT_NE(helper.GetIntResult(), 0);
784e5d0e473Sopenharmony_ci}
785e5d0e473Sopenharmony_ci
786e5d0e473Sopenharmony_civoid ReceiveCellBroadCastTestFunc(SmsMmsTestHelper &helper)
787e5d0e473Sopenharmony_ci{
788e5d0e473Sopenharmony_ci    AccessMmsToken token;
789e5d0e473Sopenharmony_ci    auto gsmSmsCbHandler = std::make_shared<GsmSmsCbHandler>(helper.slotId);
790e5d0e473Sopenharmony_ci    auto message = std::make_shared<CBConfigReportInfo>();
791e5d0e473Sopenharmony_ci    message->indicationType = MESSAGE_TYPE;
792e5d0e473Sopenharmony_ci    message->sn = 0;
793e5d0e473Sopenharmony_ci    message->mid = 0;
794e5d0e473Sopenharmony_ci    message->page = 0;
795e5d0e473Sopenharmony_ci    message->pages = 0;
796e5d0e473Sopenharmony_ci    message->dcs = "";
797e5d0e473Sopenharmony_ci    message->data = "";
798e5d0e473Sopenharmony_ci    message->length = CB_PDU_LEN;
799e5d0e473Sopenharmony_ci    message->pdu = "01a41f51101102ea3030a830ea30a230e130fc30eb914d4fe130c630b930c8000d000a3053308c306f8a669a137528306e3"
800e5d0e473Sopenharmony_ci                   "0e130c330bb30fc30b8306730593002000d000aff080032003000310033002f00310031002f003252ea3000370020003100"
801e5d0e473Sopenharmony_ci                   "35003a00340034ff09000d000aff0830a830ea30a25e02ff090000000000000000000000000000000000000000000000000"
802e5d0e473Sopenharmony_ci                   "0000000000000000000000000000000000000000000000022";
803e5d0e473Sopenharmony_ci    AppExecFwk::InnerEvent::Pointer event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_CELL_BROADCAST, message);
804e5d0e473Sopenharmony_ci    gsmSmsCbHandler->ProcessEvent(event);
805e5d0e473Sopenharmony_ci}
806e5d0e473Sopenharmony_ci
807e5d0e473Sopenharmony_civoid ReceiveCellBroadCastTestFunc2(SmsMmsTestHelper &helper)
808e5d0e473Sopenharmony_ci{
809e5d0e473Sopenharmony_ci    AccessMmsToken token;
810e5d0e473Sopenharmony_ci    auto gsmSmsCbHandler = std::make_shared<GsmSmsCbHandler>(helper.slotId);
811e5d0e473Sopenharmony_ci    auto message = std::make_shared<CBConfigReportInfo>();
812e5d0e473Sopenharmony_ci    message->indicationType = MESSAGE_TYPE;
813e5d0e473Sopenharmony_ci    message->sn = 0;
814e5d0e473Sopenharmony_ci    message->mid = 0;
815e5d0e473Sopenharmony_ci    message->page = 0;
816e5d0e473Sopenharmony_ci    message->pages = 0;
817e5d0e473Sopenharmony_ci    message->dcs = "";
818e5d0e473Sopenharmony_ci    message->data = "";
819e5d0e473Sopenharmony_ci    message->length = CB_PDU_LEN;
820e5d0e473Sopenharmony_ci    message->pdu = "C0000032401174747A0E4ACF41E8B0BCFD76E741EF39685C66B34162F93B4C1E87E77410BD3CA7836EC2341D440ED3C321";
821e5d0e473Sopenharmony_ci    AppExecFwk::InnerEvent::Pointer event = AppExecFwk::InnerEvent::Get(RadioEvent::RADIO_CELL_BROADCAST, message);
822e5d0e473Sopenharmony_ci    gsmSmsCbHandler->ProcessEvent(event);
823e5d0e473Sopenharmony_ci}
824e5d0e473Sopenharmony_ci
825e5d0e473Sopenharmony_ci/**
826e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_Receive_Cell_BroadCast_0001
827e5d0e473Sopenharmony_ci * @tc.name     Receive a 3g Cell Broadcast
828e5d0e473Sopenharmony_ci * @tc.desc     Function test
829e5d0e473Sopenharmony_ci */
830e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, Receive_Cell_BroadCast_0001, Function | MediumTest | Level2)
831e5d0e473Sopenharmony_ci{
832e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0001 -->");
833e5d0e473Sopenharmony_ci    int32_t slotId = DEFAULT_SIM_SLOT_ID;
834e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(slotId))) {
835e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
836e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(slotId));
837e5d0e473Sopenharmony_ci        return;
838e5d0e473Sopenharmony_ci    }
839e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
840e5d0e473Sopenharmony_ci    helper.slotId = slotId;
841e5d0e473Sopenharmony_ci
842e5d0e473Sopenharmony_ci    EventFwk::MatchingSkills matchingSkills;
843e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_EMERGENCY_CB_RECEIVE_COMPLETED);
844e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_CB_RECEIVE_COMPLETED);
845e5d0e473Sopenharmony_ci    EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
846e5d0e473Sopenharmony_ci    std::shared_ptr<SmsBroadcastSubscriberGtest> subscriberTest =
847e5d0e473Sopenharmony_ci        std::make_shared<SmsBroadcastSubscriberGtest>(subscriberInfo, helper);
848e5d0e473Sopenharmony_ci    ASSERT_NE(subscriberTest, nullptr);
849e5d0e473Sopenharmony_ci    bool subscribeResult = EventFwk::CommonEventManager::SubscribeCommonEvent(subscriberTest);
850e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("subscribeResult is : %{public}d", subscribeResult);
851e5d0e473Sopenharmony_ci
852e5d0e473Sopenharmony_ci    if (!helper.Run(ReceiveCellBroadCastTestFunc, helper)) {
853e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("ReceiveCellBroadCastTestFunc out of time");
854e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(ReceiveCellBroadCastTestFunc, helper));
855e5d0e473Sopenharmony_ci        return;
856e5d0e473Sopenharmony_ci    }
857e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0001 -->finished");
858e5d0e473Sopenharmony_ci    EXPECT_TRUE(helper.GetBoolResult());
859e5d0e473Sopenharmony_ci}
860e5d0e473Sopenharmony_ci
861e5d0e473Sopenharmony_ci/**
862e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_Receive_Cell_BroadCast_0002
863e5d0e473Sopenharmony_ci * @tc.name     Receive a 2g Cell Broadcast
864e5d0e473Sopenharmony_ci * @tc.desc     Function test
865e5d0e473Sopenharmony_ci */
866e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, Receive_Cell_BroadCast_0002, Function | MediumTest | Level2)
867e5d0e473Sopenharmony_ci{
868e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0002 -->");
869e5d0e473Sopenharmony_ci    int32_t slotId = DEFAULT_SIM_SLOT_ID;
870e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(slotId))) {
871e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
872e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(slotId));
873e5d0e473Sopenharmony_ci        return;
874e5d0e473Sopenharmony_ci    }
875e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
876e5d0e473Sopenharmony_ci    helper.slotId = slotId;
877e5d0e473Sopenharmony_ci
878e5d0e473Sopenharmony_ci    EventFwk::MatchingSkills matchingSkills;
879e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_EMERGENCY_CB_RECEIVE_COMPLETED);
880e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_CB_RECEIVE_COMPLETED);
881e5d0e473Sopenharmony_ci    EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
882e5d0e473Sopenharmony_ci    std::shared_ptr<SmsBroadcastSubscriberGtest> subscriberTest =
883e5d0e473Sopenharmony_ci        std::make_shared<SmsBroadcastSubscriberGtest>(subscriberInfo, helper);
884e5d0e473Sopenharmony_ci    ASSERT_NE(subscriberTest, nullptr);
885e5d0e473Sopenharmony_ci    bool subscribeResult = EventFwk::CommonEventManager::SubscribeCommonEvent(subscriberTest);
886e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("subscribeResult is : %{public}d", subscribeResult);
887e5d0e473Sopenharmony_ci
888e5d0e473Sopenharmony_ci    if (!helper.Run(ReceiveCellBroadCastTestFunc2, helper)) {
889e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("ReceiveCellBroadCastTestFunc2 out of time");
890e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(ReceiveCellBroadCastTestFunc2, helper));
891e5d0e473Sopenharmony_ci        return;
892e5d0e473Sopenharmony_ci    }
893e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0002 -->finished");
894e5d0e473Sopenharmony_ci    EXPECT_TRUE(helper.GetBoolResult());
895e5d0e473Sopenharmony_ci}
896e5d0e473Sopenharmony_ci
897e5d0e473Sopenharmony_ci/**
898e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_Receive_Cell_BroadCast_0003
899e5d0e473Sopenharmony_ci * @tc.name     Receive a 3g Cell Broadcast
900e5d0e473Sopenharmony_ci * @tc.desc     Function test
901e5d0e473Sopenharmony_ci */
902e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, Receive_Cell_BroadCast_0003, Function | MediumTest | Level2)
903e5d0e473Sopenharmony_ci{
904e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0003 -->");
905e5d0e473Sopenharmony_ci    int32_t slotId = DEFAULT_SIM_SLOT_ID_1;
906e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(slotId))) {
907e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
908e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(slotId));
909e5d0e473Sopenharmony_ci        return;
910e5d0e473Sopenharmony_ci    }
911e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
912e5d0e473Sopenharmony_ci    helper.slotId = slotId;
913e5d0e473Sopenharmony_ci
914e5d0e473Sopenharmony_ci    EventFwk::MatchingSkills matchingSkills;
915e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_EMERGENCY_CB_RECEIVE_COMPLETED);
916e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_CB_RECEIVE_COMPLETED);
917e5d0e473Sopenharmony_ci    EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
918e5d0e473Sopenharmony_ci    std::shared_ptr<SmsBroadcastSubscriberGtest> subscriberTest =
919e5d0e473Sopenharmony_ci        std::make_shared<SmsBroadcastSubscriberGtest>(subscriberInfo, helper);
920e5d0e473Sopenharmony_ci    ASSERT_NE(subscriberTest, nullptr);
921e5d0e473Sopenharmony_ci    bool subscribeResult = EventFwk::CommonEventManager::SubscribeCommonEvent(subscriberTest);
922e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("subscribeResult is : %{public}d", subscribeResult);
923e5d0e473Sopenharmony_ci
924e5d0e473Sopenharmony_ci    if (!helper.Run(ReceiveCellBroadCastTestFunc, helper)) {
925e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("ReceiveCellBroadCastTestFunc out of time");
926e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(ReceiveCellBroadCastTestFunc, helper));
927e5d0e473Sopenharmony_ci        return;
928e5d0e473Sopenharmony_ci    }
929e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0003 -->finished");
930e5d0e473Sopenharmony_ci    EXPECT_TRUE(helper.GetBoolResult());
931e5d0e473Sopenharmony_ci}
932e5d0e473Sopenharmony_ci
933e5d0e473Sopenharmony_ci/**
934e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_Receive_Cell_BroadCast_0004
935e5d0e473Sopenharmony_ci * @tc.name     Receive a 2g Cell Broadcast
936e5d0e473Sopenharmony_ci * @tc.desc     Function test
937e5d0e473Sopenharmony_ci */
938e5d0e473Sopenharmony_ciHWTEST_F(CbGtest, Receive_Cell_BroadCast_0004, Function | MediumTest | Level2)
939e5d0e473Sopenharmony_ci{
940e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0004 -->");
941e5d0e473Sopenharmony_ci    int32_t slotId = DEFAULT_SIM_SLOT_ID_1;
942e5d0e473Sopenharmony_ci    if (!(CbGtest::HasSimCard(slotId))) {
943e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("TelephonyTestService has no sim card");
944e5d0e473Sopenharmony_ci        ASSERT_FALSE(CbGtest::HasSimCard(slotId));
945e5d0e473Sopenharmony_ci        return;
946e5d0e473Sopenharmony_ci    }
947e5d0e473Sopenharmony_ci    SmsMmsTestHelper helper;
948e5d0e473Sopenharmony_ci    helper.slotId = slotId;
949e5d0e473Sopenharmony_ci
950e5d0e473Sopenharmony_ci    EventFwk::MatchingSkills matchingSkills;
951e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_EMERGENCY_CB_RECEIVE_COMPLETED);
952e5d0e473Sopenharmony_ci    matchingSkills.AddEvent(EventFwk::CommonEventSupport::COMMON_EVENT_SMS_CB_RECEIVE_COMPLETED);
953e5d0e473Sopenharmony_ci    EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
954e5d0e473Sopenharmony_ci    std::shared_ptr<SmsBroadcastSubscriberGtest> subscriberTest =
955e5d0e473Sopenharmony_ci        std::make_shared<SmsBroadcastSubscriberGtest>(subscriberInfo, helper);
956e5d0e473Sopenharmony_ci    ASSERT_NE(subscriberTest, nullptr);
957e5d0e473Sopenharmony_ci    bool subscribeResult = EventFwk::CommonEventManager::SubscribeCommonEvent(subscriberTest);
958e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("subscribeResult is : %{public}d", subscribeResult);
959e5d0e473Sopenharmony_ci
960e5d0e473Sopenharmony_ci    if (!helper.Run(ReceiveCellBroadCastTestFunc2, helper)) {
961e5d0e473Sopenharmony_ci        TELEPHONY_LOGI("ReceiveCellBroadCastTestFunc2 out of time");
962e5d0e473Sopenharmony_ci        ASSERT_TRUE(helper.Run(ReceiveCellBroadCastTestFunc2, helper));
963e5d0e473Sopenharmony_ci        return;
964e5d0e473Sopenharmony_ci    }
965e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::Receive_Cell_BroadCast_0004 -->finished");
966e5d0e473Sopenharmony_ci    EXPECT_TRUE(helper.GetBoolResult());
967e5d0e473Sopenharmony_ci}
968e5d0e473Sopenharmony_ci#endif // TEL_TEST_UNSUPPORT
969e5d0e473Sopenharmony_ci} // namespace Telephony
970e5d0e473Sopenharmony_ci} // namespace OHOS