1 /*
2 * Copyright (C) 2023 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 "ril_data_test.h"
17 #include "ril_test_util.h"
18
19 namespace OHOS {
20 namespace Telephony {
21 using namespace OHOS::HDI::Ril::V1_1;
22 using namespace testing::ext;
23 namespace {
24 sptr<IRil> g_rilInterface = nullptr;
25 }
26
SetUpTestCase()27 void RilDataTest::SetUpTestCase()
28 {
29 TELEPHONY_LOGI("----------RilCallTest gtest start ------------");
30 RilTestUtil::GetInstance().Init();
31 g_rilInterface = RilTestUtil::GetRilInterface();
32 }
33
TearDownTestCase()34 void RilDataTest::TearDownTestCase() {}
35
SetUp()36 void RilDataTest::SetUp() {}
37
TearDown()38 void RilDataTest::TearDown() {}
39
40 /**
41 * @tc.number Telephony_DriverSystem_ActivatePdpContext_V1_0100
42 * @tc.name Activate pdp context
43 * @tc.desc Function test
44 */
45 HWTEST_F(RilDataTest, Telephony_DriverSystem_ActivatePdpContext_V1_0100, Function | MediumTest | Level3)
46 {
47 if (!RilTestUtil::IsReady(SLOTID_1)) {
48 return;
49 }
50 int32_t serialId = RilTestUtil::GetSerialId();
51 DataProfileDataInfo dataProfileInfo;
52 dataProfileInfo.profileId = 0;
53 dataProfileInfo.password = "";
54 dataProfileInfo.authenticationType = 0;
55 dataProfileInfo.userName = "";
56 dataProfileInfo.apn = "cmnet";
57 dataProfileInfo.protocol = "IPV4V6";
58 dataProfileInfo.roamingProtocol = "IPV4V6";
59 DataCallInfo dataCallInfo;
60 dataCallInfo.serial = serialId;
61 dataCallInfo.radioTechnology = 0;
62 dataCallInfo.dataProfileInfo = dataProfileInfo;
63 dataCallInfo.roamingAllowed = true;
64 dataCallInfo.isRoaming = false;
65 int32_t ret = g_rilInterface->ActivatePdpContext(SLOTID_1, serialId, dataCallInfo);
66 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
67 EXPECT_EQ(SUCCESS, ret);
68 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_ACTIVATE_PDP_CONTEXT));
69 }
70
71 /**
72 * @tc.number Telephony_DriverSystem_ActivatePdpContext_V1_0200
73 * @tc.name Activate pdp context
74 * @tc.desc Function test
75 */
76 HWTEST_F(RilDataTest, Telephony_DriverSystem_ActivatePdpContext_V1_0200, Function | MediumTest | Level3)
77 {
78 if (!RilTestUtil::IsReady(SLOTID_2)) {
79 return;
80 }
81 int32_t serialId = RilTestUtil::GetSerialId();
82 DataProfileDataInfo dataProfileInfo;
83 dataProfileInfo.profileId = 0;
84 dataProfileInfo.password = "";
85 dataProfileInfo.authenticationType = 0;
86 dataProfileInfo.userName = "";
87 dataProfileInfo.apn = "cmnet";
88 dataProfileInfo.protocol = "IPV4V6";
89 dataProfileInfo.roamingProtocol = "IPV4V6";
90 DataCallInfo dataCallInfo;
91 dataCallInfo.serial = serialId;
92 dataCallInfo.radioTechnology = 0;
93 dataCallInfo.dataProfileInfo = dataProfileInfo;
94 dataCallInfo.roamingAllowed = true;
95 dataCallInfo.isRoaming = false;
96 int32_t ret = g_rilInterface->ActivatePdpContext(SLOTID_2, serialId, dataCallInfo);
97 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
98 EXPECT_EQ(SUCCESS, ret);
99 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_ACTIVATE_PDP_CONTEXT));
100 }
101
102 /**
103 * @tc.number Telephony_DriverSystem_DeactivatePdpContext_V1_0100
104 * @tc.name Deactivate pdp context
105 * @tc.desc Function test
106 */
107 HWTEST_F(RilDataTest, Telephony_DriverSystem_DeactivatePdpContext_V1_0100, Function | MediumTest | Level3)
108 {
109 if (!RilTestUtil::IsReady(SLOTID_1)) {
110 return;
111 }
112 int32_t serialId = RilTestUtil::GetSerialId();
113 UniInfo uniInfo;
114 uniInfo.serial = serialId;
115 uniInfo.gsmIndex = CID;
116 uniInfo.arg1 = REASON;
117 int32_t ret = g_rilInterface->DeactivatePdpContext(SLOTID_1, serialId, uniInfo);
118 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
119 EXPECT_EQ(SUCCESS, ret);
120 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_DEACTIVATE_PDP_CONTEXT));
121 }
122
123 /**
124 * @tc.number Telephony_DriverSystem_DeactivatePdpContext_V1_0200
125 * @tc.name Deactivate pdp context
126 * @tc.desc Function test
127 */
128 HWTEST_F(RilDataTest, Telephony_DriverSystem_DeactivatePdpContext_V1_0200, Function | MediumTest | Level3)
129 {
130 if (!RilTestUtil::IsReady(SLOTID_2)) {
131 return;
132 }
133 int32_t serialId = RilTestUtil::GetSerialId();
134 UniInfo uniInfo;
135 uniInfo.serial = serialId;
136 uniInfo.gsmIndex = CID;
137 uniInfo.arg1 = REASON;
138 int32_t ret = g_rilInterface->DeactivatePdpContext(SLOTID_2, serialId, uniInfo);
139 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
140 EXPECT_EQ(SUCCESS, ret);
141 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_DEACTIVATE_PDP_CONTEXT));
142 }
143
144 /**
145 * @tc.number Telephony_DriverSystem_GetPdpContextList_V1_0100
146 * @tc.name Get pdp context list
147 * @tc.desc Function test
148 */
149 HWTEST_F(RilDataTest, Telephony_DriverSystem_GetPdpContextList_V1_0100, Function | MediumTest | Level3)
150 {
151 if (!RilTestUtil::IsReady(SLOTID_1)) {
152 return;
153 }
154 int32_t serialId = RilTestUtil::GetSerialId();
155 UniInfo uniInfo;
156 uniInfo.serial = serialId;
157 int32_t ret = g_rilInterface->GetPdpContextList(SLOTID_1, serialId, uniInfo);
158 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
159 EXPECT_EQ(SUCCESS, ret);
160 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_GET_PDP_CONTEXT_LIST));
161 }
162
163 /**
164 * @tc.number Telephony_DriverSystem_GetPdpContextList_V1_0200
165 * @tc.name Get pdp context list
166 * @tc.desc Function test
167 */
168 HWTEST_F(RilDataTest, Telephony_DriverSystem_GetPdpContextList_V1_0200, Function | MediumTest | Level3)
169 {
170 if (!RilTestUtil::IsReady(SLOTID_2)) {
171 return;
172 }
173 int32_t serialId = RilTestUtil::GetSerialId();
174 UniInfo uniInfo;
175 uniInfo.serial = serialId;
176 int32_t ret = g_rilInterface->GetPdpContextList(SLOTID_2, serialId, uniInfo);
177 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
178 EXPECT_EQ(SUCCESS, ret);
179 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_GET_PDP_CONTEXT_LIST));
180 }
181
182 /**
183 * @tc.number Telephony_DriverSystem_SetInitApnInfo_V1_0100
184 * @tc.name Set init apn info
185 * @tc.desc Function test
186 */
187 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetInitApnInfo_V1_0100, Function | MediumTest | Level3)
188 {
189 if (!RilTestUtil::IsReady(SLOTID_1)) {
190 return;
191 }
192 int32_t serialId = RilTestUtil::GetSerialId();
193 DataProfileDataInfo dataProfileInfo;
194 dataProfileInfo.profileId = 0;
195 dataProfileInfo.password = "";
196 dataProfileInfo.authenticationType = 0;
197 dataProfileInfo.userName = "";
198 dataProfileInfo.apn = "cmnet";
199 dataProfileInfo.protocol = "IPV4V6";
200 dataProfileInfo.roamingProtocol = "IPV4V6";
201 dataProfileInfo.serial = serialId;
202 int32_t ret = g_rilInterface->SetInitApnInfo(SLOTID_1, serialId, dataProfileInfo);
203 RilTestUtil::WaitFor(WAIT_TIME_SECOND_LONG);
204 EXPECT_EQ(SUCCESS, ret);
205 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_INIT_APN_INFO));
206 }
207
208 /**
209 * @tc.number Telephony_DriverSystem_SetInitApnInfo_V1_0200
210 * @tc.name Set init apn info
211 * @tc.desc Function test
212 */
213 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetInitApnInfo_V1_0200, Function | MediumTest | Level3)
214 {
215 if (!RilTestUtil::IsReady(SLOTID_2)) {
216 return;
217 }
218 int32_t serialId = RilTestUtil::GetSerialId();
219 DataProfileDataInfo dataProfileInfo;
220 dataProfileInfo.profileId = 0;
221 dataProfileInfo.password = "";
222 dataProfileInfo.authenticationType = 0;
223 dataProfileInfo.userName = "";
224 dataProfileInfo.apn = "cmnet";
225 dataProfileInfo.protocol = "IPV4V6";
226 dataProfileInfo.roamingProtocol = "IPV4V6";
227 dataProfileInfo.serial = serialId;
228 int32_t ret = g_rilInterface->SetInitApnInfo(SLOTID_2, serialId, dataProfileInfo);
229 RilTestUtil::WaitFor(WAIT_TIME_SECOND_LONG);
230 EXPECT_EQ(SUCCESS, ret);
231 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_INIT_APN_INFO));
232 }
233
234 /**
235 * @tc.number Telephony_DriverSystem_GetLinkCapability_V1_0100
236 * @tc.name Get link capability
237 * @tc.desc Function test
238 */
239 HWTEST_F(RilDataTest, Telephony_DriverSystem_GetLinkCapability_V1_0100, Function | MediumTest | Level3)
240 {
241 if (!RilTestUtil::IsReady(SLOTID_1)) {
242 return;
243 }
244 int32_t ret = g_rilInterface->GetLinkCapability(SLOTID_1, RilTestUtil::GetSerialId());
245 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
246 RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_GET_LINK_CAPABILITY);
247 EXPECT_GE(ret, -1);
248 }
249
250 /**
251 * @tc.number Telephony_DriverSystem_GetLinkCapability_V1_0200
252 * @tc.name Get link capability
253 * @tc.desc Function test
254 */
255 HWTEST_F(RilDataTest, Telephony_DriverSystem_GetLinkCapability_V1_0200, Function | MediumTest | Level3)
256 {
257 if (!RilTestUtil::IsReady(SLOTID_2)) {
258 return;
259 }
260 int32_t ret = g_rilInterface->GetLinkCapability(SLOTID_2, RilTestUtil::GetSerialId());
261 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
262 RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_GET_LINK_CAPABILITY);
263 EXPECT_GE(SUCCESS, ret);
264 }
265
266 /**
267 * @tc.number Telephony_DriverSystem_GetLinkBandwidthInfo_V1_0100
268 * @tc.name Get link band width info
269 * @tc.desc Function test
270 */
271 HWTEST_F(RilDataTest, Telephony_DriverSystem_GetLinkBandwidthInfo_V1_0100, Function | MediumTest | Level3)
272 {
273 if (!RilTestUtil::IsReady(SLOTID_1)) {
274 return;
275 }
276 int32_t ret = g_rilInterface->GetLinkBandwidthInfo(SLOTID_1, RilTestUtil::GetSerialId(), CID);
277 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
278 EXPECT_EQ(SUCCESS, ret);
279 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_GET_LINK_BANDWIDTH_INFO));
280 }
281
282 /**
283 * @tc.number Telephony_DriverSystem_GetLinkBandwidthInfo_V1_0200
284 * @tc.name Get link band width info
285 * @tc.desc Function test
286 */
287 HWTEST_F(RilDataTest, Telephony_DriverSystem_GetLinkBandwidthInfo_V1_0200, Function | MediumTest | Level3)
288 {
289 if (!RilTestUtil::IsReady(SLOTID_2)) {
290 return;
291 }
292 int32_t ret = g_rilInterface->GetLinkBandwidthInfo(SLOTID_2, RilTestUtil::GetSerialId(), CID);
293 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
294 EXPECT_EQ(SUCCESS, ret);
295 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_GET_LINK_BANDWIDTH_INFO));
296 }
297
298 /**
299 * @tc.number Telephony_DriverSystem_SetLinkBandwidthReportingRule_V1_0100
300 * @tc.name Set link band width reporting rule
301 * @tc.desc Function test
302 */
303 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetLinkBandwidthReportingRule_V1_0100, Function | MediumTest | Level3)
304 {
305 if (!RilTestUtil::IsReady(SLOTID_1)) {
306 return;
307 }
308 int32_t serialId = RilTestUtil::GetSerialId();
309 uint32_t uplinkKbpsSize = sizeof(MAX_UPLINK_LINK_BANDWIDTH) / sizeof(int32_t);
310 uint32_t downlinkKbpsSize = sizeof(MAX_DOWNLINK_LINK_BANDWIDTH) / sizeof(int32_t);
311 DataLinkBandwidthReportingRule dLinkBandwidth;
312 dLinkBandwidth.serial = serialId;
313 dLinkBandwidth.rat = static_cast<int32_t>(RatType::NETWORK_TYPE_LTE);
314 dLinkBandwidth.delayMs = BANDWIDTH_HYSTERESIS_MS;
315 dLinkBandwidth.delayUplinkKbps = BANDWIDTH_HYSTERESIS_KBPS;
316 dLinkBandwidth.delayDownlinkKbps = BANDWIDTH_HYSTERESIS_KBPS;
317 dLinkBandwidth.maximumUplinkKbpsSize = uplinkKbpsSize;
318 dLinkBandwidth.maximumDownlinkKbpsSize = downlinkKbpsSize;
319 for (uint32_t i = 0; i < uplinkKbpsSize; i++) {
320 dLinkBandwidth.maximumUplinkKbps.push_back(MAX_UPLINK_LINK_BANDWIDTH[i]);
321 }
322 for (uint32_t i = 0; i < downlinkKbpsSize; i++) {
323 dLinkBandwidth.maximumDownlinkKbps.push_back(MAX_DOWNLINK_LINK_BANDWIDTH[i]);
324 }
325 int32_t ret = g_rilInterface->SetLinkBandwidthReportingRule(SLOTID_1, RilTestUtil::GetSerialId(), dLinkBandwidth);
326 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
327 EXPECT_EQ(SUCCESS, ret);
328 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_LINK_BANDWIDTH_REPORTING_RULE));
329 }
330
331 /**
332 * @tc.number Telephony_DriverSystem_SetLinkBandwidthReportingRule_V1_0200
333 * @tc.name Set link band width reporting rule
334 * @tc.desc Function test
335 */
336 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetLinkBandwidthReportingRule_V1_0200, Function | MediumTest | Level3)
337 {
338 if (!RilTestUtil::IsReady(SLOTID_2)) {
339 return;
340 }
341 int32_t serialId = RilTestUtil::GetSerialId();
342 uint32_t uplinkKbpsSize = sizeof(MAX_UPLINK_LINK_BANDWIDTH) / sizeof(int32_t);
343 uint32_t downlinkKbpsSize = sizeof(MAX_DOWNLINK_LINK_BANDWIDTH) / sizeof(int32_t);
344 DataLinkBandwidthReportingRule dLinkBandwidth;
345 dLinkBandwidth.serial = serialId;
346 dLinkBandwidth.rat = static_cast<int32_t>(RatType::NETWORK_TYPE_LTE);
347 dLinkBandwidth.delayMs = BANDWIDTH_HYSTERESIS_MS;
348 dLinkBandwidth.delayUplinkKbps = BANDWIDTH_HYSTERESIS_KBPS;
349 dLinkBandwidth.delayDownlinkKbps = BANDWIDTH_HYSTERESIS_KBPS;
350 dLinkBandwidth.maximumUplinkKbpsSize = uplinkKbpsSize;
351 dLinkBandwidth.maximumDownlinkKbpsSize = downlinkKbpsSize;
352 for (uint32_t i = 0; i < uplinkKbpsSize; i++) {
353 dLinkBandwidth.maximumUplinkKbps.push_back(MAX_UPLINK_LINK_BANDWIDTH[i]);
354 }
355 for (uint32_t i = 0; i < downlinkKbpsSize; i++) {
356 dLinkBandwidth.maximumDownlinkKbps.push_back(MAX_DOWNLINK_LINK_BANDWIDTH[i]);
357 }
358 int32_t ret = g_rilInterface->SetLinkBandwidthReportingRule(SLOTID_2, RilTestUtil::GetSerialId(), dLinkBandwidth);
359 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
360 EXPECT_EQ(SUCCESS, ret);
361 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_LINK_BANDWIDTH_REPORTING_RULE));
362 }
363
364 /**
365 * @tc.number Telephony_DriverSystem_SetDataPermitted_V1_0100
366 * @tc.name Set data permitted
367 * @tc.desc Function test
368 */
369 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetDataPermitted_V1_0100, Function | MediumTest | Level3)
370 {
371 if (!RilTestUtil::IsReady(SLOTID_1)) {
372 return;
373 }
374 int32_t ret = g_rilInterface->SetDataPermitted(SLOTID_1, RilTestUtil::GetSerialId(), 1);
375 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
376 EXPECT_EQ(SUCCESS, ret);
377 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_DATA_PERMITTED));
378 }
379
380 /**
381 * @tc.number Telephony_DriverSystem_SetDataPermitted_V1_0200
382 * @tc.name Set data permitted
383 * @tc.desc Function test
384 */
385 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetDataPermitted_V1_0200, Function | MediumTest | Level3)
386 {
387 if (!RilTestUtil::IsReady(SLOTID_2)) {
388 return;
389 }
390 int32_t ret = g_rilInterface->SetDataPermitted(SLOTID_2, RilTestUtil::GetSerialId(), 1);
391 RilTestUtil::WaitFor(WAIT_TIME_SECOND);
392 EXPECT_EQ(SUCCESS, ret);
393 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_DATA_PERMITTED));
394 }
395
396 /**
397 * @tc.number Telephony_DriverSystem_SetDataProfileInfo_V1_0100
398 * @tc.name Set data profile info
399 * @tc.desc Function test
400 */
401 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetDataProfileInfo_V1_0100, Function | MediumTest | Level3)
402 {
403 if (!RilTestUtil::IsReady(SLOTID_1)) {
404 return;
405 }
406 int32_t serialId = RilTestUtil::GetSerialId();
407 DataProfilesInfo dataProfilesInfo;
408 dataProfilesInfo.serial = serialId;
409 dataProfilesInfo.profilesSize = 1;
410 DataProfileDataInfo dataProfileInfo;
411 dataProfileInfo.profileId = 0;
412 dataProfileInfo.password = "";
413 dataProfileInfo.authenticationType = 0;
414 dataProfileInfo.userName = "";
415 dataProfileInfo.apn = "cmnet";
416 dataProfileInfo.protocol = "IPV4V6";
417 dataProfileInfo.roamingProtocol = "IPV4V6";
418 dataProfileInfo.serial = serialId;
419 dataProfilesInfo.profiles.push_back(dataProfileInfo);
420 int32_t ret = g_rilInterface->SetDataProfileInfo(SLOTID_1, serialId, dataProfilesInfo);
421 RilTestUtil::WaitFor(WAIT_TIME_SECOND_LONG);
422 EXPECT_EQ(SUCCESS, ret);
423 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_DATA_PROFILE_INFO));
424 }
425
426 /**
427 * @tc.number Telephony_DriverSystem_SetDataProfileInfo_V1_0200
428 * @tc.name Set data profile info
429 * @tc.desc Function test
430 */
431 HWTEST_F(RilDataTest, Telephony_DriverSystem_SetDataProfileInfo_V1_0200, Function | MediumTest | Level3)
432 {
433 if (!RilTestUtil::IsReady(SLOTID_2)) {
434 return;
435 }
436 int32_t serialId = RilTestUtil::GetSerialId();
437 DataProfilesInfo dataProfilesInfo;
438 dataProfilesInfo.serial = serialId;
439 dataProfilesInfo.profilesSize = 1;
440 DataProfileDataInfo dataProfileInfo;
441 dataProfileInfo.profileId = 0;
442 dataProfileInfo.password = "";
443 dataProfileInfo.authenticationType = 0;
444 dataProfileInfo.userName = "";
445 dataProfileInfo.apn = "cmnet";
446 dataProfileInfo.protocol = "IPV4V6";
447 dataProfileInfo.roamingProtocol = "IPV4V6";
448 dataProfileInfo.serial = serialId;
449 dataProfilesInfo.profiles.push_back(dataProfileInfo);
450 int32_t ret = g_rilInterface->SetDataProfileInfo(SLOTID_2, serialId, dataProfilesInfo);
451 RilTestUtil::WaitFor(WAIT_TIME_SECOND_LONG);
452 EXPECT_EQ(SUCCESS, ret);
453 ASSERT_TRUE(RilTestUtil::GetBoolResult(HdiId::HREQ_DATA_SET_DATA_PROFILE_INFO));
454 }
455 } // namespace Telephony
456 } // namespace OHOS
457