1 /*
2 * Copyright (C) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "gtest/gtest.h"
17 #define private public
18 #define protected public
19 #include "ims_sms_client.h"
20 #include "ims_sms_proxy.h"
21 #include "ims_sms_callback_stub.h"
22 #include "mock/mock_ims_core_service_interface.h"
23 #include "mock/mock_ims_sms_callback_interface.h"
24 #include "mock/mock_ims_sms_interface.h"
25 #include "mock/mock_remote_object.h"
26
27 namespace OHOS {
28 namespace Telephony {
29 using namespace testing::ext;
30
31 class SmsImsServiceInteractionTest : public testing::Test {
32 public:
33 static void SetUpTestCase();
34 static void TearDownTestCase();
35 void SetUp();
36 void TearDown();
37 };
SetUpTestCase()38 void SmsImsServiceInteractionTest::SetUpTestCase() {}
TearDownTestCase()39 void SmsImsServiceInteractionTest::TearDownTestCase() {}
SetUp()40 void SmsImsServiceInteractionTest::SetUp() {}
TearDown()41 void SmsImsServiceInteractionTest::TearDown() {}
42
43 /**
44 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_001
45 * @tc.name smsServiceProxyTest_001
46 * @tc.desc Function test
47 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_001, Function | MediumTest | Level1)48 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_001, Function | MediumTest | Level1)
49 {
50 sptr<ImsSmsInterface> pImsSms = new MockImsSms();
51 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_ = pImsSms;
52 DelayedSingleton<ImsSmsClient>::GetInstance()->Init();
53 DelayedSingleton<ImsSmsClient>::GetInstance()->GetImsSmsProxy();
54 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->IsConnect(), true);
55 DelayedSingleton<ImsSmsClient>::DestroyInstance();
56 }
57
58 /**
59 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_002
60 * @tc.name smsServiceProxyTest_001
61 * @tc.desc Function test
62 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_002, Function | MediumTest | Level1)63 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_002, Function | MediumTest | Level1)
64 {
65 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->RegisterImsSmsCallback(), TELEPHONY_ERR_LOCAL_PTR_NULL);
66 DelayedSingleton<ImsSmsClient>::DestroyInstance();
67 }
68
69 /**
70 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_003
71 * @tc.name smsServiceProxyTest_001
72 * @tc.desc Function test
73 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_003, Function | MediumTest | Level1)74 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_003, Function | MediumTest | Level1)
75 {
76 sptr<MockImsSms> pImsSms = new MockImsSms();
77 pImsSms->retRegisterImsSmsCallback = 1;
78 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_ = pImsSms;
79 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->RegisterImsSmsCallback(), TELEPHONY_ERR_FAIL);
80 DelayedSingleton<ImsSmsClient>::DestroyInstance();
81 }
82
83 /**
84 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_004
85 * @tc.name smsServiceProxyTest_001
86 * @tc.desc Function test
87 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_004, Function | MediumTest | Level1)88 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_004, Function | MediumTest | Level1)
89 {
90 sptr<MockImsSms> pImsSms = new MockImsSms();
91 pImsSms->retImsSendMessage = 1;
92 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_ = pImsSms;
93 int32_t slotId = 0;
94 ImsMessageInfo imsMessageInfo;
95 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->ImsSendMessage(slotId, imsMessageInfo),
96 pImsSms->retImsSendMessage);
97 DelayedSingleton<ImsSmsClient>::DestroyInstance();
98 }
99
100 /**
101 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_005
102 * @tc.name smsServiceProxyTest_001
103 * @tc.desc Function test
104 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_005, Function | MediumTest | Level1)105 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_005, Function | MediumTest | Level1)
106 {
107 sptr<MockImsSms> pImsSms = new MockImsSms();
108 pImsSms->retImsSetSmsConfig = 1;
109 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_ = pImsSms;
110 int32_t slotId = 0, imsSmsConfig = 0;
111 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->ImsSetSmsConfig(slotId, imsSmsConfig),
112 pImsSms->retImsSetSmsConfig);
113 DelayedSingleton<ImsSmsClient>::DestroyInstance();
114 }
115
116 /**
117 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_006
118 * @tc.name smsServiceProxyTest_001
119 * @tc.desc Function test
120 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_006, Function | MediumTest | Level1)121 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_006, Function | MediumTest | Level1)
122 {
123 sptr<MockImsSms> pImsSms = new MockImsSms();
124 pImsSms->retImsGetSmsConfig = 1;
125 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_ = pImsSms;
126 int32_t slotId = 0;
127 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->ImsGetSmsConfig(slotId), pImsSms->retImsGetSmsConfig);
128 DelayedSingleton<ImsSmsClient>::DestroyInstance();
129 }
130
131 /**
132 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_007
133 * @tc.name smsServiceProxyTest_001
134 * @tc.desc Function test
135 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_007, Function | MediumTest | Level1)136 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_007, Function | MediumTest | Level1)
137 {
138 int32_t slotId = 0;
139 std::shared_ptr<AppExecFwk::EventHandler> handler = nullptr;
140 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->RegisterImsSmsCallbackHandler(slotId, handler),
141 TELEPHONY_ERR_LOCAL_PTR_NULL);
142 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->GetHandler(slotId), handler);
143 DelayedSingleton<ImsSmsClient>::DestroyInstance();
144 }
145
146 /**
147 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_008
148 * @tc.name smsServiceProxyTest_001
149 * @tc.desc Function test
150 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_008, Function | MediumTest | Level1)151 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_008, Function | MediumTest | Level1)
152 {
153 int32_t slotId = 0;
154 std::shared_ptr<AppExecFwk::EventHandler> handler = std::make_shared<AppExecFwk::EventHandler>();
155 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->RegisterImsSmsCallbackHandler(slotId, handler),
156 TELEPHONY_SUCCESS);
157 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->GetHandler(slotId), handler);
158 DelayedSingleton<ImsSmsClient>::DestroyInstance();
159 }
160
161 /**
162 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_009
163 * @tc.name smsServiceProxyTest_001
164 * @tc.desc Function test
165 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_009, Function | MediumTest | Level1)166 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_009, Function | MediumTest | Level1)
167 {
168 sptr<MockImsSms> pImsSms = new MockImsSms();
169 sptr<MockImsCoreService> pImsCoreService = new MockImsCoreService();
170 sptr<MockImsSmsCallback> pImsSmsCallback = new MockImsSmsCallback();
171 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_ = pImsSms;
172 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsCallback_ = pImsSmsCallback;
173 DelayedSingleton<ImsSmsClient>::GetInstance()->imsCoreServiceProxy_ = pImsCoreService;
174
175 DelayedSingleton<ImsSmsClient>::GetInstance()->Clean();
176 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_, nullptr);
177 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsCallback_, nullptr);
178 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->imsCoreServiceProxy_, nullptr);
179 DelayedSingleton<ImsSmsClient>::DestroyInstance();
180 }
181
182 /**
183 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_010
184 * @tc.name smsServiceProxyTest_001
185 * @tc.desc Function test
186 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_010, Function | MediumTest | Level1)187 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_010, Function | MediumTest | Level1)
188 {
189 ImsSmsClient::SystemAbilityListener listerner;
190 int32_t systemAbilityId = 0;
191 std::string deviceId = "";
192 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->IsConnect(), false);
193 listerner.OnRemoveSystemAbility(systemAbilityId, deviceId);
194 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->IsConnect(), false);
195
196 sptr<MockImsSms> pImsSms = new MockImsSms();
197 sptr<MockImsCoreService> pImsCoreService = new MockImsCoreService();
198 sptr<MockImsSmsCallback> pImsSmsCallback = new MockImsSmsCallback();
199 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_ = pImsSms;
200 DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsCallback_ = pImsSmsCallback;
201 DelayedSingleton<ImsSmsClient>::GetInstance()->imsCoreServiceProxy_ = pImsCoreService;
202
203 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->IsConnect(), true);
204 listerner.OnRemoveSystemAbility(systemAbilityId, deviceId);
205 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->IsConnect(), false);
206 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsProxy_, nullptr);
207 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->imsSmsCallback_, nullptr);
208 EXPECT_EQ(DelayedSingleton<ImsSmsClient>::GetInstance()->imsCoreServiceProxy_, nullptr);
209 DelayedSingleton<ImsSmsClient>::DestroyInstance();
210 }
211
212 /**
213 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_011
214 * @tc.name smsServiceProxyTest_001
215 * @tc.desc Function test
216 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_011, Function | MediumTest | Level1)217 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_011, Function | MediumTest | Level1)
218 {
219 std::unique_ptr<ImsSmsCallbackStub> imsSmsCallbackStub = std::make_unique<ImsSmsCallbackStub>();
220
221 MessageParcel data;
222 MessageParcel reply;
223 MessageOption option;
224 uint32_t code = static_cast<uint32_t>(ImsSmsCallbackInterfaceCode::IMS_SEND_MESSAGE);
225 EXPECT_EQ(imsSmsCallbackStub->OnRemoteRequest(code, data, reply, option), TELEPHONY_ERR_DESCRIPTOR_MISMATCH);
226 }
227
228 /**
229 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_012
230 * @tc.name smsServiceProxyTest_001
231 * @tc.desc Function test
232 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_012, Function | MediumTest | Level1)233 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_012, Function | MediumTest | Level1)
234 {
235 std::unique_ptr<ImsSmsCallbackStub> imsSmsCallbackStub = std::make_unique<ImsSmsCallbackStub>();
236
237 MessageParcel data;
238 MessageParcel reply;
239 MessageOption option;
240 uint32_t code = static_cast<uint32_t>(1<<31);
241 data.WriteInterfaceToken(ImsSmsCallbackStub::GetDescriptor());
242 EXPECT_EQ(imsSmsCallbackStub->OnRemoteRequest(code, data, reply, option), IPC_STUB_UNKNOW_TRANS_ERR);
243 }
244
245 /**
246 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_013
247 * @tc.name smsServiceProxyTest_001
248 * @tc.desc Function test
249 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_013, Function | MediumTest | Level1)250 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_013, Function | MediumTest | Level1)
251 {
252 MessageParcel data;
253 MessageParcel reply;
254 MessageOption option;
255 int32_t slotId = 0;
256 int32_t imsSmsConfig = 0;
257 std::unique_ptr<ImsSmsCallbackStub> imsSmsCallbackStub = std::make_unique<ImsSmsCallbackStub>();
258 uint32_t code = static_cast<uint32_t>(ImsSmsCallbackInterfaceCode::IMS_GET_SMS_CONFIG);
259 data.WriteInterfaceToken(ImsSmsCallbackStub::GetDescriptor());
260 data.WriteInt32(slotId);
261 data.WriteInt32(imsSmsConfig);
262 EXPECT_EQ(imsSmsCallbackStub->OnRemoteRequest(code, data, reply, option), TELEPHONY_SUCCESS);
263 }
264
265 /**
266 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_014
267 * @tc.name smsServiceProxyTest_001
268 * @tc.desc Function test
269 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_014, Function | MediumTest | Level1)270 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_014, Function | MediumTest | Level1)
271 {
272 std::unique_ptr<ImsSmsCallbackStub> imsSmsCallbackStub = std::make_unique<ImsSmsCallbackStub>();
273
274 RadioResponseInfo radioResponseInfo;
275 MessageParcel data;
276 MessageParcel reply;
277 MessageOption option;
278 int32_t slotId = 0;
279 uint32_t code = static_cast<uint32_t>(ImsSmsCallbackInterfaceCode::IMS_SEND_MESSAGE);
280 data.WriteInterfaceToken(ImsSmsCallbackStub::GetDescriptor());
281 data.WriteInt32(slotId);
282 data.WriteRawData(&radioResponseInfo, sizeof(RadioResponseInfo));
283 EXPECT_EQ(imsSmsCallbackStub->OnRemoteRequest(code, data, reply, option), TELEPHONY_SUCCESS);
284 DelayedSingleton<ImsSmsClient>::DestroyInstance();
285 }
286
287 /**
288 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_015
289 * @tc.name smsServiceProxyTest_001
290 * @tc.desc Function test
291 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_015, Function | MediumTest | Level1)292 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_015, Function | MediumTest | Level1)
293 {
294 std::unique_ptr<ImsSmsCallbackStub> imsSmsCallbackStub = std::make_unique<ImsSmsCallbackStub>();
295
296 SendSmsResultInfo sendSmsResultInfo;
297 MessageParcel data;
298 MessageParcel reply;
299 MessageOption option;
300 int32_t slotId = 0;
301 uint32_t code = static_cast<uint32_t>(ImsSmsCallbackInterfaceCode::IMS_SEND_MESSAGE);
302 data.WriteInterfaceToken(ImsSmsCallbackStub::GetDescriptor());
303 data.WriteInt32(slotId);
304 data.WriteRawData(&sendSmsResultInfo, sizeof(SendSmsResultInfo));
305 EXPECT_GE(imsSmsCallbackStub->OnRemoteRequest(code, data, reply, option), TELEPHONY_SUCCESS);
306 DelayedSingleton<ImsSmsClient>::DestroyInstance();
307 }
308
309 /**
310 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_016
311 * @tc.name smsServiceProxyTest_001
312 * @tc.desc Function test
313 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_016, Function | MediumTest | Level1)314 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_016, Function | MediumTest | Level1)
315 {
316 std::unique_ptr<ImsSmsCallbackStub> imsSmsCallbackStub = std::make_unique<ImsSmsCallbackStub>();
317
318 RadioResponseInfo radioResponseInfo;
319 MessageParcel data;
320 MessageParcel reply;
321 MessageOption option;
322 int32_t slotId = 0;
323 uint32_t code = static_cast<uint32_t>(ImsSmsCallbackInterfaceCode::IMS_SET_SMS_CONFIG);
324 data.WriteInterfaceToken(ImsSmsCallbackStub::GetDescriptor());
325 data.WriteInt32(slotId);
326 data.WriteRawData(&radioResponseInfo, sizeof(RadioResponseInfo));
327 EXPECT_EQ(imsSmsCallbackStub->OnRemoteRequest(code, data, reply, option), TELEPHONY_SUCCESS);
328 DelayedSingleton<ImsSmsClient>::DestroyInstance();
329 }
330
331 /**
332 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_017
333 * @tc.name smsServiceProxyTest_001
334 * @tc.desc Function test
335 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_017, Function | MediumTest | Level1)336 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_017, Function | MediumTest | Level1)
337 {
338 sptr<MockRemoteObject> sptrRemoteObject = nullptr;
339 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
340
341 int32_t slotId = 0;
342 ImsMessageInfo imsMessageInfo;
343 EXPECT_EQ(imsSmsProxy->ImsSendMessage(slotId, imsMessageInfo), TELEPHONY_ERR_IPC_CONNECT_STUB_FAIL);
344 }
345
346 /**
347 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_018
348 * @tc.name smsServiceProxyTest_001
349 * @tc.desc Function test
350 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_018, Function | MediumTest | Level1)351 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_018, Function | MediumTest | Level1)
352 {
353 sptr<MockRemoteObject> sptrRemoteObject = new MockRemoteObject();
354 sptrRemoteObject->retSendRequest = 0;
355 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
356
357 int32_t slotId = 0;
358 ImsMessageInfo imsMessageInfo;
359 EXPECT_EQ(imsSmsProxy->ImsSendMessage(slotId, imsMessageInfo), 0);
360 }
361
362 /**
363 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_019
364 * @tc.name smsServiceProxyTest_001
365 * @tc.desc Function test
366 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_019, Function | MediumTest | Level1)367 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_019, Function | MediumTest | Level1)
368 {
369 sptr<MockRemoteObject> sptrRemoteObject = new MockRemoteObject();
370 sptrRemoteObject->retSendRequest = -1;
371 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
372
373 int32_t slotId = 0;
374 ImsMessageInfo imsMessageInfo;
375 EXPECT_EQ(imsSmsProxy->ImsSendMessage(slotId, imsMessageInfo), TELEPHONY_ERR_IPC_CONNECT_STUB_FAIL);
376 }
377
378 /**
379 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_020
380 * @tc.name smsServiceProxyTest_001
381 * @tc.desc Function test
382 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_020, Function | MediumTest | Level1)383 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_020, Function | MediumTest | Level1)
384 {
385 sptr<MockRemoteObject> sptrRemoteObject = new MockRemoteObject();
386 sptrRemoteObject->retSendRequest = 0;
387 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
388
389 int32_t slotId = 0;
390 int32_t imsSmsConfig = 0;
391 EXPECT_EQ(imsSmsProxy->ImsSetSmsConfig(slotId, imsSmsConfig), 0);
392 }
393
394 /**
395 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_021
396 * @tc.name smsServiceProxyTest_001
397 * @tc.desc Function test
398 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_021, Function | MediumTest | Level1)399 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_021, Function | MediumTest | Level1)
400 {
401 sptr<MockRemoteObject> sptrRemoteObject = new MockRemoteObject();
402 sptrRemoteObject->retSendRequest = 0;
403 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
404
405 int32_t slotId = 0;
406 EXPECT_EQ(imsSmsProxy->ImsGetSmsConfig(slotId), 0);
407 }
408
409 /**
410 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_022
411 * @tc.name smsServiceProxyTest_001
412 * @tc.desc Function test
413 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_022, Function | MediumTest | Level1)414 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_022, Function | MediumTest | Level1)
415 {
416 sptr<MockRemoteObject> sptrRemoteObject = nullptr;
417 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
418 EXPECT_EQ(imsSmsProxy->RegisterImsSmsCallback(nullptr), TELEPHONY_ERR_ARGUMENT_INVALID);
419 }
420
421 /**
422 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_023
423 * @tc.name smsServiceProxyTest_001
424 * @tc.desc Function test
425 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_023, Function | MediumTest | Level1)426 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_023, Function | MediumTest | Level1)
427 {
428 sptr<MockRemoteObject> sptrRemoteObject = nullptr;
429 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
430 sptr<MockImsSmsCallback> pImsSmsCallback = new MockImsSmsCallback();
431 EXPECT_EQ(imsSmsProxy->RegisterImsSmsCallback(pImsSmsCallback), TELEPHONY_ERR_WRITE_DATA_FAIL);
432 }
433
434 /**
435 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_024
436 * @tc.name smsServiceProxyTest_001
437 * @tc.desc Function test
438 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_024, Function | MediumTest | Level1)439 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_024, Function | MediumTest | Level1)
440 {
441 sptr<MockRemoteObject> sptrRemoteObject = new MockRemoteObject();
442 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(nullptr);
443 sptr<MockImsSmsCallback> pImsSmsCallback = new MockImsSmsCallback();
444 pImsSmsCallback->retRemoteObject = sptrRemoteObject;
445 EXPECT_EQ(imsSmsProxy->RegisterImsSmsCallback(pImsSmsCallback), TELEPHONY_ERR_IPC_CONNECT_STUB_FAIL);
446 }
447
448 /**
449 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_025
450 * @tc.name smsServiceProxyTest_001
451 * @tc.desc Function test
452 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_025, Function | MediumTest | Level1)453 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_025, Function | MediumTest | Level1)
454 {
455 sptr<MockRemoteObject> sptrRemoteObject = new MockRemoteObject();
456 sptrRemoteObject->retSendRequest = 0;
457 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
458
459 sptr<MockImsSmsCallback> pImsSmsCallback = new MockImsSmsCallback();
460 pImsSmsCallback->retRemoteObject = sptrRemoteObject;
461 EXPECT_EQ(imsSmsProxy->RegisterImsSmsCallback(pImsSmsCallback), 0);
462 }
463
464 /**
465 * @tc.number Telephony_SmsImsServiceInteractionTest_smsImsServiceInteractionTest_026
466 * @tc.name smsServiceProxyTest_001
467 * @tc.desc Function test
468 */
HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_026, Function | MediumTest | Level1)469 HWTEST_F(SmsImsServiceInteractionTest, smsImsServiceInteractionTest_026, Function | MediumTest | Level1)
470 {
471 sptr<MockRemoteObject> sptrRemoteObject = new MockRemoteObject();
472 sptrRemoteObject->retSendRequest = -1;
473 std::unique_ptr<MockImsSmsProxy> imsSmsProxy = std::make_unique<MockImsSmsProxy>(sptrRemoteObject);
474
475 sptr<MockImsSmsCallback> pImsSmsCallback = new MockImsSmsCallback();
476 pImsSmsCallback->retRemoteObject = sptrRemoteObject;
477 EXPECT_EQ(imsSmsProxy->RegisterImsSmsCallback(pImsSmsCallback), TELEPHONY_ERR_IPC_CONNECT_STUB_FAIL);
478 }
479 }
480 }