• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #define private public
17 #define protected public
18 
19 #include "gtest/gtest.h"
20 #include "hril_timer_callback.h"
21 #include "hril_event.h"
22 #include "hril_request.h"
23 #include "hril_enum.h"
24 #include "hril_base.h"
25 #include "hril_sms.h"
26 #include "hril_manager.h"
27 
28 namespace OHOS {
29 namespace Telephony {
30 using namespace testing::ext;
31 
32 class RilAdapterServiceTest : public testing::Test {
33 public:
34     static void SetUpTestCase();
35     static void TearDownTestCase();
36     void SetUp();
37     void TearDown();
38 };
SetUpTestCase()39 void RilAdapterServiceTest::SetUpTestCase() {}
40 
TearDownTestCase()41 void RilAdapterServiceTest::TearDownTestCase() {}
42 
SetUp()43 void RilAdapterServiceTest::SetUp() {}
44 
TearDown()45 void RilAdapterServiceTest::TearDown() {}
46 
47 /**
48  * @tc.number   Telephony_ImsBaseConnectionTest_0001
49  * @tc.name     Test HRilBase
50  * @tc.desc     Function test
51  */
52 HWTEST_F(RilAdapterServiceTest, HRilBaseTest_0001, Function | MediumTest | Level1)
53 {
54     char **response = nullptr;
55     int32_t index = 0;
56     int32_t len = 0;
57     int32_t slotId = 0;
58     HRilBase base(slotId);
59     EXPECT_EQ(base.ConvertHexStringToInt(response, index, len), HRIL_ERR_GENERIC_FAILURE);
60 
61     HDI::Ril::V1_1::RilRadioResponseInfo responseInfo;
62     responseInfo.slotId = slotId;
63     base.BuildIHRilRadioResponseInfo(responseInfo);
64 
65     char str[] = "0123456789ABCDEF";
66     EXPECT_EQ(base.StringToHex(str, strlen(str)), "30313233343536373839414243444546");
67 }
68 
69 /**
70  * @tc.number   Telephony_HRilSmsTest_0002
71  * @tc.name     Test HRilSms
72  * @tc.desc     Function test
73  */
74 HWTEST_F(RilAdapterServiceTest, HRilSmsTest_0002, Function | MediumTest | Level1)
75 {
76     int32_t slotId = 0;
77     HRilSms hRilSms(slotId);
78     EXPECT_FALSE(hRilSms.IsSmsRespOrNotify(HREQ_CALL_BASE));
79     EXPECT_TRUE(hRilSms.IsSmsRespOrNotify(HREQ_SMS_BASE));
80     EXPECT_FALSE(hRilSms.IsSmsRespOrNotify(HREQ_SIM_BASE));
81     EXPECT_TRUE(hRilSms.IsSmsRespOrNotify(HNOTI_SMS_BASE));
82     EXPECT_FALSE(hRilSms.IsSmsRespOrNotify(HNOTI_SIM_BASE));
83 
84     int32_t serialId = 0;
85     OHOS::HDI::Ril::V1_1::GsmSmsMessageInfo gsmSmsMessageInfo;
86     hRilSms.SendGsmSms(serialId, gsmSmsMessageInfo);
87 
88     OHOS::HDI::Ril::V1_1::SendCdmaSmsMessageInfo cdmaSmsMessageInfo;
89     hRilSms.SendCdmaSms(serialId, cdmaSmsMessageInfo);
90 
91     int32_t index = 0;
92     HRilSmsReq smsFuncs;
93     hRilSms.RegisterSmsFuncs(&smsFuncs);
94     EXPECT_NE(hRilSms.DelSimMessage(serialId, index), HRIL_ERR_INVALID_PARAMETER);
95 
96     OHOS::HDI::Ril::V1_1::CdmaCBConfigInfoList cellBroadcastInfoList;
97     EXPECT_NE(hRilSms.SetCdmaCBConfig(serialId, cellBroadcastInfoList), HRIL_ERR_INVALID_PARAMETER);
98 
99     hRilSms.GetCdmaCBConfig(serialId);
100 
101     OHOS::HDI::Ril::V1_1::ServiceCenterAddress scAddress;
102     hRilSms.SetSmscAddr(serialId, scAddress);
103     hRilSms.GetSmscAddr(serialId);
104 
105     OHOS::HDI::Ril::V1_1::CBConfigInfo broadcastInfo;
106     std::string str(60000, 'a');
107     broadcastInfo.mids = str;
108     EXPECT_EQ(hRilSms.SetCBConfig(serialId, broadcastInfo), HRIL_ERR_INVALID_PARAMETER);
109 }
110 
111 /**
112  * @tc.number   Telephony_HRilSmsTest_0003
113  * @tc.name     Test HRilSms
114  * @tc.desc     Function test
115  */
116 HWTEST_F(RilAdapterServiceTest, HRilSmsTest_0003, Function | MediumTest | Level1)
117 {
118     int32_t slotId = 0;
119     HRilSms hRilSms(slotId);
120     int32_t serialId = 0;
121     OHOS::HDI::Ril::V1_1::ModeData gsmSmsMessageInfo;
122     EXPECT_NE(hRilSms.SendSmsAck(serialId, gsmSmsMessageInfo), HRIL_ERR_INVALID_PARAMETER);
123 
124     OHOS::HDI::Ril::V1_1::SmsMessageIOInfo message;
125     message.pdu = "0123456789abcdefABCDEF";
126     hRilSms.AddCdmaSimMessage(serialId, message);
127 
128     HRilCdmaSmsMessageInfo cdmaSmsInfo;
129     hRilSms.CreateCdmaMessageInfo(cdmaSmsInfo, message.pdu);
130 
131     int32_t index = 0;
132     HRilSmsReq smsFuncs;
133     hRilSms.RegisterSmsFuncs(&smsFuncs);
134     EXPECT_NE(hRilSms.DelCdmaSimMessage(serialId, index), HRIL_ERR_INVALID_PARAMETER);
135 
136     int32_t indType = 0;
137     HRilErrNumber error = HRIL_ERR_HDF_IPC_FAILURE;
138     char response[] = {"213234343345"} ;
139     size_t responseLen = strlen(response);
140     hRilSms.CBConfigNotify(indType, error, response, responseLen);
141 
142     EXPECT_FALSE(hRilSms.IsSmsResponse(HREQ_CALL_BASE));
143     EXPECT_TRUE(hRilSms.IsSmsResponse(HREQ_SMS_BASE));
144     EXPECT_FALSE(hRilSms.IsSmsResponse(HREQ_SIM_BASE));
145 
146     EXPECT_FALSE(hRilSms.IsSmsNotification(HREQ_SIM_BASE));
147     EXPECT_TRUE(hRilSms.IsSmsNotification(HNOTI_SMS_BASE));
148     EXPECT_FALSE(hRilSms.IsSmsNotification(HNOTI_SIM_BASE));
149 }
150 /**
151  * @tc.number   Telephony_RilAdapterServiceTest_0004
152  * @tc.name     Test RilAdapterService
153  * @tc.desc     Function test
154  */
155 HWTEST_F(RilAdapterServiceTest, RilAdapterServiceTest_0004, Function | MediumTest | Level1)
156 {
157     HRilTimerCallback hRilTimerCallback;
158     int32_t fd = 0;
159     int16_t events = 0;
160     std::shared_ptr<void> param = std::make_shared<int>(42);
161     hRilTimerCallback.TimerCallback(fd, events, param);
162     ASSERT_NE(param, nullptr);
163 
164     param = nullptr;
165     hRilTimerCallback.TimerCallback(fd, events, param);
166     ASSERT_EQ(param, nullptr);
167 }
168 
169 /**
170  * @tc.number   Telephony_RilAdapterServiceTest_0005
171  * @tc.name     Test RilAdapterService
172  * @tc.desc     Function test
173  */
174 HWTEST_F(RilAdapterServiceTest, RilAdapterServiceTest_0005, Function | MediumTest | Level1)
175 {
176     HRilTimerCallback hRilTimerCallback;
177     HRilCallbackFun func = nullptr;
178     uint8_t *param = nullptr;
179     timeval *tv = nullptr;
180     ASSERT_EQ(hRilTimerCallback.HRilSetTimerCallbackInfo(func, param, tv), nullptr);
181 }
182 
183 /**
184  * @tc.number   Telephony_HRilEventTest_0006
185  * @tc.name     Test HRilEvent
186  * @tc.desc     Function test
187  */
188 HWTEST_F(RilAdapterServiceTest, HRilEventTest_0006, Function | MediumTest | Level1)
189 {
190     HRilEvent hRilEvent;
191     int32_t index = 0;
192     hRilEvent.ProcessEvents(nullptr, index);
193     EXPECT_EQ(index, 0);
194 }
195 } // namespace Telephony
196 } // namespace OHOS