1 /*
2  * Copyright (c) 2021-2022 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 "data_storage_gtest.h"
17 
18 #include "data_storage_errors.h"
19 #include "data_storage_log_wrapper.h"
20 #include "datashare_helper.h"
21 #include "datashare_predicates.h"
22 #include "global_params_data.h"
23 #include "opkey_data.h"
24 #include "parameter.h"
25 #include "pdp_profile_data.h"
26 #include "sim_data.h"
27 #include "sms_mms_data.h"
28 
29 namespace OHOS {
30 namespace Telephony {
31 using namespace testing::ext;
32 const int NUM_MATCH_SHORT_EIGHT = 8;
33 const int NUM_MATCH_ELEVEN = 11;
34 const int PERMS_NUM = 4;
35 const int32_t VOICECALL_CAP_VAL_LEN = 6;
36 const std::string KEY_VOICECALL_CAP = "const.telephony.voice.capable";
37 
HasVoiceCapability()38 bool HasVoiceCapability()
39 {
40     char retValue[VOICECALL_CAP_VAL_LEN + 1] = { "true" };
41     int retLen = GetParameter(KEY_VOICECALL_CAP.c_str(), "true", retValue, VOICECALL_CAP_VAL_LEN);
42     DATA_STORAGE_LOGI("HasVoiceCapability retValue %{public}s, retLen %{public}d", retValue, retLen);
43     if (strcmp(retValue, "false") == 0) {
44         return false;
45     }
46     return true;
47 }
48 
SetUpTestCase(void)49 void DataStorageGtest::SetUpTestCase(void)
50 {
51     // step 3: Set Up Test Case
52     const char *perms[PERMS_NUM] = {
53         "ohos.permission.READ_MESSAGES",
54         "ohos.permission.ANSWER_CALL",
55         "ohos.permission.SET_TELEPHONY_STATE",
56         "ohos.permission.GET_TELEPHONY_STATE",
57     };
58 
59     NativeTokenInfoParams testCallInfoParams = {
60         .dcapsNum = 0,
61         .permsNum = PERMS_NUM,
62         .aclsNum = 0,
63         .dcaps = nullptr,
64         .perms = perms,
65         .acls = nullptr,
66         .processName = "telephony_data_gtest",
67         .aplStr = "system_basic",
68     };
69     Security::AccessToken::AccessTokenID currentID_ = GetAccessTokenId(&testCallInfoParams);
70     SetSelfTokenID(currentID_);
71     Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
72 }
73 
TearDownTestCase(void)74 void DataStorageGtest::TearDownTestCase(void)
75 {
76     // step 3: Tear Down Test Case
77 }
78 
SetUp(void)79 void DataStorageGtest::SetUp(void)
80 {
81     // step 3: input testcase setup step
82 }
83 
TearDown(void)84 void DataStorageGtest::TearDown(void)
85 {
86     // step 3: input testcase teardown step
87 }
88 
CreateDataShareHelper(int32_t systemAbilityId,std::string & uri) const89 std::shared_ptr<DataShare::DataShareHelper> DataStorageGtest::CreateDataShareHelper(
90     int32_t systemAbilityId, std::string &uri) const
91 {
92     DATA_STORAGE_LOGI("DataStorageGtest::CreateDataShareHelper");
93     auto saManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
94     if (saManager == nullptr) {
95         DATA_STORAGE_LOGE("DataStorageGtest Get system ability mgr failed.");
96         return nullptr;
97     }
98     auto remoteObj = saManager->GetSystemAbility(systemAbilityId);
99     if (remoteObj == nullptr) {
100         DATA_STORAGE_LOGE("DataStorageGtest GetSystemAbility Service Failed.");
101         return nullptr;
102     }
103     return DataShare::DataShareHelper::Creator(remoteObj, uri);
104 }
105 
CreateSimHelper()106 std::shared_ptr<DataShare::DataShareHelper> DataStorageGtest::CreateSimHelper()
107 {
108     if (simDataHelper == nullptr) {
109         std::string uri(SIM_URI);
110         if (uri.data() == nullptr) {
111             DATA_STORAGE_LOGE("CreateSimHelper uri is nullptr");
112             return nullptr;
113         }
114         simDataHelper = CreateDataShareHelper(TELEPHONY_CORE_SERVICE_SYS_ABILITY_ID, uri);
115     }
116     return simDataHelper;
117 }
118 
CreateSmsHelper()119 std::shared_ptr<DataShare::DataShareHelper> DataStorageGtest::CreateSmsHelper()
120 {
121     if (smsDataHelper == nullptr) {
122         std::string uri(SMS_MMS_URI);
123         if (uri.data() == nullptr) {
124             DATA_STORAGE_LOGE("CreateSmsHelper uri is nullptr");
125             return nullptr;
126         }
127         smsDataHelper = CreateDataShareHelper(TELEPHONY_SMS_MMS_SYS_ABILITY_ID, uri);
128     }
129     return smsDataHelper;
130 }
131 
CreatePdpProfileHelper()132 std::shared_ptr<DataShare::DataShareHelper> DataStorageGtest::CreatePdpProfileHelper()
133 {
134     if (pdpProfileDataHelper == nullptr) {
135         std::string uri(PDP_PROFILE_URI);
136         if (uri.data() == nullptr) {
137             DATA_STORAGE_LOGE("CreatePdpProfileHelper uri is nullptr");
138             return nullptr;
139         }
140         pdpProfileDataHelper = CreateDataShareHelper(TELEPHONY_SMS_MMS_SYS_ABILITY_ID, uri);
141     }
142     return pdpProfileDataHelper;
143 }
144 
CreateOpKeyHelper()145 std::shared_ptr<DataShare::DataShareHelper> DataStorageGtest::CreateOpKeyHelper()
146 {
147     if (opKeyDataHelper == nullptr) {
148         std::string uri(OPKEY_URI);
149         if (uri.data() == nullptr) {
150             DATA_STORAGE_LOGE("CreateOpKeyHelper uri is nullptr");
151             return nullptr;
152         }
153         opKeyDataHelper = CreateDataShareHelper(TELEPHONY_SMS_MMS_SYS_ABILITY_ID, uri);
154     }
155     return opKeyDataHelper;
156 }
157 
CreateGlobalParamsHelper()158 std::shared_ptr<DataShare::DataShareHelper> DataStorageGtest::CreateGlobalParamsHelper()
159 {
160     if (globalParamsDataHelper == nullptr) {
161         std::string uri(GLOBAL_PARAMS_URI);
162         if (uri.data() == nullptr) {
163             DATA_STORAGE_LOGE("CreateGlobalParamsHelper uri is nullptr");
164             return nullptr;
165         }
166         globalParamsDataHelper = CreateDataShareHelper(TELEPHONY_SMS_MMS_SYS_ABILITY_ID, uri);
167     }
168     return globalParamsDataHelper;
169 }
170 
OpKeyInsert(const std::shared_ptr<DataShare::DataShareHelper> & helper) const171 int DataStorageGtest::OpKeyInsert(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
172 {
173     std::string opkey = "110";
174     Uri uri("datashare:///com.ohos.opkeyability/opkey/opkey_info");
175     DataShare::DataShareValuesBucket value;
176     value.Put(OpKeyData::ID, 1);
177     value.Put(OpKeyData::MCCMNC, "460");
178     value.Put(OpKeyData::GID1, "gid1");
179     value.Put(OpKeyData::OPERATOR_NAME, "name");
180     value.Put(OpKeyData::OPERATOR_KEY, opkey);
181     auto ret = helper->Insert(uri, value);
182     DATA_STORAGE_LOGI("OpKeyInsert ret: %{public}d", ret);
183     return ret;
184 }
185 
OpKeyUpdate(const std::shared_ptr<DataShare::DataShareHelper> & helper) const186 int DataStorageGtest::OpKeyUpdate(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
187 {
188     Uri uri("datashare:///com.ohos.opkeyability/opkey/opkey_info");
189     DataShare::DataShareValuesBucket values;
190     values.Put(OpKeyData::OPERATOR_NAME, "name2");
191     DataShare::DataSharePredicates predicates;
192     predicates.EqualTo(OpKeyData::OPERATOR_KEY, "123");
193     return helper->Update(uri, predicates, values);
194 }
195 
OpKeySelect(const std::shared_ptr<DataShare::DataShareHelper> & helper) const196 int DataStorageGtest::OpKeySelect(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
197 {
198     DATA_STORAGE_LOGI("OpKeySelect begin.");
199     Uri uri("datashare:///com.ohos.opkeyability/opkey/opkey_info");
200     std::vector<std::string> columns;
201     DataShare::DataSharePredicates predicates;
202     std::shared_ptr<DataShare::DataShareResultSet> resultSet = helper->Query(uri, predicates, columns);
203     if (resultSet != nullptr) {
204         int count;
205         resultSet->GetRowCount(count);
206         DATA_STORAGE_LOGI("OpKeySelectret cnt: %{public}d", count);
207         return count;
208     }
209     return -1;
210 }
211 
OpKeyDelete(const std::shared_ptr<DataShare::DataShareHelper> & helper) const212 int DataStorageGtest::OpKeyDelete(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
213 {
214     Uri uri("datashare:///com.ohos.opkeyability/opkey/opkey_info");
215     DataShare::DataSharePredicates predicates;
216     predicates.EqualTo(OpKeyData::ID, "1");
217     return helper->Delete(uri, predicates);
218 }
219 
SimInsert(const std::shared_ptr<DataShare::DataShareHelper> & helper) const220 int DataStorageGtest::SimInsert(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
221 {
222     Uri uri("datashare:///com.ohos.simability/sim/sim_info");
223     DataShare::DataShareValuesBucket value;
224     value.Put(SimData::SLOT_INDEX, 1);
225     value.Put(SimData::PHONE_NUMBER, "134xxxxxxxx");
226     value.Put(SimData::ICC_ID, "icc_id");
227     value.Put(SimData::CARD_ID, "card_id");
228     return helper->Insert(uri, value);
229 }
230 
SimUpdate(const std::shared_ptr<DataShare::DataShareHelper> & helper) const231 int DataStorageGtest::SimUpdate(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
232 {
233     Uri uri("datashare:///com.ohos.simability/sim/sim_info");
234     std::string slot = std::to_string(1);
235     DataShare::DataShareValuesBucket values;
236     values.Put(SimData::SHOW_NAME, "China Mobile");
237     DataShare::DataSharePredicates predicates;
238     predicates.EqualTo(SimData::SLOT_INDEX, slot);
239     return helper->Update(uri, predicates, values);
240 }
241 
SimSelect(const std::shared_ptr<DataShare::DataShareHelper> & helper) const242 int DataStorageGtest::SimSelect(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
243 {
244     Uri uri("datashare:///com.ohos.simability/sim/sim_info");
245     std::vector<std::string> columns;
246     DataShare::DataSharePredicates predicates;
247     std::shared_ptr<DataShare::DataShareResultSet> resultSet = helper->Query(uri, predicates, columns);
248     if (resultSet != nullptr) {
249         int count;
250         resultSet->GetRowCount(count);
251         return count;
252     }
253     return -1;
254 }
255 
SimDelete(const std::shared_ptr<DataShare::DataShareHelper> & helper) const256 int DataStorageGtest::SimDelete(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
257 {
258     Uri uri("datashare:///com.ohos.simability/sim/sim_info");
259     DataShare::DataSharePredicates predicates;
260     predicates.EqualTo(SimData::SLOT_INDEX, "1");
261     return helper->Delete(uri, predicates);
262 }
263 
SmsBatchInsert(const std::shared_ptr<DataShare::DataShareHelper> & helper) const264 int DataStorageGtest::SmsBatchInsert(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
265 {
266     Uri uri("datashare:///com.ohos.smsmmsability/sms_mms/sms_mms_info");
267     std::vector<DataShare::DataShareValuesBucket> values;
268     DataShare::DataShareValuesBucket value;
269     int batchNum = 100;
270     for (int i = 0; i < batchNum; i++) {
271         value.Put(SmsMmsInfo::RECEIVER_NUMBER, "134xxxxxxxx");
272         value.Put(SmsMmsInfo::MSG_CONTENT, "The first test text message content");
273         value.Put(SmsMmsInfo::GROUP_ID, 1);
274         values.push_back(value);
275         value.Clear();
276     }
277     return helper->BatchInsert(uri, values);
278 }
279 
SmsInsert(const std::shared_ptr<DataShare::DataShareHelper> & helper) const280 int DataStorageGtest::SmsInsert(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
281 {
282     Uri uri("datashare:///com.ohos.smsmmsability/sms_mms/sms_mms_info");
283     DataShare::DataShareValuesBucket value;
284     value.Put(SmsMmsInfo::RECEIVER_NUMBER, "134xxxxxxxx");
285     value.Put(SmsMmsInfo::MSG_CONTENT, "The first test text message content");
286     value.Put(SmsMmsInfo::GROUP_ID, 1);
287     value.Put(SmsMmsInfo::IS_SENDER, 0);
288     return helper->Insert(uri, value);
289 }
290 
SmsUpdate(const std::shared_ptr<DataShare::DataShareHelper> & helper) const291 int DataStorageGtest::SmsUpdate(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
292 {
293     Uri uri("datashare:///com.ohos.smsmmsability/sms_mms/sms_mms_info");
294     DataShare::DataShareValuesBucket values;
295     values.Put(SmsMmsInfo::MSG_CONTENT, "The second test text message content");
296     DataShare::DataSharePredicates predicates;
297     predicates.EqualTo(SmsMmsInfo::MSG_ID, "1");
298     return helper->Update(uri, predicates, values);
299 }
300 
SmsSelect(const std::shared_ptr<DataShare::DataShareHelper> & helper) const301 int DataStorageGtest::SmsSelect(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
302 {
303     Uri uri("datashare:///com.ohos.smsmmsability/sms_mms/sms_mms_info");
304     std::vector<std::string> columns;
305     DataShare::DataSharePredicates predicates;
306     std::shared_ptr<DataShare::DataShareResultSet> resultSet = helper->Query(uri, predicates, columns);
307     if (resultSet != nullptr) {
308         int count;
309         resultSet->GetRowCount(count);
310         DATA_STORAGE_LOGI("SmsSelect count: %{public}d", count);
311         return count;
312     }
313     return -1;
314 }
315 
SmsDelete(const std::shared_ptr<DataShare::DataShareHelper> & helper) const316 int DataStorageGtest::SmsDelete(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
317 {
318     Uri uri("datashare:///com.ohos.smsmmsability/sms_mms/sms_mms_info");
319     DataShare::DataSharePredicates predicates;
320     predicates.EqualTo(SmsMmsInfo::MSG_ID, "1");
321     return helper->Delete(uri, predicates);
322 }
323 
PdpProfileInsert(const std::shared_ptr<DataShare::DataShareHelper> & helper) const324 int DataStorageGtest::PdpProfileInsert(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
325 {
326     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile?simId=0");
327     DataShare::DataShareValuesBucket value;
328     value.Put(PdpProfileData::PROFILE_NAME, "frist_profile_name");
329     value.Put(PdpProfileData::MCC, "460");
330     value.Put(PdpProfileData::MNC, "91");
331     value.Put(PdpProfileData::MVNO_TYPE, "gid1");
332     value.Put(PdpProfileData::MVNO_MATCH_DATA, "FFF");
333     value.Put(PdpProfileData::EDITED_STATUS, "1");
334     value.Put(PdpProfileData::SERVER, "pdpserver");
335     value.Put(PdpProfileData::BEARING_SYSTEM_TYPE, "1");
336     value.Put(PdpProfileData::IS_ROAMING_APN, "0");
337     value.Put(PdpProfileData::APN_PROTOCOL, "IP");
338     value.Put(PdpProfileData::APN_ROAM_PROTOCOL, "IPV6");
339     return helper->Insert(uri, value);
340 }
341 
PdpProfileUpdate(const std::shared_ptr<DataShare::DataShareHelper> & helper) const342 int DataStorageGtest::PdpProfileUpdate(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
343 {
344     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile");
345     DataShare::DataShareValuesBucket values;
346     values.Put(PdpProfileData::PROFILE_NAME, "update_profile_name");
347     DataShare::DataSharePredicates predicates;
348     predicates.EqualTo(PdpProfileData::PROFILE_ID, "1");
349     return helper->Update(uri, predicates, values);
350 }
351 
PdpProfileUpdate2(const std::shared_ptr<DataShare::DataShareHelper> & helper) const352 int DataStorageGtest::PdpProfileUpdate2(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
353 {
354     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile/preferapn");
355     DataShare::DataShareValuesBucket values;
356     DataShare::DataSharePredicates predicates;
357     double testId = 1110;
358     double testSImId = 1;
359     values.Put(PdpProfileData::PROFILE_ID, testId);
360     values.Put(PdpProfileData::SIM_ID, testSImId);
361     return helper->Update(uri, predicates, values);
362 }
363 
PdpProfileUpdate3(const std::shared_ptr<DataShare::DataShareHelper> & helper) const364 int DataStorageGtest::PdpProfileUpdate3(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
365 {
366     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile/preferapn");
367     DataShare::DataShareValuesBucket values;
368     DataShare::DataSharePredicates predicates;
369     values.Put(PdpProfileData::PROFILE_ID, -1);
370     values.Put(PdpProfileData::SIM_ID, 0);
371     return helper->Update(uri, predicates, values);
372 }
373 
PdpProfileUpdate4(const std::shared_ptr<DataShare::DataShareHelper> & helper) const374 int DataStorageGtest::PdpProfileUpdate4(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
375 {
376     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile/reset?simId=0");
377     DataShare::DataShareValuesBucket values;
378     DataShare::DataSharePredicates predicates;
379     return helper->Update(uri, predicates, values);
380 }
381 
PdpProfileSelect(const std::shared_ptr<DataShare::DataShareHelper> & helper) const382 int DataStorageGtest::PdpProfileSelect(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
383 {
384     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile?simId=0");
385     std::vector<std::string> columns;
386     DataShare::DataSharePredicates predicates;
387     std::shared_ptr<DataShare::DataShareResultSet> resultSet = helper->Query(uri, predicates, columns);
388     if (resultSet != nullptr) {
389         int count;
390         resultSet->GetRowCount(count);
391         std::cout << "count is " << count;
392         return count;
393     }
394     return -1;
395 }
396 
PdpProfileSelect2(const std::shared_ptr<DataShare::DataShareHelper> & helper) const397 int DataStorageGtest::PdpProfileSelect2(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
398 {
399     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile/preferapn?Proxy=true&simId=0");
400     std::vector<std::string> columns;
401     DataShare::DataSharePredicates predicates;
402     std::shared_ptr<DataShare::DataShareResultSet> resultSet = helper->Query(uri, predicates, columns);
403     if (resultSet != nullptr) {
404         int count;
405         resultSet->GetRowCount(count);
406         std::cout << "count is " << count;
407         return count;
408     }
409     return -1;
410 }
411 
PdpProfileDelete(const std::shared_ptr<DataShare::DataShareHelper> & helper) const412 int DataStorageGtest::PdpProfileDelete(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
413 {
414     Uri uri("datashare:///com.ohos.pdpprofileability/net/pdp_profile");
415     DataShare::DataSharePredicates predicates;
416     predicates.EqualTo(PdpProfileData::PROFILE_ID, "1");
417     return helper->Delete(uri, predicates);
418 }
419 
GlobalParamsNumMatchInsert(const std::shared_ptr<DataShare::DataShareHelper> & helper) const420 int DataStorageGtest::GlobalParamsNumMatchInsert(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
421 {
422     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/num_matchs");
423     DataShare::DataShareValuesBucket value;
424     value.Put(NumMatchData::NAME, "frist_numMatch_name");
425     value.Put(NumMatchData::MCC, "460");
426     value.Put(NumMatchData::MNC, "91");
427     value.Put(NumMatchData::MCCMNC, "46091");
428     value.Put(NumMatchData::NUM_MATCH, NUM_MATCH_ELEVEN);
429     value.Put(NumMatchData::NUM_MATCH_SHORT, NUM_MATCH_SHORT_EIGHT);
430     return helper->Insert(uri, value);
431 }
432 
GlobalParamsNumMatchUpdate(const std::shared_ptr<DataShare::DataShareHelper> & helper) const433 int DataStorageGtest::GlobalParamsNumMatchUpdate(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
434 {
435     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/num_matchs");
436     DataShare::DataShareValuesBucket values;
437     values.Put(NumMatchData::NAME, "update_name");
438     DataShare::DataSharePredicates predicates;
439     predicates.EqualTo(NumMatchData::MCCMNC, "46091");
440     return helper->Update(uri, predicates, values);
441 }
442 
DumpNumMatchData(std::shared_ptr<DataShare::DataShareResultSet> resultSet)443 static void DumpNumMatchData(std::shared_ptr<DataShare::DataShareResultSet> resultSet)
444 {
445     if (resultSet == nullptr) {
446         std::cout << "resultSet is NULL, count = 0." << std::endl;
447         return;
448     }
449     int count;
450     resultSet->GetRowCount(count);
451     std::cout << "Dump NumMatchTable: count is " << count << std::endl;
452     for (int row = 0; row < count; row++) {
453         int columnIndex;
454         int id;
455         int match_long;
456         int match_short;
457         std::string name;
458         std::string mcc;
459         std::string mnc;
460         std::string numeric;
461         resultSet->GoToRow(row);
462         resultSet->GetColumnIndex(NumMatchData::ID, columnIndex);
463         resultSet->GetInt(columnIndex, id);
464         resultSet->GetColumnIndex(NumMatchData::NUM_MATCH, columnIndex);
465         resultSet->GetInt(columnIndex, match_long);
466         resultSet->GetColumnIndex(NumMatchData::NUM_MATCH_SHORT, columnIndex);
467         resultSet->GetInt(columnIndex, match_short);
468         resultSet->GetColumnIndex(NumMatchData::NAME, columnIndex);
469         resultSet->GetString(columnIndex, name);
470         resultSet->GetColumnIndex(NumMatchData::MCC, columnIndex);
471         resultSet->GetString(columnIndex, mcc);
472         resultSet->GetColumnIndex(NumMatchData::MNC, columnIndex);
473         resultSet->GetString(columnIndex, mnc);
474         resultSet->GetColumnIndex(NumMatchData::MCCMNC, columnIndex);
475         resultSet->GetString(columnIndex, numeric);
476         std::cout << " Row: " << row << ", id: " << id << ", name: " << name << ", mcc: " << mcc
477                   << ", mnc: " << mnc << ", numeric: " << numeric << ", num_match: " << match_long
478                   << ", num_match_short: " << match_short << std::endl;
479     }
480 }
481 
GlobalParamsNumMatchSelect(const std::shared_ptr<DataShare::DataShareHelper> & helper) const482 int DataStorageGtest::GlobalParamsNumMatchSelect(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
483 {
484     DATA_STORAGE_LOGI("GlobalParamsNumMatchSelect ---");
485     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/num_matchs");
486     std::vector<std::string> columns;
487     DataShare::DataSharePredicates predicates;
488     std::shared_ptr<DataShare::DataShareResultSet> resultSet = helper->Query(uri, predicates, columns);
489     if (resultSet != nullptr) {
490         int count;
491         resultSet->GetRowCount(count);
492         std::cout << "count is " << count;
493         DumpNumMatchData(resultSet);
494         resultSet->Close();
495         return count;
496     }
497     return -1;
498 }
499 
GlobalParamsNumMatchDelete(const std::shared_ptr<DataShare::DataShareHelper> & helper) const500 int DataStorageGtest::GlobalParamsNumMatchDelete(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
501 {
502     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/num_matchs");
503     DataShare::DataSharePredicates predicates;
504     predicates.EqualTo(NumMatchData::MCCMNC, "46091");
505     return helper->Delete(uri, predicates);
506 }
GlobalEccInsert(const std::shared_ptr<DataShare::DataShareHelper> & helper) const507 int DataStorageGtest::GlobalEccInsert(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
508 {
509     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/ecc_data");
510     DataShare::DataShareValuesBucket value;
511     value.Put(EccData::MCC, "460");
512     value.Put(EccData::MNC, "01");
513     value.Put(EccData::NUMERIC, "46001");
514     return helper->Insert(uri, value);
515 }
516 
GlobalEccUpdate(const std::shared_ptr<DataShare::DataShareHelper> & helper) const517 int DataStorageGtest::GlobalEccUpdate(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
518 {
519     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/ecc_data");
520     DataShare::DataShareValuesBucket values;
521     values.Put(EccData::NAME, "46001");
522     DataShare::DataSharePredicates predicates;
523     predicates.EqualTo(EccData::ID, "1");
524     return helper->Update(uri, predicates, values);
525 }
526 
GlobalEccSelect(const std::shared_ptr<DataShare::DataShareHelper> & helper) const527 int DataStorageGtest::GlobalEccSelect(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
528 {
529     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/ecc_data");
530     std::vector<std::string> columns;
531     DataShare::DataSharePredicates predicates;
532     std::shared_ptr<DataShare::DataShareResultSet> resultSet = helper->Query(uri, predicates, columns);
533     if (resultSet != nullptr) {
534         int count;
535         resultSet->GetRowCount(count);
536         std::cout << "count is " << count;
537         return count;
538     }
539     return -1;
540 }
541 
GlobalEccDelete(const std::shared_ptr<DataShare::DataShareHelper> & helper) const542 int DataStorageGtest::GlobalEccDelete(const std::shared_ptr<DataShare::DataShareHelper> &helper) const
543 {
544     Uri uri("datashare:///com.ohos.globalparamsability/globalparams/ecc_data");
545     DataShare::DataSharePredicates predicates;
546     predicates.EqualTo(EccData::ID, "1");
547     return helper->Delete(uri, predicates);
548 }
549 
550 #ifndef TEL_TEST_UNSUPPORT
551 /**
552  * @tc.number   DataStorage_001
553  * @tc.name     create sim and sms DataAbilityHelper
554  * @tc.desc     Function test
555  */
556 HWTEST_F(DataStorageGtest, DataStorage_001, Function | MediumTest | Level0)
557 {
558     if (!HasVoiceCapability()) {
559         return;
560     }
561     std::shared_ptr<DataShare::DataShareHelper> smsHelper = CreateSmsHelper();
562     std::shared_ptr<DataShare::DataShareHelper> simHelper = CreateSimHelper();
563     if (smsHelper == nullptr || simHelper == nullptr) {
564         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
565         return;
566     }
567     bool retSms = (smsHelper != nullptr);
568     bool retSim = (simHelper != nullptr);
569     smsHelper = nullptr;
570     simHelper = nullptr;
571     EXPECT_TRUE(retSms);
572     EXPECT_TRUE(retSim);
573 }
574 
575 /**
576  * @tc.number   OpKeyInsert_001
577  * @tc.name     insert opkey data
578  * @tc.desc     Function test
579  */
580 HWTEST_F(DataStorageGtest, OpKeyInsert_001, Function | MediumTest | Level1)
581 {
582     if (!HasVoiceCapability()) {
583         return;
584     }
585     std::shared_ptr<DataShare::DataShareHelper> helper = CreateOpKeyHelper();
586     if (helper == nullptr) {
587         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
588         return;
589     }
590     int ret = OpKeyInsert(helper);
591     helper = nullptr;
592     EXPECT_GE(ret, DATA_STORAGE_ERROR);
593 }
594 
595 /**
596  * @tc.number   OpKeyUpdate_001
597  * @tc.name     update opkey data
598  * @tc.desc     Function test
599  */
600 HWTEST_F(DataStorageGtest, OpKeyUpdate_001, Function | MediumTest | Level2)
601 {
602     if (!HasVoiceCapability()) {
603         return;
604     }
605     std::shared_ptr<DataShare::DataShareHelper> helper = CreateOpKeyHelper();
606     if (helper == nullptr) {
607         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
608         return;
609     }
610     int ret = OpKeyUpdate(helper);
611     helper = nullptr;
612     EXPECT_GE(ret, DATA_STORAGE_ERROR);
613 }
614 
615 /**
616  * @tc.number   OpKeySelect_001
617  * @tc.name     select opkey data
618  * @tc.desc     Function test
619  */
620 HWTEST_F(DataStorageGtest, OpKeySelect_001, Function | MediumTest | Level1)
621 {
622     if (!HasVoiceCapability()) {
623         return;
624     }
625     std::shared_ptr<DataShare::DataShareHelper> helper = CreateOpKeyHelper();
626     if (helper == nullptr) {
627         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
628         return;
629     }
630     int ret = OpKeySelect(helper);
631     helper = nullptr;
632     EXPECT_GE(ret, DATA_STORAGE_ERROR);
633 }
634 
635 /**
636  * @tc.number   OpKeyDelete_001
637  * @tc.name     delete opkey data
638  * @tc.desc     Function test
639  */
640 HWTEST_F(DataStorageGtest, OpKeyDelete_001, Function | MediumTest | Level1)
641 {
642     if (!HasVoiceCapability()) {
643         return;
644     }
645     std::shared_ptr<DataShare::DataShareHelper> helper = CreateOpKeyHelper();
646     if (helper == nullptr) {
647         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
648         return;
649     }
650     int ret = OpKeyDelete(helper);
651     helper = nullptr;
652     EXPECT_GE(ret, DATA_STORAGE_ERROR);
653 }
654 
655 /**
656  * @tc.number   SimInsert_001
657  * @tc.name     insert sim data
658  * @tc.desc     Function test
659  */
660 HWTEST_F(DataStorageGtest, SimInsert_001, Function | MediumTest | Level1)
661 {
662     if (!HasVoiceCapability()) {
663         return;
664     }
665     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSimHelper();
666     if (helper == nullptr) {
667         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
668         return;
669     }
670     int ret = SimInsert(helper);
671     helper = nullptr;
672     EXPECT_GE(ret, DATA_STORAGE_ERROR);
673 }
674 
675 /**
676  * @tc.number   SimUpdate_001
677  * @tc.name     update sim data
678  * @tc.desc     Function test
679  */
680 HWTEST_F(DataStorageGtest, SimUpdate_001, Function | MediumTest | Level1)
681 {
682     if (!HasVoiceCapability()) {
683         return;
684     }
685     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSimHelper();
686     if (helper == nullptr) {
687         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
688         return;
689     }
690     int ret = SimUpdate(helper);
691     helper = nullptr;
692     EXPECT_GE(ret, DATA_STORAGE_ERROR);
693 }
694 
695 /**
696  * @tc.number   SimSelect_001
697  * @tc.name     select sim data
698  * @tc.desc     Function test
699  */
700 HWTEST_F(DataStorageGtest, SimSelect_001, Function | MediumTest | Level1)
701 {
702     if (!HasVoiceCapability()) {
703         return;
704     }
705     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSimHelper();
706     if (helper == nullptr) {
707         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
708         return;
709     }
710     int ret = SimSelect(helper);
711     helper = nullptr;
712     EXPECT_GE(ret, DATA_STORAGE_ERROR);
713 }
714 
715 /**
716  * @tc.number   SimDelete_001
717  * @tc.name     delete sim data
718  * @tc.desc     Function test
719  * @tc.require: I5LACE
720  */
721 HWTEST_F(DataStorageGtest, SimDelete_001, Function | MediumTest | Level1)
722 {
723     if (!HasVoiceCapability()) {
724         return;
725     }
726     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSimHelper();
727     if (helper == nullptr) {
728         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
729         return;
730     }
731     int ret = SimDelete(helper);
732     helper = nullptr;
733     EXPECT_GE(ret, DATA_STORAGE_ERROR);
734 }
735 
736 /**
737  * @tc.number   SmsBatchInsert_001
738  * @tc.name     batch insert sms data
739  * @tc.desc     Function test
740  * @tc.require: I5LACE
741  */
742 HWTEST_F(DataStorageGtest, SmsBatchInsert_001, Function | MediumTest | Level1)
743 {
744     if (!HasVoiceCapability()) {
745         return;
746     }
747     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSmsHelper();
748     if (helper == nullptr) {
749         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
750         return;
751     }
752     int ret = SmsBatchInsert(helper);
753     helper = nullptr;
754     EXPECT_GE(ret, DATA_STORAGE_ERROR);
755 }
756 
757 /**
758  * @tc.number   SmsInsert_001
759  * @tc.name     insert sms data
760  * @tc.desc     Function test
761  * @tc.require: I5LACE
762  */
763 HWTEST_F(DataStorageGtest, SmsInsert_001, Function | MediumTest | Level1)
764 {
765     if (!HasVoiceCapability()) {
766         return;
767     }
768     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSmsHelper();
769     if (helper == nullptr) {
770         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
771         return;
772     }
773     int ret = SmsInsert(helper);
774     helper = nullptr;
775     EXPECT_GE(ret, DATA_STORAGE_ERROR);
776 }
777 
778 /**
779  * @tc.number   SmsUpdate_001
780  * @tc.name     update sms data
781  * @tc.desc     Function test
782  */
783 HWTEST_F(DataStorageGtest, SmsUpdate_001, Function | MediumTest | Level1)
784 {
785     if (!HasVoiceCapability()) {
786         return;
787     }
788     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSmsHelper();
789     if (helper == nullptr) {
790         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
791         return;
792     }
793     int ret = SmsUpdate(helper);
794     helper = nullptr;
795     EXPECT_GE(ret, DATA_STORAGE_ERROR);
796 }
797 
798 /**
799  * @tc.number   SmsSelect_001
800  * @tc.name     select sms data
801  * @tc.desc     Function test
802  */
803 HWTEST_F(DataStorageGtest, SmsSelect_001, Function | MediumTest | Level1)
804 {
805     if (!HasVoiceCapability()) {
806         return;
807     }
808     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSmsHelper();
809     if (helper == nullptr) {
810         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
811         return;
812     }
813     int ret = SmsSelect(helper);
814     helper = nullptr;
815     EXPECT_GE(ret, DATA_STORAGE_ERROR);
816 }
817 
818 /**
819  * @tc.number   SmsDelete_001
820  * @tc.name     delete sms data
821  * @tc.desc     Function test
822  * @tc.require: I5LACE
823  */
824 HWTEST_F(DataStorageGtest, SmsDelete_001, Function | MediumTest | Level1)
825 {
826     if (!HasVoiceCapability()) {
827         return;
828     }
829     std::shared_ptr<DataShare::DataShareHelper> helper = CreateSmsHelper();
830     if (helper == nullptr) {
831         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
832         return;
833     }
834     int ret = SmsDelete(helper);
835     helper = nullptr;
836     EXPECT_GE(ret, DATA_STORAGE_ERROR);
837 }
838 
839 /**
840  * @tc.number   PdpProfileInsert_001
841  * @tc.name     insert apn data
842  * @tc.desc     Function test
843  */
844 HWTEST_F(DataStorageGtest, PdpProfileInsert_001, Function | MediumTest | Level1)
845 {
846     if (!HasVoiceCapability()) {
847         return;
848     }
849     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
850     if (helper == nullptr) {
851         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
852         return;
853     }
854     int ret = PdpProfileInsert(helper);
855     helper = nullptr;
856     EXPECT_GE(ret, DATA_STORAGE_ERROR);
857 }
858 
859 /**
860  * @tc.number   PdpProfileUpdate_001
861  * @tc.name     update apn data
862  * @tc.desc     Function test
863  */
864 HWTEST_F(DataStorageGtest, PdpProfileUpdate_001, Function | MediumTest | Level2)
865 {
866     if (!HasVoiceCapability()) {
867         return;
868     }
869     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
870     if (helper == nullptr) {
871         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
872         return;
873     }
874     int ret = PdpProfileUpdate(helper);
875     helper = nullptr;
876     EXPECT_GE(ret, DATA_STORAGE_ERROR);
877 }
878 
879 /**
880  * @tc.number   PdpProfileUpdate_002
881  * @tc.name     update apn data
882  * @tc.desc     Function test
883  */
884 HWTEST_F(DataStorageGtest, PdpProfileUpdate_002, Function | MediumTest | Level2)
885 {
886     if (!HasVoiceCapability()) {
887         return;
888     }
889     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
890     if (helper == nullptr) {
891         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
892         return;
893     }
894     int ret = PdpProfileUpdate2(helper);
895     helper = nullptr;
896     EXPECT_GE(ret, DATA_STORAGE_ERROR);
897 }
898 
899 /**
900  * @tc.number   PdpProfileUpdate_003
901  * @tc.name     update apn data
902  * @tc.desc     Function test
903  */
904 HWTEST_F(DataStorageGtest, PdpProfileUpdate_003, Function | MediumTest | Level2)
905 {
906     if (!HasVoiceCapability()) {
907         return;
908     }
909     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
910     if (helper == nullptr) {
911         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
912         return;
913     }
914     int ret = PdpProfileUpdate3(helper);
915     helper = nullptr;
916     EXPECT_GE(ret, DATA_STORAGE_ERROR);
917 }
918 
919 /**
920  * @tc.number   PdpProfileUpdate_004
921  * @tc.name     update apn data
922  * @tc.desc     Function test
923  */
924 HWTEST_F(DataStorageGtest, PdpProfileUpdate_004, Function | MediumTest | Level2)
925 {
926     if (!HasVoiceCapability()) {
927         return;
928     }
929     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
930     if (helper == nullptr) {
931         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
932         return;
933     }
934     int ret = PdpProfileUpdate4(helper);
935     helper = nullptr;
936     EXPECT_GE(ret, DATA_STORAGE_ERROR);
937 }
938 
939 /**
940  * @tc.number   PdpProfileSelect_001
941  * @tc.name     select apn data
942  * @tc.desc     Function test
943  */
944 HWTEST_F(DataStorageGtest, PdpProfileSelect_001, Function | MediumTest | Level1)
945 {
946     if (!HasVoiceCapability()) {
947         return;
948     }
949     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
950     if (helper == nullptr) {
951         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
952         return;
953     }
954     int ret = PdpProfileSelect(helper);
955     helper = nullptr;
956     EXPECT_GE(ret, DATA_STORAGE_ERROR);
957 }
958 
959 /**
960  * @tc.number   PdpProfileSelect_002
961  * @tc.name     select apn data
962  * @tc.desc     Function test
963  */
964 HWTEST_F(DataStorageGtest, PdpProfileSelect_002, Function | MediumTest | Level1)
965 {
966     if (!HasVoiceCapability()) {
967         return;
968     }
969     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
970     if (helper == nullptr) {
971         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
972         return;
973     }
974     int ret = PdpProfileSelect2(helper);
975     helper = nullptr;
976     EXPECT_GE(ret, DATA_STORAGE_ERROR);
977 }
978 
979 /**
980  * @tc.number   PdpProfileDelete_001
981  * @tc.name     delete apn data
982  * @tc.desc     Function test
983  */
984 HWTEST_F(DataStorageGtest, PdpProfileDelete_001, Function | MediumTest | Level1)
985 {
986     if (!HasVoiceCapability()) {
987         return;
988     }
989     std::shared_ptr<DataShare::DataShareHelper> helper = CreatePdpProfileHelper();
990     if (helper == nullptr) {
991         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
992         return;
993     }
994     int ret = PdpProfileDelete(helper);
995     helper = nullptr;
996     EXPECT_GE(ret, DATA_STORAGE_ERROR);
997 }
998 
999 /**
1000  * @tc.number   GlobalParamsNumMatchInsert_001
1001  * @tc.name     insert NumMatch data
1002  * @tc.desc     Function test
1003  */
1004 HWTEST_F(DataStorageGtest, GlobalParamsNumMatchInsert_001, Function | MediumTest | Level1)
1005 {
1006     if (!HasVoiceCapability()) {
1007         return;
1008     }
1009     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1010     if (helper == nullptr) {
1011         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1012         return;
1013     }
1014     int ret = GlobalParamsNumMatchInsert(helper);
1015     helper = nullptr;
1016     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1017 }
1018 
1019 /**
1020  * @tc.number   GlobalParamsNumMatchUpdate_001
1021  * @tc.name     update NumMatch data
1022  * @tc.desc     Function test
1023  */
1024 HWTEST_F(DataStorageGtest, GlobalParamsNumMatchUpdate_001, Function | MediumTest | Level1)
1025 {
1026     if (!HasVoiceCapability()) {
1027         return;
1028     }
1029     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1030     if (helper == nullptr) {
1031         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1032         return;
1033     }
1034     int ret = GlobalParamsNumMatchUpdate(helper);
1035     helper = nullptr;
1036     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1037 }
1038 
1039 /**
1040  * @tc.number   GlobalParamsNumMatchSelect_001
1041  * @tc.name     select NumMatch data
1042  * @tc.desc     Function test
1043  */
1044 HWTEST_F(DataStorageGtest, GlobalParamsNumMatchSelect_001, Function | MediumTest | Level1)
1045 {
1046     if (!HasVoiceCapability()) {
1047         return;
1048     }
1049     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1050     if (helper == nullptr) {
1051         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1052         return;
1053     }
1054     int ret = GlobalParamsNumMatchSelect(helper);
1055     helper = nullptr;
1056     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1057 }
1058 
1059 /**
1060  * @tc.number   GlobalParamsNumMatchDelete_001
1061  * @tc.name     delete NumMatch data
1062  * @tc.desc     Function test
1063  */
1064 HWTEST_F(DataStorageGtest, GlobalParamsNumMatchDelete_001, Function | MediumTest | Level1)
1065 {
1066     if (!HasVoiceCapability()) {
1067         return;
1068     }
1069     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1070     if (helper == nullptr) {
1071         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1072         return;
1073     }
1074     int ret = GlobalParamsNumMatchDelete(helper);
1075     helper = nullptr;
1076     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1077 }
1078 /**
1079  * @tc.number   GlobalEccInsert_001
1080  * @tc.name     insert ecc data
1081  * @tc.desc     Function test
1082  */
1083 HWTEST_F(DataStorageGtest, GlobalEccInsert_001, Function | MediumTest | Level1)
1084 {
1085     if (!HasVoiceCapability()) {
1086         return;
1087     }
1088     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1089     if (helper == nullptr) {
1090         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1091         return;
1092     }
1093     int ret = GlobalEccInsert(helper);
1094     helper = nullptr;
1095     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1096 }
1097 
1098 /**
1099  * @tc.number   GlobalEccUpdate_002
1100  * @tc.name     update ecc data
1101  * @tc.desc     Function test
1102  */
1103 HWTEST_F(DataStorageGtest, GlobalEccUpdate_002, Function | MediumTest | Level2)
1104 {
1105     if (!HasVoiceCapability()) {
1106         return;
1107     }
1108     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1109     if (helper == nullptr) {
1110         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1111         return;
1112     }
1113     int ret = GlobalEccUpdate(helper);
1114     helper = nullptr;
1115     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1116 }
1117 
1118 /**
1119  * @tc.number   GlobalEccSelect_003
1120  * @tc.name     select ecc data
1121  * @tc.desc     Function test
1122  */
1123 HWTEST_F(DataStorageGtest, GlobalEccSelect_003, Function | MediumTest | Level1)
1124 {
1125     if (!HasVoiceCapability()) {
1126         return;
1127     }
1128     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1129     if (helper == nullptr) {
1130         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1131         return;
1132     }
1133     int ret = GlobalEccSelect(helper);
1134     helper = nullptr;
1135     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1136 }
1137 
1138 /**
1139  * @tc.number   GlobalEccDelete_004
1140  * @tc.name     delete ecc data
1141  * @tc.desc     Function test
1142  */
1143 HWTEST_F(DataStorageGtest, GlobalEccDelete_004, Function | MediumTest | Level1)
1144 {
1145     if (!HasVoiceCapability()) {
1146         return;
1147     }
1148     std::shared_ptr<DataShare::DataShareHelper> helper = CreateGlobalParamsHelper();
1149     if (helper == nullptr) {
1150         DATA_STORAGE_LOGE("CreateDataShareHelper occur error");
1151         return;
1152     }
1153     int ret = GlobalEccDelete(helper);
1154     helper = nullptr;
1155     EXPECT_GE(ret, DATA_STORAGE_ERROR);
1156 }
1157 #else // TEL_TEST_UNSUPPORT
1158 /**
1159  * @tc.number   TelMockTest_001
1160  * @tc.name     Test for unsupport platform
1161  * @tc.desc     Function test
1162  */
1163 HWTEST_F(DataStorageGtest, TelMockTest_001, Function | MediumTest | Level1)
1164 {
1165     EXPECT_TRUE(true);
1166 }
1167 #endif // TEL_TEST_UNSUPPORT
1168 } // namespace Telephony
1169 } // namespace OHOS
1170