1115cd2caSopenharmony_ci/* 2115cd2caSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3115cd2caSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4115cd2caSopenharmony_ci * you may not use this file except in compliance with the License. 5115cd2caSopenharmony_ci * You may obtain a copy of the License at 6115cd2caSopenharmony_ci * 7115cd2caSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8115cd2caSopenharmony_ci * 9115cd2caSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10115cd2caSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11115cd2caSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12115cd2caSopenharmony_ci * See the License for the specific language governing permissions and 13115cd2caSopenharmony_ci * limitations under the License. 14115cd2caSopenharmony_ci */ 15115cd2caSopenharmony_ci 16115cd2caSopenharmony_ci#include "voicemailability_test.h" 17115cd2caSopenharmony_ci 18115cd2caSopenharmony_ci#include "data_ability_operation_builder.h" 19115cd2caSopenharmony_ci#include "random_number_utils.h" 20115cd2caSopenharmony_ci 21115cd2caSopenharmony_ciusing namespace OHOS::Contacts; 22115cd2caSopenharmony_ci 23115cd2caSopenharmony_cinamespace Contacts { 24115cd2caSopenharmony_cinamespace Test { 25115cd2caSopenharmony_ciVoicemailAbilityTest::VoicemailAbilityTest() 26115cd2caSopenharmony_ci{ 27115cd2caSopenharmony_ci} 28115cd2caSopenharmony_ci 29115cd2caSopenharmony_ciVoicemailAbilityTest::~VoicemailAbilityTest() 30115cd2caSopenharmony_ci{ 31115cd2caSopenharmony_ci} 32115cd2caSopenharmony_ci 33115cd2caSopenharmony_ciint64_t VoicemailAbilityTest::VoicemailStatusInsert(std::string phoneNumber, int status) 34115cd2caSopenharmony_ci{ 35115cd2caSopenharmony_ci OHOS::Uri uriVoicemail(VoicemailUri::VOICEMAIL); 36115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 37115cd2caSopenharmony_ci voicemailValues.Put("phone_number", phoneNumber); 38115cd2caSopenharmony_ci voicemailValues.Put("voice_status", status); 39115cd2caSopenharmony_ci int64_t code = voicemailAbility.Insert(uriVoicemail, voicemailValues); 40115cd2caSopenharmony_ci return code; 41115cd2caSopenharmony_ci} 42115cd2caSopenharmony_ci 43115cd2caSopenharmony_ciint VoicemailAbilityTest::VoicemailUpdate( 44115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues, OHOS::DataShare::DataSharePredicates predicates) 45115cd2caSopenharmony_ci{ 46115cd2caSopenharmony_ci OHOS::Uri uriVoicemail(VoicemailUri::VOICEMAIL); 47115cd2caSopenharmony_ci int code = voicemailAbility.Update(uriVoicemail, predicates, updateValues); 48115cd2caSopenharmony_ci return code; 49115cd2caSopenharmony_ci} 50115cd2caSopenharmony_ci 51115cd2caSopenharmony_ciint VoicemailAbilityTest::VoicemailDelete(OHOS::DataShare::DataSharePredicates predicates) 52115cd2caSopenharmony_ci{ 53115cd2caSopenharmony_ci OHOS::Uri uriVoicemail(VoicemailUri::VOICEMAIL); 54115cd2caSopenharmony_ci int code = voicemailAbility.Delete(uriVoicemail, predicates); 55115cd2caSopenharmony_ci return code; 56115cd2caSopenharmony_ci} 57115cd2caSopenharmony_ci 58115cd2caSopenharmony_cistd::shared_ptr<OHOS::DataShare::DataShareResultSet> VoicemailAbilityTest::VoicemailQuery( 59115cd2caSopenharmony_ci std::vector<std::string> columns, OHOS::DataShare::DataSharePredicates predicates) 60115cd2caSopenharmony_ci{ 61115cd2caSopenharmony_ci OHOS::Uri uriVoicemail(VoicemailUri::VOICEMAIL); 62115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = 63115cd2caSopenharmony_ci voicemailAbility.Query(uriVoicemail, predicates, columns); 64115cd2caSopenharmony_ci return resultSet; 65115cd2caSopenharmony_ci} 66115cd2caSopenharmony_ci 67115cd2caSopenharmony_civoid VoicemailAbilityTest::CheckResultSetBatch(OHOS::DataShare::DataSharePredicates predicates, 68115cd2caSopenharmony_ci std::vector<std::string> &columns, OHOS::DataShare::DataShareValuesBucket values, std::string testName) 69115cd2caSopenharmony_ci{ 70115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 71115cd2caSopenharmony_ci int rowCount = 0; 72115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 73115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 74115cd2caSopenharmony_ci CheckResultSet(values, resultSet, testName); 75115cd2caSopenharmony_ci} 76115cd2caSopenharmony_ci 77115cd2caSopenharmony_ciint VoicemailAbilityTest::VoicemailInsertValues(OHOS::DataShare::DataShareValuesBucket &values) 78115cd2caSopenharmony_ci{ 79115cd2caSopenharmony_ci OHOS::Uri uriVoicemail(VoicemailUri::VOICEMAIL); 80115cd2caSopenharmony_ci int64_t code = voicemailAbility.Insert(uriVoicemail, values); 81115cd2caSopenharmony_ci int result = code; 82115cd2caSopenharmony_ci return result; 83115cd2caSopenharmony_ci} 84115cd2caSopenharmony_ci 85115cd2caSopenharmony_ciint64_t VoicemailAbilityTest::VoicemailInsertValue(std::string displayName, 86115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket &values) 87115cd2caSopenharmony_ci{ 88115cd2caSopenharmony_ci OHOS::Uri uriVoicemail(VoicemailUri::VOICEMAIL); 89115cd2caSopenharmony_ci values.Put("display_name", displayName); 90115cd2caSopenharmony_ci int64_t code = voicemailAbility.Insert(uriVoicemail, values); 91115cd2caSopenharmony_ci return code; 92115cd2caSopenharmony_ci} 93115cd2caSopenharmony_ci 94115cd2caSopenharmony_ciOHOS::DataShare::DataShareValuesBucket VoicemailAbilityTest::GetVoiceMailValues( 95115cd2caSopenharmony_ci int columnsStart, int columnsEnd, std::vector<std::string> &columns) 96115cd2caSopenharmony_ci{ 97115cd2caSopenharmony_ci std::string voiceMailTestStringValue = std::to_string(ContactsRand()); 98115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesBucket; 99115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 100115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(8); 101115cd2caSopenharmony_ci valuesBucket.Put("phone_number", phoneNumber + voiceMailTestStringValue); 102115cd2caSopenharmony_ci valuesBucket.Put("quicksearch_key", "dfquicksearch_key" + voiceMailTestStringValue); 103115cd2caSopenharmony_ci valuesBucket.Put("display_name", "dfName" + voiceMailTestStringValue); 104115cd2caSopenharmony_ci valuesBucket.Put("voicemail_uri", "dfUri::voicemail_uri" + voiceMailTestStringValue); 105115cd2caSopenharmony_ci valuesBucket.Put("voicemail_type", ContactsRand()); 106115cd2caSopenharmony_ci valuesBucket.Put("voice_file_size", ContactsRand()); 107115cd2caSopenharmony_ci valuesBucket.Put("voice_duration", ContactsRand()); 108115cd2caSopenharmony_ci valuesBucket.Put("voice_status", ContactsRand()); 109115cd2caSopenharmony_ci valuesBucket.Put("origin_type", "origin_type" + voiceMailTestStringValue); 110115cd2caSopenharmony_ci valuesBucket.Put("create_time", ContactsRand()); 111115cd2caSopenharmony_ci std::vector<std::string> columnsTemp; 112115cd2caSopenharmony_ci GetVoiceMailValuesColumn(columnsTemp); 113115cd2caSopenharmony_ci int allSize = columnsTemp.size(); 114115cd2caSopenharmony_ci for (int i = 0; i < allSize; i++) { 115115cd2caSopenharmony_ci if (i >= columnsStart && i < columnsEnd) { 116115cd2caSopenharmony_ci columns.push_back(columnsTemp[i]); 117115cd2caSopenharmony_ci } else { 118115cd2caSopenharmony_ci valuesBucket.Put(columnsTemp[i], ""); 119115cd2caSopenharmony_ci } 120115cd2caSopenharmony_ci } 121115cd2caSopenharmony_ci return valuesBucket; 122115cd2caSopenharmony_ci} 123115cd2caSopenharmony_ci 124115cd2caSopenharmony_civoid VoicemailAbilityTest::GetVoiceMailValuesColumn(std::vector<std::string> &columns) 125115cd2caSopenharmony_ci{ 126115cd2caSopenharmony_ci columns.push_back("phone_number"); 127115cd2caSopenharmony_ci columns.push_back("quicksearch_key"); 128115cd2caSopenharmony_ci columns.push_back("display_name"); 129115cd2caSopenharmony_ci columns.push_back("voicemail_uri"); 130115cd2caSopenharmony_ci columns.push_back("voicemail_type"); 131115cd2caSopenharmony_ci columns.push_back("voice_file_size"); 132115cd2caSopenharmony_ci columns.push_back("voice_duration"); 133115cd2caSopenharmony_ci columns.push_back("voice_status"); 134115cd2caSopenharmony_ci columns.push_back("origin_type"); 135115cd2caSopenharmony_ci columns.push_back("create_time"); 136115cd2caSopenharmony_ci} 137115cd2caSopenharmony_ci 138115cd2caSopenharmony_civoid VoicemailAbilityTest::ClearVoicemail() 139115cd2caSopenharmony_ci{ 140115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 141115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 142115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates); 143115cd2caSopenharmony_ci EXPECT_EQ(0, deleteCode); 144115cd2caSopenharmony_ci} 145115cd2caSopenharmony_ci 146115cd2caSopenharmony_ci/* 147115cd2caSopenharmony_ci * @tc.number voicemail_Insert_test_100 148115cd2caSopenharmony_ci * @tc.name Add a voice mailbox with status 1 and verify that the insertion was successful 149115cd2caSopenharmony_ci * @tc.desc Added ability to voice mailbox status 150115cd2caSopenharmony_ci * @tc.level Level1 151115cd2caSopenharmony_ci * @tc.size MediumTest 152115cd2caSopenharmony_ci * @tc.type Function 153115cd2caSopenharmony_ci */ 154115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Insert_test_100, testing::ext::TestSize.Level1) 155115cd2caSopenharmony_ci{ 156115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Insert_test_100 is starting! ---"); 157115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 158115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 159115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(6); 160115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 161115cd2caSopenharmony_ci values.Put("voice_status", 1); 162115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 163115cd2caSopenharmony_ci HILOG_INFO("voicemail_Insert_test_100 : voicemailId = %{public}d", voicemailId); 164115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 165115cd2caSopenharmony_ci 166115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 167115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 168115cd2caSopenharmony_ci std::vector<std::string> columns; 169115cd2caSopenharmony_ci columns.push_back("phone_number"); 170115cd2caSopenharmony_ci columns.push_back("voice_status"); 171115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 172115cd2caSopenharmony_ci int rowCount = 0; 173115cd2caSopenharmony_ci result->GetRowCount(rowCount); 174115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 175115cd2caSopenharmony_ci CheckResultSet(values, result, "voicemail_Insert_test_100"); 176115cd2caSopenharmony_ci ClearVoicemail(); 177115cd2caSopenharmony_ci} 178115cd2caSopenharmony_ci 179115cd2caSopenharmony_ci/* 180115cd2caSopenharmony_ci * @tc.number voicemail_Insert_test_200 181115cd2caSopenharmony_ci * @tc.name Add a single piece of voicemail data and verify whether the insertion is successful 182115cd2caSopenharmony_ci * @tc.desc New capabilities for voicemail data 183115cd2caSopenharmony_ci * @tc.level Level1 184115cd2caSopenharmony_ci * @tc.size MediumTest 185115cd2caSopenharmony_ci * @tc.type Function 186115cd2caSopenharmony_ci */ 187115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Insert_test_200, testing::ext::TestSize.Level1) 188115cd2caSopenharmony_ci{ 189115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Insert_test_200 is staring! ---"); 190115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 191115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 192115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(6); 193115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 194115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 195115cd2caSopenharmony_ci HILOG_INFO("voicemail_Insert_test_200 : voicemailId = %{public}d", voicemailId); 196115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 197115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 198115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 199115cd2caSopenharmony_ci std::vector<std::string> columns; 200115cd2caSopenharmony_ci columns.push_back("phone_number"); 201115cd2caSopenharmony_ci columns.push_back("id"); 202115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 203115cd2caSopenharmony_ci int rowCount = 0; 204115cd2caSopenharmony_ci result->GetRowCount(rowCount); 205115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 206115cd2caSopenharmony_ci CheckResultSet(values, result, "voicemail_Insert_test_200"); 207115cd2caSopenharmony_ci ClearVoicemail(); 208115cd2caSopenharmony_ci} 209115cd2caSopenharmony_ci 210115cd2caSopenharmony_ci/* 211115cd2caSopenharmony_ci * @tc.number voicemail_Insert_test_300 212115cd2caSopenharmony_ci * @tc.name Add a full field data to voicemail and verify that the insertion was successful 213115cd2caSopenharmony_ci * @tc.desc Added ability to call record 214115cd2caSopenharmony_ci * @tc.level Level1 215115cd2caSopenharmony_ci * @tc.size MediumTest 216115cd2caSopenharmony_ci * @tc.type Function 217115cd2caSopenharmony_ci */ 218115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Insert_test_300, testing::ext::TestSize.Level1) 219115cd2caSopenharmony_ci{ 220115cd2caSopenharmony_ci HILOG_INFO("-----voicemail_Insert_test_300 is starting!-----"); 221115cd2caSopenharmony_ci std::vector<std::string> columns; 222115cd2caSopenharmony_ci GetVoiceMailValuesColumn(columns); 223115cd2caSopenharmony_ci int columnsSize = 10; 224115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesBucket = GetVoiceMailValues(0, columnsSize, columns); 225115cd2caSopenharmony_ci int rawId = VoicemailInsertValues(valuesBucket); 226115cd2caSopenharmony_ci EXPECT_GT(rawId, 0); 227115cd2caSopenharmony_ci 228115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 229115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(rawId)); 230115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 231115cd2caSopenharmony_ci // resultSet count 1 232115cd2caSopenharmony_ci int rowCount = 0; 233115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 234115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 235115cd2caSopenharmony_ci 236115cd2caSopenharmony_ci CheckResultSet(valuesBucket, resultSet, "voicemail_Insert_test_300"); 237115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 238115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(rawId)); 239115cd2caSopenharmony_ci // test end delete data 240115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates2); 241115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 242115cd2caSopenharmony_ci ClearVoicemail(); 243115cd2caSopenharmony_ci} 244115cd2caSopenharmony_ci 245115cd2caSopenharmony_ci/* 246115cd2caSopenharmony_ci * @tc.number voicemail_Update_test_400 247115cd2caSopenharmony_ci * @tc.name Delete the voicemail status and verify that the deletion was successful 248115cd2caSopenharmony_ci * @tc.desc Voicemail status deletion capability 249115cd2caSopenharmony_ci * @tc.level Level1 250115cd2caSopenharmony_ci * @tc.size MediumTest 251115cd2caSopenharmony_ci * @tc.type Function 252115cd2caSopenharmony_ci */ 253115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Update_test_400, testing::ext::TestSize.Level1) 254115cd2caSopenharmony_ci{ 255115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Update_test_400 is starting! ---"); 256115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 257115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 258115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(4); 259115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 260115cd2caSopenharmony_ci values.Put("voice_status", 1); 261115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 262115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 263115cd2caSopenharmony_ci 264115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 265115cd2caSopenharmony_ci updateValues.Put("voice_status", 0); 266115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 267115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 268115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 269115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 270115cd2caSopenharmony_ci 271115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 272115cd2caSopenharmony_ci predicates2.EqualTo("voice_status", "0"); 273115cd2caSopenharmony_ci predicates2.And(); 274115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailId)); 275115cd2caSopenharmony_ci std::vector<std::string> columns; 276115cd2caSopenharmony_ci columns.push_back("voice_status"); 277115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 278115cd2caSopenharmony_ci int rowCount = 0; 279115cd2caSopenharmony_ci result->GetRowCount(rowCount); 280115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 281115cd2caSopenharmony_ci CheckResultSet(updateValues, result, "voicemail_Update_test_400"); 282115cd2caSopenharmony_ci ClearVoicemail(); 283115cd2caSopenharmony_ci} 284115cd2caSopenharmony_ci 285115cd2caSopenharmony_ci/* 286115cd2caSopenharmony_ci * @tc.number voicemail_Delete_test_500 287115cd2caSopenharmony_ci * @tc.name Delete a single voice mailbox data and verify whether the deletion is successful 288115cd2caSopenharmony_ci * @tc.desc Voicemail data deletion capability 289115cd2caSopenharmony_ci * @tc.level Level1 290115cd2caSopenharmony_ci * @tc.size MediumTest 291115cd2caSopenharmony_ci * @tc.type Function 292115cd2caSopenharmony_ci */ 293115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Delete_test_500, testing::ext::TestSize.Level1) 294115cd2caSopenharmony_ci{ 295115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Delete_test_500 is starting! ---"); 296115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 297115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 298115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(6); 299115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 300115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 301115cd2caSopenharmony_ci HILOG_INFO("voicemail_Delete_test_500 : voicemailId = %{public}d", voicemailId); 302115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 303115cd2caSopenharmony_ci 304115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 305115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 306115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates); 307115cd2caSopenharmony_ci HILOG_INFO("voicemail_Delete_test_500: deleteCode = %{public}d", deleteCode); 308115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 309115cd2caSopenharmony_ci 310115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 311115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailId)); 312115cd2caSopenharmony_ci std::vector<std::string> columns; 313115cd2caSopenharmony_ci columns.push_back("phone_number"); 314115cd2caSopenharmony_ci columns.push_back("id"); 315115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 316115cd2caSopenharmony_ci int rowCount = 0; 317115cd2caSopenharmony_ci result->GetRowCount(rowCount); 318115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 319115cd2caSopenharmony_ci result->Close(); 320115cd2caSopenharmony_ci ClearVoicemail(); 321115cd2caSopenharmony_ci} 322115cd2caSopenharmony_ci 323115cd2caSopenharmony_ci/* 324115cd2caSopenharmony_ci * @tc.number voicemail_Delete_test_600 325115cd2caSopenharmony_ci * @tc.name Insert 3 pieces of voicemail data first, then delete 2 of them, and verify whether the deletion is 326115cd2caSopenharmony_ci * successful 327115cd2caSopenharmony_ci * @tc.desc Voicemail data deletion capability 328115cd2caSopenharmony_ci * @tc.level Level1 329115cd2caSopenharmony_ci * @tc.size MediumTest 330115cd2caSopenharmony_ci * @tc.type Function 331115cd2caSopenharmony_ci */ 332115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Delete_test_600, testing::ext::TestSize.Level1) 333115cd2caSopenharmony_ci{ 334115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Delete_test_600 is staring! ---"); 335115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesOne; 336115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 337115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(7); 338115cd2caSopenharmony_ci valuesOne.Put("phone_number", phoneNumber); 339115cd2caSopenharmony_ci int voicemailIdOne = VoicemailInsertValues(valuesOne); 340115cd2caSopenharmony_ci HILOG_INFO("voicemail_Delete_test_600 : voicemailIdOne = %{public}d", voicemailIdOne); 341115cd2caSopenharmony_ci EXPECT_GT(voicemailIdOne, 0); 342115cd2caSopenharmony_ci 343115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesTwo; 344115cd2caSopenharmony_ci valuesTwo.Put("phone_number", phoneNumber); 345115cd2caSopenharmony_ci int voicemailIdTwo = VoicemailInsertValues(valuesTwo); 346115cd2caSopenharmony_ci HILOG_INFO("voicemail_Delete_test_600 : voicemailIdTwo = %{public}d", voicemailIdTwo); 347115cd2caSopenharmony_ci EXPECT_GT(voicemailIdTwo, 0); 348115cd2caSopenharmony_ci 349115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesThree; 350115cd2caSopenharmony_ci valuesThree.Put("phone_number", phoneNumber); 351115cd2caSopenharmony_ci int voicemailIdThree = VoicemailInsertValues(valuesThree); 352115cd2caSopenharmony_ci HILOG_INFO("voicemail_Delete_test_600 : voicemailIdThree = %{public}d", voicemailIdThree); 353115cd2caSopenharmony_ci EXPECT_GT(voicemailIdThree, 0); 354115cd2caSopenharmony_ci 355115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 356115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailIdOne)); 357115cd2caSopenharmony_ci predicates.Or(); 358115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailIdThree)); 359115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates); 360115cd2caSopenharmony_ci HILOG_INFO("voicemail_Delete_test_600: deleteCode = %{public}d", deleteCode); 361115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 362115cd2caSopenharmony_ci 363115cd2caSopenharmony_ci std::vector<std::string> columns; 364115cd2caSopenharmony_ci columns.push_back("phone_number"); 365115cd2caSopenharmony_ci columns.push_back("id"); 366115cd2caSopenharmony_ci valuesTwo.Put("id", voicemailIdTwo); 367115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 368115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailIdOne)); 369115cd2caSopenharmony_ci predicates2.Or(); 370115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailIdTwo)); 371115cd2caSopenharmony_ci predicates2.Or(); 372115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailIdThree)); 373115cd2caSopenharmony_ci predicates2.OrderByAsc("id"); 374115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 375115cd2caSopenharmony_ci int rowCount = 0; 376115cd2caSopenharmony_ci result->GetRowCount(rowCount); 377115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 378115cd2caSopenharmony_ci CheckResultSet(valuesTwo, result, "voicemail_Delete_test_600"); 379115cd2caSopenharmony_ci ClearVoicemail(); 380115cd2caSopenharmony_ci} 381115cd2caSopenharmony_ci 382115cd2caSopenharmony_ci/* 383115cd2caSopenharmony_ci * @tc.number voicemail_Delete_test_700 384115cd2caSopenharmony_ci * @tc.name Delete all fields of single voice mailbox data, and verify whether the deletion is successful 385115cd2caSopenharmony_ci * @tc.desc Call log deletion capability 386115cd2caSopenharmony_ci * @tc.level Level1 387115cd2caSopenharmony_ci * @tc.size MediumTest 388115cd2caSopenharmony_ci * @tc.type Function 389115cd2caSopenharmony_ci */ 390115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Delete_test_700, testing::ext::TestSize.Level1) 391115cd2caSopenharmony_ci{ 392115cd2caSopenharmony_ci HILOG_INFO("-----voicemail_Delete_test_700 is starting!-----"); 393115cd2caSopenharmony_ci // insert 394115cd2caSopenharmony_ci std::vector<std::string> columns; 395115cd2caSopenharmony_ci GetVoiceMailValuesColumn(columns); 396115cd2caSopenharmony_ci int columnsSize = 10; 397115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesBucket = GetVoiceMailValues(0, columnsSize, columns); 398115cd2caSopenharmony_ci int rawId = VoicemailInsertValues(valuesBucket); 399115cd2caSopenharmony_ci EXPECT_GT(rawId, 0); 400115cd2caSopenharmony_ci 401115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 402115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(rawId)); 403115cd2caSopenharmony_ci // test end delete data 404115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates); 405115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 406115cd2caSopenharmony_ci 407115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSetDeleteQuery = VoicemailQuery(columns, predicates); 408115cd2caSopenharmony_ci // resultSet count 0 409115cd2caSopenharmony_ci int rowCount = 0; 410115cd2caSopenharmony_ci resultSetDeleteQuery->GetRowCount(rowCount); 411115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 412115cd2caSopenharmony_ci resultSetDeleteQuery->Close(); 413115cd2caSopenharmony_ci HILOG_INFO("-----voicemail_Delete_test_700 is edn!-----"); 414115cd2caSopenharmony_ci ClearVoicemail(); 415115cd2caSopenharmony_ci} 416115cd2caSopenharmony_ci 417115cd2caSopenharmony_ci/* 418115cd2caSopenharmony_ci * @tc.number voicemail_Delete_test_800 419115cd2caSopenharmony_ci * @tc.name Delete voice mailbox data in batch and verify whether the deletion is successful 420115cd2caSopenharmony_ci * @tc.desc delete ability to call records in batches 421115cd2caSopenharmony_ci * @tc.level Level1 422115cd2caSopenharmony_ci * @tc.size MediumTest 423115cd2caSopenharmony_ci * @tc.type Function 424115cd2caSopenharmony_ci */ 425115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Delete_test_800, testing::ext::TestSize.Level1) 426115cd2caSopenharmony_ci{ 427115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Delete_test_800 is starting!---"); 428115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 429115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 430115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(6); 431115cd2caSopenharmony_ci voicemailValues.Put("phone_number", phoneNumber); 432115cd2caSopenharmony_ci int voicemailIdOne = VoicemailInsertValues(voicemailValues); 433115cd2caSopenharmony_ci EXPECT_GT(voicemailIdOne, 0); 434115cd2caSopenharmony_ci voicemailValues.Put("phone_number", phoneNumber); 435115cd2caSopenharmony_ci int voicemailIdTwo = VoicemailInsertValues(voicemailValues); 436115cd2caSopenharmony_ci EXPECT_GT(voicemailIdTwo, 0); 437115cd2caSopenharmony_ci 438115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 439115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 440115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataSharePredicates> executePredicates = 441115cd2caSopenharmony_ci std::make_shared<OHOS::DataShare::DataSharePredicates>(predicates); 442115cd2caSopenharmony_ci std::shared_ptr<Uri> uri = std::make_shared<Uri>(VoicemailUri::VOICEMAIL); 443115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareOperation> operation = 444115cd2caSopenharmony_ci OHOS::DataShare::DataShareOperation::NewDeleteBuilder(uri) 445115cd2caSopenharmony_ci ->WithPredicatesBackReference(0, 0) 446115cd2caSopenharmony_ci ->WithPredicates(executePredicates) 447115cd2caSopenharmony_ci ->WithInterruptionAllowed(true) 448115cd2caSopenharmony_ci ->Build(); 449115cd2caSopenharmony_ci std::vector<std::shared_ptr<OHOS::DataShare::DataShareOperation>> executeBatchOperations; 450115cd2caSopenharmony_ci executeBatchOperations.push_back(operation); 451115cd2caSopenharmony_ci InitAbility(); 452115cd2caSopenharmony_ci std::vector<std::shared_ptr<OHOS::DataShare::DataShareResult>> dataShareResult = 453115cd2caSopenharmony_ci voicemailAbility.ExecuteBatch(executeBatchOperations); 454115cd2caSopenharmony_ci EXPECT_EQ(0, dataShareResult[0]->GetCount()); 455115cd2caSopenharmony_ci std::vector<std::string> columns; 456115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSetInsertQuery = VoicemailQuery(columns, predicates); 457115cd2caSopenharmony_ci int rowCount = 0; 458115cd2caSopenharmony_ci resultSetInsertQuery->GetRowCount(rowCount); 459115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 460115cd2caSopenharmony_ci ClearVoicemail(); 461115cd2caSopenharmony_ci} 462115cd2caSopenharmony_ci 463115cd2caSopenharmony_ci/* 464115cd2caSopenharmony_ci * @tc.number voicemail_Update_test_900 465115cd2caSopenharmony_ci * @tc.name Update the voice mailbox status and verify whether the update is successful (voice_status changes from 0 466115cd2caSopenharmony_ci * to 1) 467115cd2caSopenharmony_ci * @tc.desc Voicemail status update capability 468115cd2caSopenharmony_ci * @tc.level Level1 469115cd2caSopenharmony_ci * @tc.size MediumTest 470115cd2caSopenharmony_ci * @tc.type Function 471115cd2caSopenharmony_ci */ 472115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Update_test_900, testing::ext::TestSize.Level1) 473115cd2caSopenharmony_ci{ 474115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Update_test_900 is starting! ---"); 475115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 476115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 477115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(9); 478115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 479115cd2caSopenharmony_ci values.Put("voice_status", 0); 480115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 481115cd2caSopenharmony_ci HILOG_INFO("voicemail_Update_test_900 : voicemailId = %{public}d", voicemailId); 482115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 483115cd2caSopenharmony_ci 484115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 485115cd2caSopenharmony_ci updateValues.Put("voice_status", 1); 486115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 487115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 488115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 489115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 490115cd2caSopenharmony_ci 491115cd2caSopenharmony_ci updateValues.Put("phone_number", phoneNumber); 492115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 493115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailId)); 494115cd2caSopenharmony_ci std::vector<std::string> columns; 495115cd2caSopenharmony_ci columns.push_back("phone_number"); 496115cd2caSopenharmony_ci columns.push_back("voice_status"); 497115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 498115cd2caSopenharmony_ci int rowCount = 0; 499115cd2caSopenharmony_ci result->GetRowCount(rowCount); 500115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 501115cd2caSopenharmony_ci CheckResultSet(updateValues, result, "voicemail_Update_test_900"); 502115cd2caSopenharmony_ci ClearVoicemail(); 503115cd2caSopenharmony_ci} 504115cd2caSopenharmony_ci 505115cd2caSopenharmony_ci/* 506115cd2caSopenharmony_ci * @tc.number voicemail_Update_test_1000 507115cd2caSopenharmony_ci * @tc.name FUpdate single voicemail data and verify whether the update is successful 508115cd2caSopenharmony_ci * @tc.desc Voicemail data update capability 509115cd2caSopenharmony_ci * @tc.level Level1 510115cd2caSopenharmony_ci * @tc.size MediumTest 511115cd2caSopenharmony_ci * @tc.type Function 512115cd2caSopenharmony_ci */ 513115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Update_test_1000, testing::ext::TestSize.Level1) 514115cd2caSopenharmony_ci{ 515115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Update_test_1000 is staring! ---"); 516115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 517115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 518115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(5); 519115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 520115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 521115cd2caSopenharmony_ci HILOG_INFO("voicemail_Update_test_1000 : voicemailId = %{public}d", voicemailId); 522115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 523115cd2caSopenharmony_ci 524115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 525115cd2caSopenharmony_ci std::string phoneNumber_test = randomNumberUtils.Generating(11); 526115cd2caSopenharmony_ci updateValues.Put("phone_number", std::string(phoneNumber_test)); 527115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 528115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 529115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 530115cd2caSopenharmony_ci HILOG_INFO("voicemail_Update_test_1000: updateCode = %{public}d", updateCode); 531115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 532115cd2caSopenharmony_ci 533115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 534115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailId)); 535115cd2caSopenharmony_ci std::vector<std::string> columns; 536115cd2caSopenharmony_ci columns.push_back("phone_number"); 537115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 538115cd2caSopenharmony_ci int rowCount = 0; 539115cd2caSopenharmony_ci result->GetRowCount(rowCount); 540115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 541115cd2caSopenharmony_ci CheckResultSet(updateValues, result, "voicemail_Update_test_1000"); 542115cd2caSopenharmony_ci ClearVoicemail(); 543115cd2caSopenharmony_ci} 544115cd2caSopenharmony_ci 545115cd2caSopenharmony_ci/* 546115cd2caSopenharmony_ci * @tc.number voicemail_Update_test_1100 547115cd2caSopenharmony_ci * @tc.name Insert 3 pieces of voicemail data, modify 2 of them, and verify whether the modification is successful 548115cd2caSopenharmony_ci * @tc.desc Voicemail data update capability 549115cd2caSopenharmony_ci * @tc.level Level1 550115cd2caSopenharmony_ci * @tc.size MediumTest 551115cd2caSopenharmony_ci * @tc.type Function 552115cd2caSopenharmony_ci */ 553115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Update_test_1100, testing::ext::TestSize.Level1) 554115cd2caSopenharmony_ci{ 555115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Update_test_1100 is staring! ---"); 556115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesOne; 557115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 558115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(9); 559115cd2caSopenharmony_ci valuesOne.Put("phone_number", phoneNumber); 560115cd2caSopenharmony_ci int voicemailIdOne = VoicemailInsertValues(valuesOne); 561115cd2caSopenharmony_ci EXPECT_GT(voicemailIdOne, 0); 562115cd2caSopenharmony_ci 563115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesTwo; 564115cd2caSopenharmony_ci valuesTwo.Put("phone_number", phoneNumber); 565115cd2caSopenharmony_ci int voicemailIdTwo = VoicemailInsertValues(valuesTwo); 566115cd2caSopenharmony_ci EXPECT_GT(voicemailIdTwo, 0); 567115cd2caSopenharmony_ci 568115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesThree; 569115cd2caSopenharmony_ci valuesThree.Put("phone_number", phoneNumber); 570115cd2caSopenharmony_ci int voicemailIdThree = VoicemailInsertValues(valuesThree); 571115cd2caSopenharmony_ci EXPECT_GT(voicemailIdThree, 0); 572115cd2caSopenharmony_ci 573115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 574115cd2caSopenharmony_ci std::string phoneNumber_test = randomNumberUtils.Generating(8); 575115cd2caSopenharmony_ci updateValues.Put("phone_number", std::string(phoneNumber_test)); 576115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 577115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailIdOne)); 578115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 579115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 580115cd2caSopenharmony_ci 581115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValuesTwo; 582115cd2caSopenharmony_ci std::string phoneNumber_test_name = randomNumberUtils.Generating(7); 583115cd2caSopenharmony_ci updateValuesTwo.Put("phone_number", std::string(phoneNumber_test_name)); 584115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 585115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailIdTwo)); 586115cd2caSopenharmony_ci updateCode = VoicemailUpdate(updateValuesTwo, predicates2); 587115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 588115cd2caSopenharmony_ci 589115cd2caSopenharmony_ci std::vector<std::string> columns; 590115cd2caSopenharmony_ci columns.push_back("phone_number"); 591115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates3; 592115cd2caSopenharmony_ci predicates3.EqualTo("id", std::to_string(voicemailIdOne)); 593115cd2caSopenharmony_ci predicates3.Or(); 594115cd2caSopenharmony_ci predicates3.EqualTo("id", std::to_string(voicemailIdTwo)); 595115cd2caSopenharmony_ci predicates3.OrderByAsc("id"); 596115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates3); 597115cd2caSopenharmony_ci int rowCount = 0; 598115cd2caSopenharmony_ci result->GetRowCount(rowCount); 599115cd2caSopenharmony_ci EXPECT_EQ(2, rowCount); 600115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> valuesVector; 601115cd2caSopenharmony_ci valuesVector.push_back(updateValues); 602115cd2caSopenharmony_ci valuesVector.push_back(updateValuesTwo); 603115cd2caSopenharmony_ci CheckResultSetList(valuesVector, result, "voicemail_Update_test_1100"); 604115cd2caSopenharmony_ci ClearVoicemail(); 605115cd2caSopenharmony_ci} 606115cd2caSopenharmony_ci 607115cd2caSopenharmony_ci/* 608115cd2caSopenharmony_ci * @tc.number voicemail_Update_test_1200 609115cd2caSopenharmony_ci * @tc.name Update the full field data of voice mailbox and verify whether the update is successful 610115cd2caSopenharmony_ci * @tc.desc Support all call log update capability 611115cd2caSopenharmony_ci * @tc.level Level1 612115cd2caSopenharmony_ci * @tc.size MediumTest 613115cd2caSopenharmony_ci * @tc.type Function 614115cd2caSopenharmony_ci */ 615115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Update_test_1200, testing::ext::TestSize.Level1) 616115cd2caSopenharmony_ci{ 617115cd2caSopenharmony_ci HILOG_INFO("-----voicemail_Update_test_1200 is starting!-----"); 618115cd2caSopenharmony_ci std::vector<std::string> columns; 619115cd2caSopenharmony_ci GetVoiceMailValuesColumn(columns); 620115cd2caSopenharmony_ci int columnsSize = 10; 621115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesBucket = GetVoiceMailValues(0, columnsSize, columns); 622115cd2caSopenharmony_ci int rawId = VoicemailInsertValues(valuesBucket); 623115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 624115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(rawId)); 625115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket upDateValuesBucket = GetVoiceMailValues(0, columnsSize, columns); 626115cd2caSopenharmony_ci int upDateCode = VoicemailUpdate(upDateValuesBucket, predicates); 627115cd2caSopenharmony_ci EXPECT_EQ(upDateCode, 0); 628115cd2caSopenharmony_ci 629115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 630115cd2caSopenharmony_ci // resultSet count 1 631115cd2caSopenharmony_ci int rowCount = 0; 632115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 633115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 634115cd2caSopenharmony_ci 635115cd2caSopenharmony_ci CheckResultSet(upDateValuesBucket, resultSet, "voicemail_Update_test_1200"); 636115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 637115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(rawId)); 638115cd2caSopenharmony_ci // test end delete data 639115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates2); 640115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 641115cd2caSopenharmony_ci HILOG_INFO("-----voicemail_Update_test_1200 is edn!-----"); 642115cd2caSopenharmony_ci ClearVoicemail(); 643115cd2caSopenharmony_ci} 644115cd2caSopenharmony_ci 645115cd2caSopenharmony_ci/* 646115cd2caSopenharmony_ci * @tc.number voicemail_Update_test_1300 647115cd2caSopenharmony_ci * @tc.name Batch update voice mailbox data and verify whether the update is successful 648115cd2caSopenharmony_ci * @tc.desc update ability to call records in batches 649115cd2caSopenharmony_ci * @tc.level Level1 650115cd2caSopenharmony_ci * @tc.size MediumTest 651115cd2caSopenharmony_ci * @tc.type Function 652115cd2caSopenharmony_ci */ 653115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Update_test_1300, testing::ext::TestSize.Level1) 654115cd2caSopenharmony_ci{ 655115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Update_test_1300 is starting!---"); 656115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 657115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 658115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(6); 659115cd2caSopenharmony_ci voicemailValues.Put("phone_number", phoneNumber); 660115cd2caSopenharmony_ci int voicemailIdOne = VoicemailInsertValues(voicemailValues); 661115cd2caSopenharmony_ci EXPECT_GT(voicemailIdOne, 0); 662115cd2caSopenharmony_ci voicemailValues.Put("phone_number", phoneNumber); 663115cd2caSopenharmony_ci int voicemailIdTwo = VoicemailInsertValues(voicemailValues); 664115cd2caSopenharmony_ci EXPECT_GT(voicemailIdTwo, 0); 665115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 666115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailIdOne)); 667115cd2caSopenharmony_ci predicates.Or(); 668115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailIdTwo)); 669115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareValuesBucket> values = 670115cd2caSopenharmony_ci std::make_shared<OHOS::DataShare::DataShareValuesBucket>(voicemailValues); 671115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataSharePredicates> executePredicates = 672115cd2caSopenharmony_ci std::make_shared<OHOS::DataShare::DataSharePredicates>(predicates); 673115cd2caSopenharmony_ci std::shared_ptr<Uri> uri = std::make_shared<Uri>(VoicemailUri::VOICEMAIL); 674115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareOperation> operation = 675115cd2caSopenharmony_ci OHOS::DataShare::DataShareOperation::NewUpdateBuilder(uri) 676115cd2caSopenharmony_ci ->WithValuesBucket(values) 677115cd2caSopenharmony_ci ->WithPredicatesBackReference(0, 0) 678115cd2caSopenharmony_ci ->WithPredicates(executePredicates) 679115cd2caSopenharmony_ci ->WithInterruptionAllowed(true) 680115cd2caSopenharmony_ci ->Build(); 681115cd2caSopenharmony_ci std::vector<std::shared_ptr<OHOS::DataShare::DataShareOperation>> executeBatchOperations; 682115cd2caSopenharmony_ci executeBatchOperations.push_back(operation); 683115cd2caSopenharmony_ci InitAbility(); 684115cd2caSopenharmony_ci std::vector<std::shared_ptr<OHOS::DataShare::DataShareResult>> dataShareResult = 685115cd2caSopenharmony_ci voicemailAbility.ExecuteBatch(executeBatchOperations); 686115cd2caSopenharmony_ci EXPECT_EQ(0, dataShareResult[0]->GetCount()); 687115cd2caSopenharmony_ci std::vector<std::string> columns; 688115cd2caSopenharmony_ci columns.push_back("phone_number"); 689115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSetInsertQuery = VoicemailQuery(columns, predicates); 690115cd2caSopenharmony_ci int rowCount = 0; 691115cd2caSopenharmony_ci resultSetInsertQuery->GetRowCount(rowCount); 692115cd2caSopenharmony_ci EXPECT_EQ(2, rowCount); 693115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> listValue; 694115cd2caSopenharmony_ci listValue.push_back(voicemailValues); 695115cd2caSopenharmony_ci listValue.push_back(voicemailValues); 696115cd2caSopenharmony_ci CheckResultSetList(listValue, resultSetInsertQuery, "voicemail_Update_test_1300"); 697115cd2caSopenharmony_ci ClearVoicemail(); 698115cd2caSopenharmony_ci} 699115cd2caSopenharmony_ci 700115cd2caSopenharmony_ci/* 701115cd2caSopenharmony_ci * @tc.number voicemail_Query_test_1400 702115cd2caSopenharmony_ci * @tc.name Query the voice mailbox in status 1 and return the query results 703115cd2caSopenharmony_ci * @tc.desc Voicemail status query capability 704115cd2caSopenharmony_ci * @tc.level Level1 705115cd2caSopenharmony_ci * @tc.size MediumTest 706115cd2caSopenharmony_ci * @tc.type Function 707115cd2caSopenharmony_ci */ 708115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Query_test_1400, testing::ext::TestSize.Level1) 709115cd2caSopenharmony_ci{ 710115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Query_test_1400 is starting! ---"); 711115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 712115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 713115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(9); 714115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 715115cd2caSopenharmony_ci values.Put("voice_status", 1); 716115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 717115cd2caSopenharmony_ci HILOG_INFO("voicemail_Query_test_1400 : voicemailId = %{public}d", voicemailId); 718115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 719115cd2caSopenharmony_ci 720115cd2caSopenharmony_ci values.Put("id", voicemailId); 721115cd2caSopenharmony_ci std::vector<std::string> columns; 722115cd2caSopenharmony_ci columns.push_back("id"); 723115cd2caSopenharmony_ci columns.push_back("phone_number"); 724115cd2caSopenharmony_ci columns.push_back("voice_status"); 725115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 726115cd2caSopenharmony_ci predicates.EqualTo("voice_status", "1"); 727115cd2caSopenharmony_ci predicates.And(); 728115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 729115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 730115cd2caSopenharmony_ci int rowCount = 0; 731115cd2caSopenharmony_ci result->GetRowCount(rowCount); 732115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 733115cd2caSopenharmony_ci CheckResultSet(values, result, "voicemail_Query_test_1400"); 734115cd2caSopenharmony_ci ClearVoicemail(); 735115cd2caSopenharmony_ci} 736115cd2caSopenharmony_ci 737115cd2caSopenharmony_ci/* 738115cd2caSopenharmony_ci * @tc.number voicemail_Query_test_1500 739115cd2caSopenharmony_ci * @tc.name Insert a single voice mailbox and query the inserted voice mailbox data according to the returned ID 740115cd2caSopenharmony_ci * @tc.desc Voicemail data query capability 741115cd2caSopenharmony_ci * @tc.level Level1 742115cd2caSopenharmony_ci * @tc.size MediumTest 743115cd2caSopenharmony_ci * @tc.type Function 744115cd2caSopenharmony_ci */ 745115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Query_test_1500, testing::ext::TestSize.Level1) 746115cd2caSopenharmony_ci{ 747115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Query_test_1500 is staring! ---"); 748115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 749115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 750115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(5); 751115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 752115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 753115cd2caSopenharmony_ci HILOG_INFO("voicemail_Query_test_1500 : voicemailId = %{public}d", voicemailId); 754115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 755115cd2caSopenharmony_ci std::vector<std::string> columns; 756115cd2caSopenharmony_ci columns.push_back("id"); 757115cd2caSopenharmony_ci columns.push_back("phone_number"); 758115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 759115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 760115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 761115cd2caSopenharmony_ci int rowCount = 0; 762115cd2caSopenharmony_ci result->GetRowCount(rowCount); 763115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 764115cd2caSopenharmony_ci CheckResultSet(values, result, "voicemail_Query_test_1500"); 765115cd2caSopenharmony_ci ClearVoicemail(); 766115cd2caSopenharmony_ci} 767115cd2caSopenharmony_ci 768115cd2caSopenharmony_ci/* 769115cd2caSopenharmony_ci * @tc.number voicemail_Query_test_1600 770115cd2caSopenharmony_ci * @tc.name Insert multiple voice mailboxes, and query the inserted voice mailbox data according to the returned ID 771115cd2caSopenharmony_ci * @tc.desc Voicemail data query capability 772115cd2caSopenharmony_ci * @tc.level Level1 773115cd2caSopenharmony_ci * @tc.size MediumTest 774115cd2caSopenharmony_ci * @tc.type Function 775115cd2caSopenharmony_ci */ 776115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Query_test_1600, testing::ext::TestSize.Level1) 777115cd2caSopenharmony_ci{ 778115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Query_test_1600 is staring! ---"); 779115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 780115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 781115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(5); 782115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 783115cd2caSopenharmony_ci int voicemailIdOne = VoicemailInsertValues(values); 784115cd2caSopenharmony_ci HILOG_INFO("voicemail_Query_test_1600 : voicemailIdOne = %{public}d", voicemailIdOne); 785115cd2caSopenharmony_ci EXPECT_GT(voicemailIdOne, 0); 786115cd2caSopenharmony_ci 787115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket valuesTwo; 788115cd2caSopenharmony_ci std::string phoneNumber_test = randomNumberUtils.Generating(6); 789115cd2caSopenharmony_ci valuesTwo.Put("phone_number", phoneNumber_test); 790115cd2caSopenharmony_ci int voicemailIdTwo = VoicemailInsertValues(valuesTwo); 791115cd2caSopenharmony_ci HILOG_INFO("voicemail_Query_test_1600 : voicemailIdTwo = %{public}d", voicemailIdTwo); 792115cd2caSopenharmony_ci EXPECT_GT(voicemailIdTwo, 0); 793115cd2caSopenharmony_ci 794115cd2caSopenharmony_ci std::vector<std::string> columns; 795115cd2caSopenharmony_ci columns.push_back("id"); 796115cd2caSopenharmony_ci columns.push_back("phone_number"); 797115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 798115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailIdOne)); 799115cd2caSopenharmony_ci predicates.Or(); 800115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailIdTwo)); 801115cd2caSopenharmony_ci predicates.OrderByAsc("id"); 802115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 803115cd2caSopenharmony_ci int rowCount = 0; 804115cd2caSopenharmony_ci result->GetRowCount(rowCount); 805115cd2caSopenharmony_ci EXPECT_EQ(2, rowCount); 806115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> valuesVector; 807115cd2caSopenharmony_ci valuesVector.push_back(values); 808115cd2caSopenharmony_ci valuesVector.push_back(valuesTwo); 809115cd2caSopenharmony_ci CheckResultSetList(valuesVector, result, "voicemail_Query_test_1600"); 810115cd2caSopenharmony_ci ClearVoicemail(); 811115cd2caSopenharmony_ci} 812115cd2caSopenharmony_ci 813115cd2caSopenharmony_ci/* 814115cd2caSopenharmony_ci * @tc.number voicemail_Query_test_1700 815115cd2caSopenharmony_ci * @tc.name Query all voice mail data and return query results 816115cd2caSopenharmony_ci * @tc.desc Voicemail data query capability 817115cd2caSopenharmony_ci * @tc.level Level1 818115cd2caSopenharmony_ci * @tc.size MediumTest 819115cd2caSopenharmony_ci * @tc.type Function 820115cd2caSopenharmony_ci */ 821115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Query_test_1700, testing::ext::TestSize.Level1) 822115cd2caSopenharmony_ci{ 823115cd2caSopenharmony_ci // query database count There are two test cases above ,the number is 4 824115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Query_test_1700 is staring! ---"); 825115cd2caSopenharmony_ci std::vector<std::string> columns; 826115cd2caSopenharmony_ci columns.push_back("id"); 827115cd2caSopenharmony_ci columns.push_back("phone_number"); 828115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 829115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 830115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 831115cd2caSopenharmony_ci int rowCount = 0; 832115cd2caSopenharmony_ci result->GetRowCount(rowCount); 833115cd2caSopenharmony_ci result->Close(); 834115cd2caSopenharmony_ci ClearVoicemail(); 835115cd2caSopenharmony_ci} 836115cd2caSopenharmony_ci 837115cd2caSopenharmony_ci/* 838115cd2caSopenharmony_ci * @tc.number voicemail_BatchInsert_test_1800 839115cd2caSopenharmony_ci * @tc.name Add 3 voice mail messages with status and verify whether the insertion is successful 840115cd2caSopenharmony_ci * @tc.desc Added ability to batch voicemail status 841115cd2caSopenharmony_ci * @tc.level Level1 842115cd2caSopenharmony_ci * @tc.size MediumTest 843115cd2caSopenharmony_ci * @tc.type Function 844115cd2caSopenharmony_ci */ 845115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_BatchInsert_test_1800, testing::ext::TestSize.Level1) 846115cd2caSopenharmony_ci{ 847115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_BatchInsert_test_1800 is starting! ---"); 848115cd2caSopenharmony_ci 849115cd2caSopenharmony_ci OHOS::Uri uriData(VoicemailUri::VOICEMAIL); 850115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesOne; 851115cd2caSopenharmony_ci int number = 6; 852115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 853115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 854115cd2caSopenharmony_ci voicemailValuesOne.Put("phone_number", std::string(phoneNumber)); 855115cd2caSopenharmony_ci voicemailValuesOne.Put("voice_status", 1); 856115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesTwo; 857115cd2caSopenharmony_ci voicemailValuesTwo.Put("phone_number", std::string(phoneNumber)); 858115cd2caSopenharmony_ci voicemailValuesTwo.Put("voice_status", 0); 859115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesThree; 860115cd2caSopenharmony_ci voicemailValuesThree.Put("phone_number", std::string(phoneNumber)); 861115cd2caSopenharmony_ci voicemailValuesThree.Put("voice_status", 0); 862115cd2caSopenharmony_ci 863115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> listAddBluk; 864115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesOne); 865115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesTwo); 866115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesThree); 867115cd2caSopenharmony_ci int batchInsertCode = voicemailAbility.BatchInsert(uriData, listAddBluk); 868115cd2caSopenharmony_ci EXPECT_EQ(batchInsertCode, 0); 869115cd2caSopenharmony_ci 870115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 871115cd2caSopenharmony_ci predicates.EqualTo("phone_number", phoneNumber); 872115cd2caSopenharmony_ci predicates.Or(); 873115cd2caSopenharmony_ci predicates.EqualTo("phone_number", phoneNumber); 874115cd2caSopenharmony_ci predicates.OrderByAsc("id"); 875115cd2caSopenharmony_ci std::vector<std::string> columns; 876115cd2caSopenharmony_ci columns.push_back("phone_number"); 877115cd2caSopenharmony_ci columns.push_back("voice_status"); 878115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 879115cd2caSopenharmony_ci int rowCount = 0; 880115cd2caSopenharmony_ci result->GetRowCount(rowCount); 881115cd2caSopenharmony_ci EXPECT_EQ(2, rowCount); 882115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> listValue; 883115cd2caSopenharmony_ci listValue.push_back(voicemailValuesOne); 884115cd2caSopenharmony_ci listValue.push_back(voicemailValuesThree); 885115cd2caSopenharmony_ci CheckResultSetList(listValue, result, "voicemail_BatchInsert_test_1800"); 886115cd2caSopenharmony_ci ClearVoicemail(); 887115cd2caSopenharmony_ci} 888115cd2caSopenharmony_ci 889115cd2caSopenharmony_ci/* 890115cd2caSopenharmony_ci * @tc.number voicemail_BatchInsert_test_1900 891115cd2caSopenharmony_ci * @tc.name Add 5 voice mail data and verify whether the insertion is successful 892115cd2caSopenharmony_ci * @tc.desc New capabilities for voice mail data in batches 893115cd2caSopenharmony_ci * @tc.level Level1 894115cd2caSopenharmony_ci * @tc.size MediumTest 895115cd2caSopenharmony_ci * @tc.type Function 896115cd2caSopenharmony_ci */ 897115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_BatchInsert_test_1900, testing::ext::TestSize.Level1) 898115cd2caSopenharmony_ci{ 899115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_BatchInsert_test_1900 is staring! ---"); 900115cd2caSopenharmony_ci OHOS::Uri uriData(VoicemailUri::VOICEMAIL); 901115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesOne; 902115cd2caSopenharmony_ci int number = 6; 903115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 904115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 905115cd2caSopenharmony_ci voicemailValuesOne.Put("phone_number", std::string(phoneNumber)); 906115cd2caSopenharmony_ci voicemailValuesOne.Put("display_name", std::string("xiaoming")); 907115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesTwo; 908115cd2caSopenharmony_ci voicemailValuesTwo.Put("phone_number", std::string(phoneNumber)); 909115cd2caSopenharmony_ci voicemailValuesTwo.Put("display_name", std::string("xiaozi")); 910115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesThree; 911115cd2caSopenharmony_ci voicemailValuesThree.Put("phone_number", std::string(phoneNumber)); 912115cd2caSopenharmony_ci voicemailValuesThree.Put("display_name", std::string("xiaozhi")); 913115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesFour; 914115cd2caSopenharmony_ci voicemailValuesFour.Put("phone_number", std::string(phoneNumber)); 915115cd2caSopenharmony_ci voicemailValuesFour.Put("display_name", std::string("xiaohei")); 916115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesFive; 917115cd2caSopenharmony_ci voicemailValuesFive.Put("phone_number", std::string(phoneNumber)); 918115cd2caSopenharmony_ci voicemailValuesFive.Put("display_name", std::string("xiaohong")); 919115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> listAddBluk; 920115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesOne); 921115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesTwo); 922115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesThree); 923115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesFour); 924115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesFive); 925115cd2caSopenharmony_ci int batchInsertCode = voicemailAbility.BatchInsert(uriData, listAddBluk); 926115cd2caSopenharmony_ci EXPECT_EQ(0, batchInsertCode); 927115cd2caSopenharmony_ci 928115cd2caSopenharmony_ci int size = listAddBluk.size(); 929115cd2caSopenharmony_ci std::vector<std::string> columns; 930115cd2caSopenharmony_ci columns.push_back("phone_number"); 931115cd2caSopenharmony_ci columns.push_back("display_name"); 932115cd2caSopenharmony_ci for (int i = 0; i < size; i++) { 933115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 934115cd2caSopenharmony_ci bool isValid = false; 935115cd2caSopenharmony_ci std::string name = listAddBluk[i].Get("display_name", isValid); 936115cd2caSopenharmony_ci predicates.EqualTo("display_name", name); 937115cd2caSopenharmony_ci predicates.And(); 938115cd2caSopenharmony_ci std::string phoneNumber = listAddBluk[i].Get("phone_number", isValid); 939115cd2caSopenharmony_ci predicates.EqualTo("phone_number", phoneNumber); 940115cd2caSopenharmony_ci CheckResultSetBatch(predicates, columns, listAddBluk[i], "voicemail_BatchInsert_test_1900"); 941115cd2caSopenharmony_ci } 942115cd2caSopenharmony_ci ClearVoicemail(); 943115cd2caSopenharmony_ci} 944115cd2caSopenharmony_ci 945115cd2caSopenharmony_ci/* 946115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Insert_test_2000 947115cd2caSopenharmony_ci * @tc.name When voice mail status is added, a non-existent field is passed in 948115cd2caSopenharmony_ci * @tc.desc Exception use case 949115cd2caSopenharmony_ci * @tc.level Level1 950115cd2caSopenharmony_ci * @tc.size MediumTest 951115cd2caSopenharmony_ci * @tc.type Function 952115cd2caSopenharmony_ci */ 953115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Insert_test_2000, testing::ext::TestSize.Level1) 954115cd2caSopenharmony_ci{ 955115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Insert_test_2000 is starting! ---"); 956115cd2caSopenharmony_ci 957115cd2caSopenharmony_ci OHOS::Uri uriVoicemail(VoicemailUri::VOICEMAIL); 958115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 959115cd2caSopenharmony_ci int number = 6; 960115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 961115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 962115cd2caSopenharmony_ci voicemailValues.Put("phone_numbers", phoneNumber); 963115cd2caSopenharmony_ci int64_t voicemailId = voicemailAbility.Insert(uriVoicemail, voicemailValues); 964115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Insert_test_2000: voicemailId = %{public}ld", voicemailId); 965115cd2caSopenharmony_ci EXPECT_EQ(voicemailId, -1); 966115cd2caSopenharmony_ci 967115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 968115cd2caSopenharmony_ci predicates.EqualTo("phone_number", phoneNumber); 969115cd2caSopenharmony_ci std::vector<std::string> columns; 970115cd2caSopenharmony_ci columns.push_back("phone_number"); 971115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 972115cd2caSopenharmony_ci int rowCount = 0; 973115cd2caSopenharmony_ci result->GetRowCount(rowCount); 974115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 975115cd2caSopenharmony_ci result->Close(); 976115cd2caSopenharmony_ci ClearVoicemail(); 977115cd2caSopenharmony_ci} 978115cd2caSopenharmony_ci 979115cd2caSopenharmony_ci/* 980115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Insert_test_2100 981115cd2caSopenharmony_ci * @tc.name When adding voice mail data, a nonexistent table name is passed in 982115cd2caSopenharmony_ci * @tc.desc Exception use case 983115cd2caSopenharmony_ci * @tc.level Level1 984115cd2caSopenharmony_ci * @tc.size MediumTest 985115cd2caSopenharmony_ci * @tc.type Function 986115cd2caSopenharmony_ci */ 987115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Insert_test_2100, testing::ext::TestSize.Level1) 988115cd2caSopenharmony_ci{ 989115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Insert_test_2100 is starting! ---"); 990115cd2caSopenharmony_ci 991115cd2caSopenharmony_ci OHOS::Uri errorUriVoicemails(VoicemailUri::ERROR_URI); 992115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 993115cd2caSopenharmony_ci int number = 6; 994115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 995115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 996115cd2caSopenharmony_ci voicemailValues.Put("phone_number", phoneNumber); 997115cd2caSopenharmony_ci int64_t voicemailId = voicemailAbility.Insert(errorUriVoicemails, voicemailValues); 998115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Insert_test_2100: voicemailId = %{public}ld", voicemailId); 999115cd2caSopenharmony_ci EXPECT_EQ(voicemailId, -1); 1000115cd2caSopenharmony_ci 1001115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1002115cd2caSopenharmony_ci std::string phoneNumber2 = randomNumberUtils.Generating(number); 1003115cd2caSopenharmony_ci predicates.EqualTo("phone_number", phoneNumber2); 1004115cd2caSopenharmony_ci std::vector<std::string> columns; 1005115cd2caSopenharmony_ci columns.push_back("phone_number"); 1006115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 1007115cd2caSopenharmony_ci int rowCount = 0; 1008115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1009115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 1010115cd2caSopenharmony_ci result->Close(); 1011115cd2caSopenharmony_ci ClearVoicemail(); 1012115cd2caSopenharmony_ci} 1013115cd2caSopenharmony_ci 1014115cd2caSopenharmony_ci/* 1015115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Update_test_2200 1016115cd2caSopenharmony_ci * @tc.name When deleting voicemail status, a non-existent field is passed in 1017115cd2caSopenharmony_ci * @tc.desc Exception use case 1018115cd2caSopenharmony_ci * @tc.level Level1 1019115cd2caSopenharmony_ci * @tc.size MediumTest 1020115cd2caSopenharmony_ci * @tc.type Function 1021115cd2caSopenharmony_ci */ 1022115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Update_test_2200, testing::ext::TestSize.Level1) 1023115cd2caSopenharmony_ci{ 1024115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Update_test_2200 is starting! ---"); 1025115cd2caSopenharmony_ci int64_t voicemailId = VoicemailStatusInsert("123456", 1); 1026115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2200: voicemailId = %{public}ld", voicemailId); 1027115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1028115cd2caSopenharmony_ci 1029115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 1030115cd2caSopenharmony_ci updateValues.Put("voice_status", 0); 1031115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1032115cd2caSopenharmony_ci predicates.EqualTo("ids", std::to_string(voicemailId)); 1033115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 1034115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2200 : updateCode = %{public}d", updateCode); 1035115cd2caSopenharmony_ci EXPECT_EQ(updateCode, -1); 1036115cd2caSopenharmony_ci 1037115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 1038115cd2caSopenharmony_ci int number = 6; 1039115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1040115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1041115cd2caSopenharmony_ci predicates2.EqualTo("phone_number", phoneNumber); 1042115cd2caSopenharmony_ci predicates2.And(); 1043115cd2caSopenharmony_ci predicates2.EqualTo("voice_status", "0"); 1044115cd2caSopenharmony_ci std::vector<std::string> columns; 1045115cd2caSopenharmony_ci columns.push_back("phone_number"); 1046115cd2caSopenharmony_ci columns.push_back("voice_status"); 1047115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 1048115cd2caSopenharmony_ci int rowCount = 0; 1049115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1050115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 1051115cd2caSopenharmony_ci result->Close(); 1052115cd2caSopenharmony_ci ClearVoicemail(); 1053115cd2caSopenharmony_ci} 1054115cd2caSopenharmony_ci 1055115cd2caSopenharmony_ci/* 1056115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Delete_test_2300 1057115cd2caSopenharmony_ci * @tc.name When deleting voicemail data, a non-existent field is passed in 1058115cd2caSopenharmony_ci * @tc.desc Exception use case 1059115cd2caSopenharmony_ci * @tc.level Level1 1060115cd2caSopenharmony_ci * @tc.size MediumTest 1061115cd2caSopenharmony_ci * @tc.type Function 1062115cd2caSopenharmony_ci */ 1063115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Delete_test_2300, testing::ext::TestSize.Level1) 1064115cd2caSopenharmony_ci{ 1065115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Delete_test_2300 is starting! ---"); 1066115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1067115cd2caSopenharmony_ci int number = 8; 1068115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1069115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1070115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 1071115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 1072115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Delete_test_2300 : voicemailId = %{public}d", voicemailId); 1073115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1074115cd2caSopenharmony_ci 1075115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1076115cd2caSopenharmony_ci predicates.EqualTo("ids", std::to_string(voicemailId)); 1077115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates); 1078115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Delete_test_2300: deleteCode = %{public}d", deleteCode); 1079115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, -1); 1080115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 1081115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailId)); 1082115cd2caSopenharmony_ci std::vector<std::string> columns; 1083115cd2caSopenharmony_ci columns.push_back("phone_number"); 1084115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 1085115cd2caSopenharmony_ci int rowCount = 0; 1086115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1087115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 1088115cd2caSopenharmony_ci CheckResultSet(values, result, "abnormal_voicemail_Delete_test_2300"); 1089115cd2caSopenharmony_ci ClearVoicemail(); 1090115cd2caSopenharmony_ci} 1091115cd2caSopenharmony_ci 1092115cd2caSopenharmony_ci/* 1093115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Delete_test_2400 1094115cd2caSopenharmony_ci * @tc.name When deleting voicemail data, a nonexistent table name is passed in 1095115cd2caSopenharmony_ci * @tc.desc Exception use case 1096115cd2caSopenharmony_ci * @tc.level Level1 1097115cd2caSopenharmony_ci * @tc.size MediumTest 1098115cd2caSopenharmony_ci * @tc.type Function 1099115cd2caSopenharmony_ci */ 1100115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Delete_test_2400, testing::ext::TestSize.Level1) 1101115cd2caSopenharmony_ci{ 1102115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Delete_test_2400 is starting! ---"); 1103115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1104115cd2caSopenharmony_ci int number = 6; 1105115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1106115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1107115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 1108115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 1109115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Delete_test_2400 : voicemailId = %{public}d", voicemailId); 1110115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1111115cd2caSopenharmony_ci 1112115cd2caSopenharmony_ci OHOS::Uri uriVoicemails(VoicemailUri::ERROR_URI); 1113115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1114115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 1115115cd2caSopenharmony_ci int deleteCode = voicemailAbility.Delete(uriVoicemails, predicates); 1116115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Delete_test_2400: deleteCode = %{public}d", deleteCode); 1117115cd2caSopenharmony_ci EXPECT_NE(deleteCode, 0); 1118115cd2caSopenharmony_ci 1119115cd2caSopenharmony_ci std::vector<std::string> columns; 1120115cd2caSopenharmony_ci columns.push_back("phone_number"); 1121115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 1122115cd2caSopenharmony_ci int rowCount = 0; 1123115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1124115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 1125115cd2caSopenharmony_ci CheckResultSet(values, result, "abnormal_voicemail_Delete_test_2400"); 1126115cd2caSopenharmony_ci ClearVoicemail(); 1127115cd2caSopenharmony_ci} 1128115cd2caSopenharmony_ci 1129115cd2caSopenharmony_ci/* 1130115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Update_test_2500 1131115cd2caSopenharmony_ci * @tc.name When updating voicemail status, a non-existent field was passed in 1132115cd2caSopenharmony_ci * @tc.desc Exception use case 1133115cd2caSopenharmony_ci * @tc.level Level1 1134115cd2caSopenharmony_ci * @tc.size MediumTest 1135115cd2caSopenharmony_ci * @tc.type Function 1136115cd2caSopenharmony_ci */ 1137115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Update_test_2500, testing::ext::TestSize.Level1) 1138115cd2caSopenharmony_ci{ 1139115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Update_test_2500 is starting! ---"); 1140115cd2caSopenharmony_ci int64_t voicemailId = VoicemailStatusInsert("123456", 1); 1141115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2500: voicemailId = %{public}ld", voicemailId); 1142115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1143115cd2caSopenharmony_ci 1144115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 1145115cd2caSopenharmony_ci updateValues.Put("voice_status", 0); 1146115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1147115cd2caSopenharmony_ci predicates.EqualTo("ids", std::to_string(voicemailId)); 1148115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 1149115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2500 : updateCode = %{public}d", updateCode); 1150115cd2caSopenharmony_ci EXPECT_EQ(updateCode, -1); 1151115cd2caSopenharmony_ci 1152115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 1153115cd2caSopenharmony_ci int number = 6; 1154115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1155115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1156115cd2caSopenharmony_ci predicates2.EqualTo("phone_number", phoneNumber); 1157115cd2caSopenharmony_ci predicates2.And(); 1158115cd2caSopenharmony_ci predicates2.EqualTo("voice_status", "0"); 1159115cd2caSopenharmony_ci std::vector<std::string> columns; 1160115cd2caSopenharmony_ci columns.push_back("phone_number"); 1161115cd2caSopenharmony_ci columns.push_back("voice_status"); 1162115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 1163115cd2caSopenharmony_ci int rowCount = 0; 1164115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1165115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 1166115cd2caSopenharmony_ci result->Close(); 1167115cd2caSopenharmony_ci ClearVoicemail(); 1168115cd2caSopenharmony_ci} 1169115cd2caSopenharmony_ci 1170115cd2caSopenharmony_ci/* 1171115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Update_test_2600 1172115cd2caSopenharmony_ci * @tc.name When updating voicemail data, a non-existent field was passed in 1173115cd2caSopenharmony_ci * @tc.desc Exception use case 1174115cd2caSopenharmony_ci * @tc.level Level1 1175115cd2caSopenharmony_ci * @tc.size MediumTest 1176115cd2caSopenharmony_ci * @tc.type Function 1177115cd2caSopenharmony_ci */ 1178115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Update_test_2600, testing::ext::TestSize.Level1) 1179115cd2caSopenharmony_ci{ 1180115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Update_test_2600 is staring! ---"); 1181115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1182115cd2caSopenharmony_ci int number = 11; 1183115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1184115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1185115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 1186115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 1187115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2600 : voicemailId = %{public}d", voicemailId); 1188115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1189115cd2caSopenharmony_ci 1190115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 1191115cd2caSopenharmony_ci updateValues.Put("phone_number", std::string(phoneNumber)); 1192115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1193115cd2caSopenharmony_ci predicates.EqualTo("ids", std::to_string(voicemailId)); 1194115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 1195115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2600: updateCode = %{public}d", updateCode); 1196115cd2caSopenharmony_ci EXPECT_EQ(updateCode, -1); 1197115cd2caSopenharmony_ci ClearVoicemail(); 1198115cd2caSopenharmony_ci} 1199115cd2caSopenharmony_ci 1200115cd2caSopenharmony_ci/* 1201115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Update_test_2700 1202115cd2caSopenharmony_ci * @tc.name When updating voicemail data, a nonexistent table name is passed in 1203115cd2caSopenharmony_ci * @tc.desc Exception use case 1204115cd2caSopenharmony_ci * @tc.level Level1 1205115cd2caSopenharmony_ci * @tc.size MediumTest 1206115cd2caSopenharmony_ci * @tc.type Function 1207115cd2caSopenharmony_ci */ 1208115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Update_test_2700, testing::ext::TestSize.Level1) 1209115cd2caSopenharmony_ci{ 1210115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Update_test_2700 is staring! ---"); 1211115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1212115cd2caSopenharmony_ci int number_test = 6; 1213115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1214115cd2caSopenharmony_ci std::string phoneNumber_test = randomNumberUtils.Generating(number_test); 1215115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber_test); 1216115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 1217115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2700 : voicemailId = %{public}d", voicemailId); 1218115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1219115cd2caSopenharmony_ci 1220115cd2caSopenharmony_ci OHOS::Uri uriVoicemails(VoicemailUri::ERROR_URI); 1221115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 1222115cd2caSopenharmony_ci int number = 11; 1223115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1224115cd2caSopenharmony_ci updateValues.Put("phone_number", std::string(phoneNumber)); 1225115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1226115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 1227115cd2caSopenharmony_ci int updateCode = voicemailAbility.Update(uriVoicemails, predicates, updateValues); 1228115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_Update_test_2700: updateCode = %{public}d", updateCode); 1229115cd2caSopenharmony_ci EXPECT_EQ(updateCode, -1); 1230115cd2caSopenharmony_ci std::vector<std::string> columns; 1231115cd2caSopenharmony_ci columns.push_back("phone_number"); 1232115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 1233115cd2caSopenharmony_ci int rowCount = 0; 1234115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1235115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 1236115cd2caSopenharmony_ci CheckResultSet(values, result, "abnormal_voicemail_Update_test_2700"); 1237115cd2caSopenharmony_ci ClearVoicemail(); 1238115cd2caSopenharmony_ci} 1239115cd2caSopenharmony_ci 1240115cd2caSopenharmony_ci/* 1241115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Query_test_2800 1242115cd2caSopenharmony_ci * @tc.name When querying voicemail status, a non-existent field is passed in 1243115cd2caSopenharmony_ci * @tc.desc Exception use case 1244115cd2caSopenharmony_ci * @tc.level Level1 1245115cd2caSopenharmony_ci * @tc.size MediumTest 1246115cd2caSopenharmony_ci * @tc.type Function 1247115cd2caSopenharmony_ci */ 1248115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Query_test_2800, testing::ext::TestSize.Level1) 1249115cd2caSopenharmony_ci{ 1250115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_Query_test_2800 is starting! ---"); 1251115cd2caSopenharmony_ci std::vector<std::string> columns; 1252115cd2caSopenharmony_ci columns.push_back("id"); 1253115cd2caSopenharmony_ci columns.push_back("phone_numbers"); 1254115cd2caSopenharmony_ci columns.push_back("voice_status"); 1255115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1256115cd2caSopenharmony_ci predicates.EqualTo("voice_status", "1"); 1257115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 1258115cd2caSopenharmony_ci int rowCount = 0; 1259115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 1260115cd2caSopenharmony_ci EXPECT_EQ(-1, rowCount); 1261115cd2caSopenharmony_ci resultSet->Close(); 1262115cd2caSopenharmony_ci ClearVoicemail(); 1263115cd2caSopenharmony_ci} 1264115cd2caSopenharmony_ci 1265115cd2caSopenharmony_ci/* 1266115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Query_test_2900 1267115cd2caSopenharmony_ci * @tc.name An incorrect field was passed in when querying voicemail data 1268115cd2caSopenharmony_ci * @tc.desc Exception use case 1269115cd2caSopenharmony_ci * @tc.level Level1 1270115cd2caSopenharmony_ci * @tc.size MediumTest 1271115cd2caSopenharmony_ci * @tc.type Function 1272115cd2caSopenharmony_ci */ 1273115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Query_test_2900, testing::ext::TestSize.Level1) 1274115cd2caSopenharmony_ci{ 1275115cd2caSopenharmony_ci HILOG_INFO("-----abnormal_voicemail_Query_test_2900 is starting!-----"); 1276115cd2caSopenharmony_ci std::vector<std::string> columns; 1277115cd2caSopenharmony_ci columns.push_back("id"); 1278115cd2caSopenharmony_ci columns.push_back("phone_numbers"); 1279115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1280115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 1281115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 1282115cd2caSopenharmony_ci int rowCount = -1; 1283115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 1284115cd2caSopenharmony_ci EXPECT_EQ(-1, rowCount); 1285115cd2caSopenharmony_ci resultSet->Close(); 1286115cd2caSopenharmony_ci ClearVoicemail(); 1287115cd2caSopenharmony_ci} 1288115cd2caSopenharmony_ci 1289115cd2caSopenharmony_ci/* 1290115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Query_test_3000 1291115cd2caSopenharmony_ci * @tc.name When querying voicemail data, a non-existent field value is passed in 1292115cd2caSopenharmony_ci * @tc.desc Exception use case 1293115cd2caSopenharmony_ci * @tc.level Level1 1294115cd2caSopenharmony_ci * @tc.size MediumTest 1295115cd2caSopenharmony_ci * @tc.type Function 1296115cd2caSopenharmony_ci */ 1297115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Query_test_3000, testing::ext::TestSize.Level1) 1298115cd2caSopenharmony_ci{ 1299115cd2caSopenharmony_ci HILOG_INFO("-----abnormal_voicemail_Query_test_3000 is starting!-----"); 1300115cd2caSopenharmony_ci std::vector<std::string> columns; 1301115cd2caSopenharmony_ci columns.push_back("id"); 1302115cd2caSopenharmony_ci columns.push_back("phone_number"); 1303115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1304115cd2caSopenharmony_ci predicates.EqualTo("id", "10000000"); 1305115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 1306115cd2caSopenharmony_ci int rowCount = 0; 1307115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1308115cd2caSopenharmony_ci result->Close(); 1309115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 1310115cd2caSopenharmony_ci ClearVoicemail(); 1311115cd2caSopenharmony_ci} 1312115cd2caSopenharmony_ci 1313115cd2caSopenharmony_ci/* 1314115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_Query_test_3100 1315115cd2caSopenharmony_ci * @tc.name When querying voicemail data, a nonexistent table name was passed in 1316115cd2caSopenharmony_ci * @tc.desc Exception use case 1317115cd2caSopenharmony_ci * @tc.level Level1 1318115cd2caSopenharmony_ci * @tc.size MediumTest 1319115cd2caSopenharmony_ci * @tc.type Function 1320115cd2caSopenharmony_ci */ 1321115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_Query_test_3100, testing::ext::TestSize.Level1) 1322115cd2caSopenharmony_ci{ 1323115cd2caSopenharmony_ci HILOG_INFO("-----abnormal_voicemail_Query_test_3100 is starting!-----"); 1324115cd2caSopenharmony_ci OHOS::Uri errorUri(VoicemailUri::ERROR_URI); 1325115cd2caSopenharmony_ci std::vector<std::string> columns; 1326115cd2caSopenharmony_ci columns.push_back("id"); 1327115cd2caSopenharmony_ci columns.push_back("phone_number"); 1328115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1329115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 1330115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = 1331115cd2caSopenharmony_ci voicemailAbility.Query(errorUri, predicates, columns); 1332115cd2caSopenharmony_ci EXPECT_EQ(resultSet, nullptr); 1333115cd2caSopenharmony_ci ClearVoicemail(); 1334115cd2caSopenharmony_ci} 1335115cd2caSopenharmony_ci 1336115cd2caSopenharmony_ci/* 1337115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_BatchInsert_test_3200 1338115cd2caSopenharmony_ci * @tc.name When adding voice mail status in batch, an error field is passed in 1339115cd2caSopenharmony_ci * @tc.desc Exception use case 1340115cd2caSopenharmony_ci * @tc.level Level1 1341115cd2caSopenharmony_ci * @tc.size MediumTest 1342115cd2caSopenharmony_ci * @tc.type Function 1343115cd2caSopenharmony_ci */ 1344115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_BatchInsert_test_3200, testing::ext::TestSize.Level1) 1345115cd2caSopenharmony_ci{ 1346115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_BatchInsert_test_3200 is starting! ---"); 1347115cd2caSopenharmony_ci OHOS::Uri uriData(VoicemailUri::VOICEMAIL); 1348115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesOne; 1349115cd2caSopenharmony_ci int number = 15; 1350115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1351115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1352115cd2caSopenharmony_ci int number_test = 6; 1353115cd2caSopenharmony_ci std::string phoneNumber_test = randomNumberUtils.Generating(number_test); 1354115cd2caSopenharmony_ci voicemailValuesOne.Put("phone_number", std::string(phoneNumber)); 1355115cd2caSopenharmony_ci voicemailValuesOne.Put("voice_status", 1); 1356115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesTwo; 1357115cd2caSopenharmony_ci voicemailValuesTwo.Put("phone_numbers", std::string(phoneNumber_test)); 1358115cd2caSopenharmony_ci voicemailValuesTwo.Put("voice_statuss", 0); 1359115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValuesThree; 1360115cd2caSopenharmony_ci voicemailValuesThree.Put("phone_number", std::string(phoneNumber_test)); 1361115cd2caSopenharmony_ci voicemailValuesThree.Put("voice_status", 0); 1362115cd2caSopenharmony_ci 1363115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> listAddBluk; 1364115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesOne); 1365115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesTwo); 1366115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValuesThree); 1367115cd2caSopenharmony_ci int batchInsertCode = voicemailAbility.BatchInsert(uriData, listAddBluk); 1368115cd2caSopenharmony_ci EXPECT_EQ(batchInsertCode, -1); 1369115cd2caSopenharmony_ci 1370115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1371115cd2caSopenharmony_ci predicates.EqualTo("phone_number", phoneNumber); 1372115cd2caSopenharmony_ci predicates.Or(); 1373115cd2caSopenharmony_ci predicates.EqualTo("phone_numbers", phoneNumber_test); 1374115cd2caSopenharmony_ci predicates.Or(); 1375115cd2caSopenharmony_ci predicates.EqualTo("phone_number", phoneNumber_test); 1376115cd2caSopenharmony_ci std::vector<std::string> columns; 1377115cd2caSopenharmony_ci columns.push_back("id"); 1378115cd2caSopenharmony_ci columns.push_back("phone_number"); 1379115cd2caSopenharmony_ci columns.push_back("phone_numbers"); 1380115cd2caSopenharmony_ci columns.push_back("voice_status"); 1381115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 1382115cd2caSopenharmony_ci int rowCount = 0; 1383115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 1384115cd2caSopenharmony_ci EXPECT_EQ(-1, rowCount); 1385115cd2caSopenharmony_ci resultSet->Close(); 1386115cd2caSopenharmony_ci ClearVoicemail(); 1387115cd2caSopenharmony_ci} 1388115cd2caSopenharmony_ci 1389115cd2caSopenharmony_ci/* 1390115cd2caSopenharmony_ci * @tc.number abnormal_voicemail_BatchInsert_test_3300 1391115cd2caSopenharmony_ci * @tc.name When adding voice mail data in batch, several of them fail. Check the processing logic 1392115cd2caSopenharmony_ci * @tc.desc Exception use case 1393115cd2caSopenharmony_ci * @tc.level Level1 1394115cd2caSopenharmony_ci * @tc.size MediumTest 1395115cd2caSopenharmony_ci * @tc.type Function 1396115cd2caSopenharmony_ci */ 1397115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, abnormal_voicemail_BatchInsert_test_3300, testing::ext::TestSize.Level1) 1398115cd2caSopenharmony_ci{ 1399115cd2caSopenharmony_ci HILOG_INFO("--- abnormal_voicemail_BatchInsert_test_3300 is starting! ---"); 1400115cd2caSopenharmony_ci OHOS::Uri uriData(VoicemailUri::VOICEMAIL); 1401115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 1402115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> listAddBluk; 1403115cd2caSopenharmony_ci int batchInserCode = 0; 1404115cd2caSopenharmony_ci for (int i = 0; i < 10; i++) { 1405115cd2caSopenharmony_ci listAddBluk.clear(); 1406115cd2caSopenharmony_ci for (int j = 10 * i + 1; j <= 10 * (i + 1); j++) { 1407115cd2caSopenharmony_ci voicemailValues.Clear(); 1408115cd2caSopenharmony_ci voicemailValues.Put("phone_number", std::to_string(j)); 1409115cd2caSopenharmony_ci std::string name("zhangsan"); 1410115cd2caSopenharmony_ci name.append(std::to_string(j)); 1411115cd2caSopenharmony_ci if (j == 14 || j == 27 || j == 57) { 1412115cd2caSopenharmony_ci voicemailValues.Put("display_names", name); 1413115cd2caSopenharmony_ci } else { 1414115cd2caSopenharmony_ci voicemailValues.Put("display_name", name); 1415115cd2caSopenharmony_ci } 1416115cd2caSopenharmony_ci listAddBluk.push_back(voicemailValues); 1417115cd2caSopenharmony_ci } 1418115cd2caSopenharmony_ci batchInserCode = voicemailAbility.BatchInsert(uriData, listAddBluk); 1419115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_BatchInsert_test_3300 : batchInserCode = %{public}d", batchInserCode); 1420115cd2caSopenharmony_ci if (batchInserCode == 0) { 1421115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_BatchInsert_test_3300 batch insert success!"); 1422115cd2caSopenharmony_ci } else { 1423115cd2caSopenharmony_ci HILOG_INFO("abnormal_voicemail_BatchInsert_test_3300 batch insert fail!"); 1424115cd2caSopenharmony_ci EXPECT_EQ(batchInserCode, -1); 1425115cd2caSopenharmony_ci } 1426115cd2caSopenharmony_ci } 1427115cd2caSopenharmony_ci // clear data 1428115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1429115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 1430115cd2caSopenharmony_ci int deleteCode = VoicemailDelete(predicates); 1431115cd2caSopenharmony_ci EXPECT_EQ(0, deleteCode); 1432115cd2caSopenharmony_ci ClearVoicemail(); 1433115cd2caSopenharmony_ci} 1434115cd2caSopenharmony_ci 1435115cd2caSopenharmony_ci/* 1436115cd2caSopenharmony_ci * @tc.number voicemail_Insert_test_3400 1437115cd2caSopenharmony_ci * @tc.name Add a voice mailbox with status 0 and verify that the insertion was successful 1438115cd2caSopenharmony_ci * @tc.desc Added ability to voice mailbox status 1439115cd2caSopenharmony_ci * @tc.level Level1 1440115cd2caSopenharmony_ci * @tc.size MediumTest 1441115cd2caSopenharmony_ci * @tc.type Function 1442115cd2caSopenharmony_ci */ 1443115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Insert_test_3400, testing::ext::TestSize.Level1) 1444115cd2caSopenharmony_ci{ 1445115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Insert_test_3400 is starting! ---"); 1446115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1447115cd2caSopenharmony_ci int number = 6; 1448115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1449115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1450115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 1451115cd2caSopenharmony_ci values.Put("voice_status", 0); 1452115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 1453115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1454115cd2caSopenharmony_ci 1455115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1456115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 1457115cd2caSopenharmony_ci std::vector<std::string> columns; 1458115cd2caSopenharmony_ci columns.push_back("phone_number"); 1459115cd2caSopenharmony_ci columns.push_back("voice_status"); 1460115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 1461115cd2caSopenharmony_ci int rowCount = 0; 1462115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1463115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 1464115cd2caSopenharmony_ci CheckResultSet(values, result, "voicemail_Insert_test_3400"); 1465115cd2caSopenharmony_ci ClearVoicemail(); 1466115cd2caSopenharmony_ci} 1467115cd2caSopenharmony_ci 1468115cd2caSopenharmony_ci/* 1469115cd2caSopenharmony_ci * @tc.number voicemail_Update_test_3500 1470115cd2caSopenharmony_ci * @tc.name Update the voice mailbox status and verify whether the update is successful (voice_status changes from 1 1471115cd2caSopenharmony_ci * to 0) 1472115cd2caSopenharmony_ci * @tc.desc Voicemail status update capability 1473115cd2caSopenharmony_ci * @tc.level Level1 1474115cd2caSopenharmony_ci * @tc.size MediumTest 1475115cd2caSopenharmony_ci * @tc.type Function 1476115cd2caSopenharmony_ci */ 1477115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Update_test_3500, testing::ext::TestSize.Level1) 1478115cd2caSopenharmony_ci{ 1479115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Update_test_3500 is starting! ---"); 1480115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1481115cd2caSopenharmony_ci int number = 9; 1482115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1483115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1484115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 1485115cd2caSopenharmony_ci values.Put("voice_status", 1); 1486115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 1487115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1488115cd2caSopenharmony_ci 1489115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 1490115cd2caSopenharmony_ci updateValues.Put("voice_status", 0); 1491115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1492115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 1493115cd2caSopenharmony_ci int updateCode = VoicemailUpdate(updateValues, predicates); 1494115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 1495115cd2caSopenharmony_ci std::string phoneNumber2 = randomNumberUtils.Generating(number); 1496115cd2caSopenharmony_ci updateValues.Put("phone_number", phoneNumber2); 1497115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 1498115cd2caSopenharmony_ci predicates2.EqualTo("id", std::to_string(voicemailId)); 1499115cd2caSopenharmony_ci std::vector<std::string> columns; 1500115cd2caSopenharmony_ci columns.push_back("phone_number"); 1501115cd2caSopenharmony_ci columns.push_back("voice_status"); 1502115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates2); 1503115cd2caSopenharmony_ci int rowCount = 0; 1504115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1505115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 1506115cd2caSopenharmony_ci CheckResultSet(updateValues, result, "voicemail_Update_test_3500"); 1507115cd2caSopenharmony_ci ClearVoicemail(); 1508115cd2caSopenharmony_ci} 1509115cd2caSopenharmony_ci 1510115cd2caSopenharmony_ci/* 1511115cd2caSopenharmony_ci * @tc.number voicemail_Query_test_3600 1512115cd2caSopenharmony_ci * @tc.name Query the voice mailbox with status 0 and return the query results 1513115cd2caSopenharmony_ci * @tc.desc Voicemail status query capability 1514115cd2caSopenharmony_ci * @tc.level Level1 1515115cd2caSopenharmony_ci * @tc.size MediumTest 1516115cd2caSopenharmony_ci * @tc.type Function 1517115cd2caSopenharmony_ci */ 1518115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_Query_test_3600, testing::ext::TestSize.Level1) 1519115cd2caSopenharmony_ci{ 1520115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_Query_test_3600 is starting! ---"); 1521115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1522115cd2caSopenharmony_ci int number = 9; 1523115cd2caSopenharmony_ci RandomNumberUtils randomNumberUtils; 1524115cd2caSopenharmony_ci std::string phoneNumber = randomNumberUtils.Generating(number); 1525115cd2caSopenharmony_ci values.Put("phone_number", phoneNumber); 1526115cd2caSopenharmony_ci values.Put("voice_status", 0); 1527115cd2caSopenharmony_ci int voicemailId = VoicemailInsertValues(values); 1528115cd2caSopenharmony_ci EXPECT_GT(voicemailId, 0); 1529115cd2caSopenharmony_ci 1530115cd2caSopenharmony_ci values.Put("id", voicemailId); 1531115cd2caSopenharmony_ci std::vector<std::string> columns; 1532115cd2caSopenharmony_ci columns.push_back("id"); 1533115cd2caSopenharmony_ci columns.push_back("phone_number"); 1534115cd2caSopenharmony_ci columns.push_back("voice_status"); 1535115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1536115cd2caSopenharmony_ci predicates.EqualTo("voice_status", "0"); 1537115cd2caSopenharmony_ci predicates.And(); 1538115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(voicemailId)); 1539115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> result = VoicemailQuery(columns, predicates); 1540115cd2caSopenharmony_ci int rowCount = 0; 1541115cd2caSopenharmony_ci result->GetRowCount(rowCount); 1542115cd2caSopenharmony_ci EXPECT_EQ(1, rowCount); 1543115cd2caSopenharmony_ci CheckResultSet(values, result, "voicemail_Query_test_3600"); 1544115cd2caSopenharmony_ci ClearVoicemail(); 1545115cd2caSopenharmony_ci} 1546115cd2caSopenharmony_ci 1547115cd2caSopenharmony_ci/* 1548115cd2caSopenharmony_ci * @tc.number voicemail_async_insert_test_3800 1549115cd2caSopenharmony_ci * @tc.name Add voicemail async 1550115cd2caSopenharmony_ci * @tc.desc Ability to join or add voicemail 1551115cd2caSopenharmony_ci * @tc.level Level1 1552115cd2caSopenharmony_ci * @tc.size MediumTest 1553115cd2caSopenharmony_ci * @tc.type Function 1554115cd2caSopenharmony_ci */ 1555115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_async_insert_test_3700, testing::ext::TestSize.Level1) 1556115cd2caSopenharmony_ci{ 1557115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_async_insert_test_3700 is staring! ---"); 1558115cd2caSopenharmony_ci std::map<int, OHOS::DataShare::DataShareValuesBucket> result; 1559115cd2caSopenharmony_ci std::vector<VoicemailAsync *> voicemailAsyncVector; 1560115cd2caSopenharmony_ci int threadNum = 6; 1561115cd2caSopenharmony_ci for (int i = 0; i < threadNum; ++i) { 1562115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1563115cd2caSopenharmony_ci std::string name; 1564115cd2caSopenharmony_ci name.append("asyncTest"); 1565115cd2caSopenharmony_ci name.append(std::to_string(i)); 1566115cd2caSopenharmony_ci values.Put("display_name", name); 1567115cd2caSopenharmony_ci VoicemailAsync *contactAsync = new VoicemailAsync(values, result); 1568115cd2caSopenharmony_ci std::thread asyncThread(&VoicemailAsync::Insert, contactAsync); 1569115cd2caSopenharmony_ci voicemailAsyncVector.push_back(contactAsync); 1570115cd2caSopenharmony_ci asyncThread.detach(); 1571115cd2caSopenharmony_ci } 1572115cd2caSopenharmony_ci std::chrono::milliseconds dura(Time::ASYNC_SLEEP_TIME); 1573115cd2caSopenharmony_ci std::this_thread::sleep_for(dura); 1574115cd2caSopenharmony_ci std::vector<std::string> columns; 1575115cd2caSopenharmony_ci columns.push_back("display_name"); 1576115cd2caSopenharmony_ci std::map<int, OHOS::DataShare::DataShareValuesBucket>::iterator it; 1577115cd2caSopenharmony_ci for (it = result.begin(); it != result.end(); it++) { 1578115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1579115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(it->first)); 1580115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 1581115cd2caSopenharmony_ci CheckResultSet(it->second, resultSet, "voicemail_async_insert_test_3700"); 1582115cd2caSopenharmony_ci } 1583115cd2caSopenharmony_ci for (int i = 0; i < threadNum; ++i) { 1584115cd2caSopenharmony_ci delete voicemailAsyncVector[i]; 1585115cd2caSopenharmony_ci } 1586115cd2caSopenharmony_ci ClearVoicemail(); 1587115cd2caSopenharmony_ci} 1588115cd2caSopenharmony_ci 1589115cd2caSopenharmony_ci/* 1590115cd2caSopenharmony_ci * @tc.number voicemail_async_update_test_3900 1591115cd2caSopenharmony_ci * @tc.name update voicemail async 1592115cd2caSopenharmony_ci * @tc.desc Ability to join or update voicemail 1593115cd2caSopenharmony_ci * @tc.level Level1 1594115cd2caSopenharmony_ci * @tc.size MediumTest 1595115cd2caSopenharmony_ci * @tc.type Function 1596115cd2caSopenharmony_ci */ 1597115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_async_update_test_3800, testing::ext::TestSize.Level1) 1598115cd2caSopenharmony_ci{ 1599115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_async_update_test_3800 is staring! ---"); 1600115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 1601115cd2caSopenharmony_ci std::vector<int64_t> voicemailId; 1602115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update1", voicemailValues)); 1603115cd2caSopenharmony_ci voicemailValues.Clear(); 1604115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update2", voicemailValues)); 1605115cd2caSopenharmony_ci voicemailValues.Clear(); 1606115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update3", voicemailValues)); 1607115cd2caSopenharmony_ci voicemailValues.Clear(); 1608115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update4", voicemailValues)); 1609115cd2caSopenharmony_ci voicemailValues.Clear(); 1610115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update5", voicemailValues)); 1611115cd2caSopenharmony_ci voicemailValues.Clear(); 1612115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update6", voicemailValues)); 1613115cd2caSopenharmony_ci voicemailValues.Clear(); 1614115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> upDateValues; 1615115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates queryPredicates; 1616115cd2caSopenharmony_ci std::vector<VoicemailAsync *> voicemailAsyncVector; 1617115cd2caSopenharmony_ci int size = voicemailId.size(); 1618115cd2caSopenharmony_ci for (int i = 0; i < size; ++i) { 1619115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket values; 1620115cd2caSopenharmony_ci std::string name; 1621115cd2caSopenharmony_ci name.append("asyncTest"); 1622115cd2caSopenharmony_ci values.Put("display_name", name); 1623115cd2caSopenharmony_ci upDateValues.push_back(values); 1624115cd2caSopenharmony_ci int id = voicemailId[i]; 1625115cd2caSopenharmony_ci VoicemailAsync *contactAsync = new VoicemailAsync(values, id); 1626115cd2caSopenharmony_ci voicemailAsyncVector.push_back(contactAsync); 1627115cd2caSopenharmony_ci std::thread asyncThread(&VoicemailAsync::Update, contactAsync); 1628115cd2caSopenharmony_ci asyncThread.detach(); 1629115cd2caSopenharmony_ci queryPredicates.EqualTo("id", std::to_string(voicemailId[i])); 1630115cd2caSopenharmony_ci if (i < size - 1) { 1631115cd2caSopenharmony_ci queryPredicates.Or(); 1632115cd2caSopenharmony_ci } 1633115cd2caSopenharmony_ci } 1634115cd2caSopenharmony_ci std::chrono::milliseconds dura(Time::ASYNC_SLEEP_TIME); 1635115cd2caSopenharmony_ci std::this_thread::sleep_for(dura); 1636115cd2caSopenharmony_ci std::vector<std::string> columns; 1637115cd2caSopenharmony_ci columns.push_back("display_name"); 1638115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, queryPredicates); 1639115cd2caSopenharmony_ci CheckResultSetList(upDateValues, resultSet, "voicemail_async_update_test_3800"); 1640115cd2caSopenharmony_ci for (int i = 0; i < size; ++i) { 1641115cd2caSopenharmony_ci delete voicemailAsyncVector[i]; 1642115cd2caSopenharmony_ci } 1643115cd2caSopenharmony_ci ClearVoicemail(); 1644115cd2caSopenharmony_ci} 1645115cd2caSopenharmony_ci 1646115cd2caSopenharmony_ci/* 1647115cd2caSopenharmony_ci * @tc.number voicemail_async_query_test_3900 1648115cd2caSopenharmony_ci * @tc.name query voicemail async 1649115cd2caSopenharmony_ci * @tc.desc Ability to join or query 1650115cd2caSopenharmony_ci * @tc.level Level1 1651115cd2caSopenharmony_ci * @tc.size MediumTest 1652115cd2caSopenharmony_ci * @tc.type Function 1653115cd2caSopenharmony_ci */ 1654115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_async_query_test_3900, testing::ext::TestSize.Level1) 1655115cd2caSopenharmony_ci{ 1656115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_async_query_test_4000 is staring! ---"); 1657115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 1658115cd2caSopenharmony_ci std::vector<int64_t> voicemailId; 1659115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_query1", voicemailValues)); 1660115cd2caSopenharmony_ci voicemailValues.Clear(); 1661115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_query2", voicemailValues)); 1662115cd2caSopenharmony_ci voicemailValues.Clear(); 1663115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_query3", voicemailValues)); 1664115cd2caSopenharmony_ci voicemailValues.Clear(); 1665115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_query4", voicemailValues)); 1666115cd2caSopenharmony_ci voicemailValues.Clear(); 1667115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_query5", voicemailValues)); 1668115cd2caSopenharmony_ci voicemailValues.Clear(); 1669115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_query6", voicemailValues)); 1670115cd2caSopenharmony_ci voicemailValues.Clear(); 1671115cd2caSopenharmony_ci std::vector<VoicemailAsync *> voicemailAsyncVector; 1672115cd2caSopenharmony_ci std::vector<std::shared_ptr<OHOS::DataShare::DataShareResultSet>> resultSetVector; 1673115cd2caSopenharmony_ci int threadNum = 6; 1674115cd2caSopenharmony_ci for (int i = 0; i < threadNum; ++i) { 1675115cd2caSopenharmony_ci VoicemailAsync *contactAsync = new VoicemailAsync(resultSetVector, voicemailId); 1676115cd2caSopenharmony_ci voicemailAsyncVector.push_back(contactAsync); 1677115cd2caSopenharmony_ci std::thread asyncThread(&VoicemailAsync::Query, contactAsync); 1678115cd2caSopenharmony_ci asyncThread.detach(); 1679115cd2caSopenharmony_ci } 1680115cd2caSopenharmony_ci int queryCount = 6; 1681115cd2caSopenharmony_ci int size = resultSetVector.size(); 1682115cd2caSopenharmony_ci for (int i = 0; i < size; ++i) { 1683115cd2caSopenharmony_ci int rowCount = 0; 1684115cd2caSopenharmony_ci resultSetVector[i]->GetRowCount(rowCount); 1685115cd2caSopenharmony_ci EXPECT_EQ(queryCount, rowCount); 1686115cd2caSopenharmony_ci resultSetVector[i]->Close(); 1687115cd2caSopenharmony_ci } 1688115cd2caSopenharmony_ci for (int i = 0; i < size; ++i) { 1689115cd2caSopenharmony_ci delete voicemailAsyncVector[i]; 1690115cd2caSopenharmony_ci } 1691115cd2caSopenharmony_ci ClearVoicemail(); 1692115cd2caSopenharmony_ci} 1693115cd2caSopenharmony_ci 1694115cd2caSopenharmony_ci/* 1695115cd2caSopenharmony_ci * @tc.number voicemail_async_delete_test_4100 1696115cd2caSopenharmony_ci * @tc.name delete voicemail async 1697115cd2caSopenharmony_ci * @tc.desc Ability to join or delete voicemail 1698115cd2caSopenharmony_ci * @tc.level Level1 1699115cd2caSopenharmony_ci * @tc.size MediumTest 1700115cd2caSopenharmony_ci * @tc.type Function 1701115cd2caSopenharmony_ci */ 1702115cd2caSopenharmony_ciHWTEST_F(VoicemailAbilityTest, voicemail_async_delete_test_4000, testing::ext::TestSize.Level1) 1703115cd2caSopenharmony_ci{ 1704115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_async_delete_test_4000 is staring! ---"); 1705115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 1706115cd2caSopenharmony_ci std::vector<int64_t> voicemailId; 1707115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update1", voicemailValues)); 1708115cd2caSopenharmony_ci voicemailValues.Clear(); 1709115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update2", voicemailValues)); 1710115cd2caSopenharmony_ci voicemailValues.Clear(); 1711115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update3", voicemailValues)); 1712115cd2caSopenharmony_ci voicemailValues.Clear(); 1713115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update4", voicemailValues)); 1714115cd2caSopenharmony_ci voicemailValues.Clear(); 1715115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update5", voicemailValues)); 1716115cd2caSopenharmony_ci voicemailValues.Clear(); 1717115cd2caSopenharmony_ci voicemailId.push_back(VoicemailInsertValue("async_update6", voicemailValues)); 1718115cd2caSopenharmony_ci voicemailValues.Clear(); 1719115cd2caSopenharmony_ci int size = voicemailId.size(); 1720115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 1721115cd2caSopenharmony_ci predicates.BeginWrap(); 1722115cd2caSopenharmony_ci std::vector<VoicemailAsync *> voicemailAsyncVector; 1723115cd2caSopenharmony_ci for (int i = 0; i < size; ++i) { 1724115cd2caSopenharmony_ci int id = voicemailId[i]; 1725115cd2caSopenharmony_ci VoicemailAsync *contactAsync = new VoicemailAsync(id); 1726115cd2caSopenharmony_ci voicemailAsyncVector.push_back(contactAsync); 1727115cd2caSopenharmony_ci std::thread asyncThread(&VoicemailAsync::Delete, contactAsync); 1728115cd2caSopenharmony_ci asyncThread.detach(); 1729115cd2caSopenharmony_ci predicates.EqualTo("id", std::to_string(id)); 1730115cd2caSopenharmony_ci if (i < size - 1) { 1731115cd2caSopenharmony_ci predicates.Or(); 1732115cd2caSopenharmony_ci } 1733115cd2caSopenharmony_ci } 1734115cd2caSopenharmony_ci predicates.EndWrap(); 1735115cd2caSopenharmony_ci std::chrono::milliseconds dura(Time::ASYNC_SLEEP_TIME); 1736115cd2caSopenharmony_ci std::this_thread::sleep_for(dura); 1737115cd2caSopenharmony_ci std::vector<std::string> columns; 1738115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = VoicemailQuery(columns, predicates); 1739115cd2caSopenharmony_ci int rowCount = 0; 1740115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 1741115cd2caSopenharmony_ci EXPECT_EQ(0, rowCount); 1742115cd2caSopenharmony_ci resultSet->Close(); 1743115cd2caSopenharmony_ci for (int i = 0; i < size; ++i) { 1744115cd2caSopenharmony_ci delete voicemailAsyncVector[i]; 1745115cd2caSopenharmony_ci } 1746115cd2caSopenharmony_ci ClearVoicemail(); 1747115cd2caSopenharmony_ci} 1748115cd2caSopenharmony_ci} // namespace Test 1749115cd2caSopenharmony_ci} // namespace Contacts