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 "stability_test.h" 17115cd2caSopenharmony_ci 18115cd2caSopenharmony_ci#include <sys/time.h> 19115cd2caSopenharmony_ci 20115cd2caSopenharmony_ci#include "test_common.h" 21115cd2caSopenharmony_ci 22115cd2caSopenharmony_cinamespace Contacts { 23115cd2caSopenharmony_cinamespace Test { 24115cd2caSopenharmony_ciStabilityTest::StabilityTest() 25115cd2caSopenharmony_ci{ 26115cd2caSopenharmony_ci} 27115cd2caSopenharmony_ci 28115cd2caSopenharmony_ciStabilityTest::~StabilityTest() 29115cd2caSopenharmony_ci{ 30115cd2caSopenharmony_ci} 31115cd2caSopenharmony_ci 32115cd2caSopenharmony_civoid StabilityTest::DeleteContact() 33115cd2caSopenharmony_ci{ 34115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 35115cd2caSopenharmony_ci OHOS::Uri uriRawContact(ContactsUri::RAW_CONTACT); 36115cd2caSopenharmony_ci predicates.NotEqualTo("id", "0"); 37115cd2caSopenharmony_ci predicates.And(); 38115cd2caSopenharmony_ci predicates.EqualTo("is_deleted", "0"); 39115cd2caSopenharmony_ci contactsDataAbility.Delete(uriRawContact, predicates); 40115cd2caSopenharmony_ci int count = 0; 41115cd2caSopenharmony_ci int deleteCount = 9999; 42115cd2caSopenharmony_ci std::vector<std::string> columns; 43115cd2caSopenharmony_ci OHOS::Uri uriRawContactComplete(ContactsUri::DELETED_RAW_CONTACT); 44115cd2caSopenharmony_ci while (count < deleteCount) { 45115cd2caSopenharmony_ci int time = Time::SLEEP_TIME_MERGE_DELETE; 46115cd2caSopenharmony_ci std::chrono::milliseconds dura(time); 47115cd2caSopenharmony_ci std::this_thread::sleep_for(dura); 48115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates2; 49115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = 50115cd2caSopenharmony_ci contactsDataAbility.Query(uriRawContactComplete, predicates2, columns); 51115cd2caSopenharmony_ci resultSet->GetRowCount(count); 52115cd2caSopenharmony_ci resultSet->Close(); 53115cd2caSopenharmony_ci } 54115cd2caSopenharmony_ci int time = Time::SLEEP_TIME_MERGE_DELETE; 55115cd2caSopenharmony_ci std::chrono::milliseconds dura(time); 56115cd2caSopenharmony_ci std::this_thread::sleep_for(dura); 57115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates3; 58115cd2caSopenharmony_ci predicates3.NotEqualTo("id", "0"); 59115cd2caSopenharmony_ci contactsDataAbility.Delete(uriRawContactComplete, predicates3); 60115cd2caSopenharmony_ci} 61115cd2caSopenharmony_ci 62115cd2caSopenharmony_ci/* 63115cd2caSopenharmony_ci * @tc.number raw_contact_insert_performance_test_900 64115cd2caSopenharmony_ci * @tc.name raw_contact stability testing add 10000 65115cd2caSopenharmony_ci * @tc.desc add 10000 66115cd2caSopenharmony_ci * @tc.level Level1 67115cd2caSopenharmony_ci * @tc.size MediumTest 68115cd2caSopenharmony_ci * @tc.type Function 69115cd2caSopenharmony_ci */ 70115cd2caSopenharmony_ciHWTEST_F(StabilityTest, raw_contact_insert_performance_test_900, testing::ext::TestSize.Level1) 71115cd2caSopenharmony_ci{ 72115cd2caSopenharmony_ci HILOG_INFO("--- raw_contact_insert_performance_test_900 is starting! ---"); 73115cd2caSopenharmony_ci OHOS::Uri uriRawContact(ContactsUri::RAW_CONTACT); 74115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> values; 75115cd2caSopenharmony_ci for (int i = 0; i < 10000; i++) { 76115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket rawContactValues; 77115cd2caSopenharmony_ci std::string name("小严"); 78115cd2caSopenharmony_ci name.append(std::to_string(i + 1)); 79115cd2caSopenharmony_ci rawContactValues.Put("display_name", name); 80115cd2caSopenharmony_ci rawContactValues.Put("company", "company"); 81115cd2caSopenharmony_ci rawContactValues.Put("position", "position"); 82115cd2caSopenharmony_ci values.push_back(rawContactValues); 83115cd2caSopenharmony_ci } 84115cd2caSopenharmony_ci int batchInsertCode = contactsDataAbility.BatchInsert(uriRawContact, values); 85115cd2caSopenharmony_ci EXPECT_EQ(batchInsertCode, 0); 86115cd2caSopenharmony_ci} 87115cd2caSopenharmony_ci 88115cd2caSopenharmony_ci/* 89115cd2caSopenharmony_ci * @tc.number raw_contact_update_performance_test_1000 90115cd2caSopenharmony_ci * @tc.name raw_contact stability testing update 10000 91115cd2caSopenharmony_ci * @tc.desc update 10000 92115cd2caSopenharmony_ci * @tc.level Level1 93115cd2caSopenharmony_ci * @tc.size MediumTest 94115cd2caSopenharmony_ci * @tc.type Function 95115cd2caSopenharmony_ci */ 96115cd2caSopenharmony_ciHWTEST_F(StabilityTest, raw_contact_update_performance_test_1000, testing::ext::TestSize.Level1) 97115cd2caSopenharmony_ci{ 98115cd2caSopenharmony_ci HILOG_INFO("--- raw_contact_update_performance_test_1000 is starting! ---"); 99115cd2caSopenharmony_ci OHOS::Uri uriRawContact(ContactsUri::RAW_CONTACT); 100115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 101115cd2caSopenharmony_ci updateValues.Put("favorite", 1); 102115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 103115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 104115cd2caSopenharmony_ci predicates.And(); 105115cd2caSopenharmony_ci predicates.EqualTo("is_deleted", "0"); 106115cd2caSopenharmony_ci int updateCode = contactsDataAbility.Update(uriRawContact, predicates, updateValues); 107115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 108115cd2caSopenharmony_ci} 109115cd2caSopenharmony_ci 110115cd2caSopenharmony_ci/* 111115cd2caSopenharmony_ci * @tc.number raw_contact_query_performance_test_1100 112115cd2caSopenharmony_ci * @tc.name raw_contact stability testing query 10000 113115cd2caSopenharmony_ci * @tc.desc query 10000 114115cd2caSopenharmony_ci * @tc.level Level1 115115cd2caSopenharmony_ci * @tc.size MediumTest 116115cd2caSopenharmony_ci * @tc.type Function 117115cd2caSopenharmony_ci */ 118115cd2caSopenharmony_ciHWTEST_F(StabilityTest, raw_contact_query_performance_test_1100, testing::ext::TestSize.Level1) 119115cd2caSopenharmony_ci{ 120115cd2caSopenharmony_ci HILOG_INFO("--- raw_contact_query_performance_test_1100 is starting! ---"); 121115cd2caSopenharmony_ci OHOS::Uri uriRawContact(ContactsUri::RAW_CONTACT); 122115cd2caSopenharmony_ci std::vector<std::string> columns; 123115cd2caSopenharmony_ci columns.push_back("id"); 124115cd2caSopenharmony_ci columns.push_back("display_name"); 125115cd2caSopenharmony_ci columns.push_back("company"); 126115cd2caSopenharmony_ci columns.push_back("position"); 127115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 128115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 129115cd2caSopenharmony_ci predicates.And(); 130115cd2caSopenharmony_ci predicates.EqualTo("is_deleted", "0"); 131115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = 132115cd2caSopenharmony_ci contactsDataAbility.Query(uriRawContact, predicates, columns); 133115cd2caSopenharmony_ci int rowCount = 0; 134115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 135115cd2caSopenharmony_ci EXPECT_GT(rowCount, 9999); 136115cd2caSopenharmony_ci resultSet->Close(); 137115cd2caSopenharmony_ci} 138115cd2caSopenharmony_ci 139115cd2caSopenharmony_ci/* 140115cd2caSopenharmony_ci * @tc.number raw_contact_delete_performance_test_1200 141115cd2caSopenharmony_ci * @tc.name raw_contact stability testing delete 10000 142115cd2caSopenharmony_ci * @tc.desc delete 10000 143115cd2caSopenharmony_ci * @tc.level Level1 144115cd2caSopenharmony_ci * @tc.size MediumTest 145115cd2caSopenharmony_ci * @tc.type Function 146115cd2caSopenharmony_ci */ 147115cd2caSopenharmony_ciHWTEST_F(StabilityTest, raw_contact_delete_performance_test_1200, testing::ext::TestSize.Level1) 148115cd2caSopenharmony_ci{ 149115cd2caSopenharmony_ci HILOG_INFO("--- raw_contact_delete_performance_test_1200 is starting! ---"); 150115cd2caSopenharmony_ci OHOS::Uri uriRawContact(ContactsUri::RAW_CONTACT); 151115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 152115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 153115cd2caSopenharmony_ci predicates.And(); 154115cd2caSopenharmony_ci predicates.EqualTo("is_deleted", "0"); 155115cd2caSopenharmony_ci int deleteCode = contactsDataAbility.Delete(uriRawContact, predicates); 156115cd2caSopenharmony_ci HILOG_INFO("raw_contact_delete_performance_test_1200 : deleteCode = %{public}d", deleteCode); 157115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 158115cd2caSopenharmony_ci} 159115cd2caSopenharmony_ci 160115cd2caSopenharmony_ci/* 161115cd2caSopenharmony_ci * @tc.number contact_data_insert_performance_test_1300 162115cd2caSopenharmony_ci * @tc.name contact_data stability testing add 10000 163115cd2caSopenharmony_ci * @tc.desc add 10000 164115cd2caSopenharmony_ci * @tc.level Level1 165115cd2caSopenharmony_ci * @tc.size MediumTest 166115cd2caSopenharmony_ci * @tc.type Function 167115cd2caSopenharmony_ci */ 168115cd2caSopenharmony_ciHWTEST_F(StabilityTest, contact_data_insert_performance_test_1300, testing::ext::TestSize.Level1) 169115cd2caSopenharmony_ci{ 170115cd2caSopenharmony_ci OHOS::Uri uriRawContact(ContactsUri::RAW_CONTACT); 171115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket rawContactValues; 172115cd2caSopenharmony_ci std::string rawName("xiaoyan"); 173115cd2caSopenharmony_ci rawContactValues.Put("display_name", rawName); 174115cd2caSopenharmony_ci rawContactValues.Put("company", "company"); 175115cd2caSopenharmony_ci rawContactValues.Put("position", "position"); 176115cd2caSopenharmony_ci int rawContactId = contactsDataAbility.Insert(uriRawContact, rawContactValues); 177115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 178115cd2caSopenharmony_ci predicates.NotEqualTo("id", "0"); 179115cd2caSopenharmony_ci predicates.And(); 180115cd2caSopenharmony_ci predicates.EqualTo("is_deleted", "0"); 181115cd2caSopenharmony_ci contactsDataAbility.Delete(uriRawContact, predicates); 182115cd2caSopenharmony_ci OHOS::Uri uriContactData(ContactsUri::CONTACT_DATA); 183115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> values; 184115cd2caSopenharmony_ci for (int i = 0; i < 10000; i++) { 185115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket contactDataValues; 186115cd2caSopenharmony_ci std::string name("xiaoyan"); 187115cd2caSopenharmony_ci name.append(std::to_string(i + 1)); 188115cd2caSopenharmony_ci contactDataValues.Put("raw_contact_id", rawContactId); 189115cd2caSopenharmony_ci contactDataValues.Put("content_type", "name"); 190115cd2caSopenharmony_ci contactDataValues.Put("detail_info", name); 191115cd2caSopenharmony_ci values.push_back(contactDataValues); 192115cd2caSopenharmony_ci } 193115cd2caSopenharmony_ci int batchInsertCode = contactsDataAbility.BatchInsert(uriContactData, values); 194115cd2caSopenharmony_ci EXPECT_EQ(batchInsertCode, 0); 195115cd2caSopenharmony_ci} 196115cd2caSopenharmony_ci 197115cd2caSopenharmony_ci/* 198115cd2caSopenharmony_ci * @tc.number contact_data_update_performance_test_1400 199115cd2caSopenharmony_ci * @tc.name contact_data stability testing update 10000 200115cd2caSopenharmony_ci * @tc.desc update 10000 201115cd2caSopenharmony_ci * @tc.level Level1 202115cd2caSopenharmony_ci * @tc.size MediumTest 203115cd2caSopenharmony_ci * @tc.type Function 204115cd2caSopenharmony_ci */ 205115cd2caSopenharmony_ciHWTEST_F(StabilityTest, contact_data_update_performance_test_1400, testing::ext::TestSize.Level1) 206115cd2caSopenharmony_ci{ 207115cd2caSopenharmony_ci HILOG_INFO("--- contact_data_update_performance_test_1400 is starting! ---"); 208115cd2caSopenharmony_ci OHOS::Uri uriContactData(ContactsUri::CONTACT_DATA); 209115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 210115cd2caSopenharmony_ci updateValues.Put("syn_1", "test"); 211115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 212115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 213115cd2caSopenharmony_ci int updateCode = contactsDataAbility.Update(uriContactData, predicates, updateValues); 214115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 215115cd2caSopenharmony_ci} 216115cd2caSopenharmony_ci 217115cd2caSopenharmony_ci/* 218115cd2caSopenharmony_ci * @tc.number contact_data_query_performance_test_1500 219115cd2caSopenharmony_ci * @tc.name contact_data stability testing query 10000 220115cd2caSopenharmony_ci * @tc.desc query 10000 221115cd2caSopenharmony_ci * @tc.level Level1 222115cd2caSopenharmony_ci * @tc.size MediumTest 223115cd2caSopenharmony_ci * @tc.type Function 224115cd2caSopenharmony_ci */ 225115cd2caSopenharmony_ciHWTEST_F(StabilityTest, contact_data_query_performance_test_1500, testing::ext::TestSize.Level1) 226115cd2caSopenharmony_ci{ 227115cd2caSopenharmony_ci HILOG_INFO("--- contact_data_query_performance_test_1500 is starting! ---"); 228115cd2caSopenharmony_ci OHOS::Uri uriContactData(ContactsUri::CONTACT_DATA); 229115cd2caSopenharmony_ci std::vector<std::string> columns; 230115cd2caSopenharmony_ci columns.push_back("raw_contact_id"); 231115cd2caSopenharmony_ci columns.push_back("detail_info"); 232115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 233115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 234115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = 235115cd2caSopenharmony_ci contactsDataAbility.Query(uriContactData, predicates, columns); 236115cd2caSopenharmony_ci int rowCount = 0; 237115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 238115cd2caSopenharmony_ci EXPECT_GT(rowCount, 9999); 239115cd2caSopenharmony_ci resultSet->Close(); 240115cd2caSopenharmony_ci} 241115cd2caSopenharmony_ci 242115cd2caSopenharmony_ci/* 243115cd2caSopenharmony_ci * @tc.number contact_data_delete_performance_test_1600 244115cd2caSopenharmony_ci * @tc.name contact_data stability testing delete 10000 245115cd2caSopenharmony_ci * @tc.desc delete 10000 246115cd2caSopenharmony_ci * @tc.level Level1 247115cd2caSopenharmony_ci * @tc.size MediumTest 248115cd2caSopenharmony_ci * @tc.type Function 249115cd2caSopenharmony_ci */ 250115cd2caSopenharmony_ciHWTEST_F(StabilityTest, contact_data_delete_performance_test_1600, testing::ext::TestSize.Level1) 251115cd2caSopenharmony_ci{ 252115cd2caSopenharmony_ci HILOG_INFO("--- contact_data_delete_performance_test_1600 is starting! ---"); 253115cd2caSopenharmony_ci OHOS::Uri uriContactData(ContactsUri::CONTACT_DATA); 254115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 255115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 256115cd2caSopenharmony_ci int deleteCode = contactsDataAbility.Delete(uriContactData, predicates); 257115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 258115cd2caSopenharmony_ci} 259115cd2caSopenharmony_ci 260115cd2caSopenharmony_ci/* 261115cd2caSopenharmony_ci * @tc.number calllog_insert_performance_test_100 262115cd2caSopenharmony_ci * @tc.name calllog calllog stability testing add 10000 263115cd2caSopenharmony_ci * @tc.desc add 10000 264115cd2caSopenharmony_ci * @tc.level Level1 265115cd2caSopenharmony_ci * @tc.size MediumTest 266115cd2caSopenharmony_ci * @tc.type Function 267115cd2caSopenharmony_ci */ 268115cd2caSopenharmony_ciHWTEST_F(StabilityTest, calllog_insert_performance_test_100, testing::ext::TestSize.Level1) 269115cd2caSopenharmony_ci{ 270115cd2caSopenharmony_ci OHOS::Uri uriCalllog(CallLogUri::CALL_LOG); 271115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicatesOne; 272115cd2caSopenharmony_ci predicatesOne.GreaterThan("id", "0"); 273115cd2caSopenharmony_ci HILOG_INFO("calllog_insert_performance_test_100 deleted start! "); 274115cd2caSopenharmony_ci calllogAbility.Delete(uriCalllog, predicatesOne); 275115cd2caSopenharmony_ci HILOG_INFO("--- calllog_insert_performance_test_100 is starting! ---"); 276115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> values; 277115cd2caSopenharmony_ci for (int i = 0; i < 10000; i++) { 278115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket calllogValues; 279115cd2caSopenharmony_ci calllogValues.Put("phone_number", std::to_string(i + 1)); 280115cd2caSopenharmony_ci values.push_back(calllogValues); 281115cd2caSopenharmony_ci } 282115cd2caSopenharmony_ci int batchInsertCode = calllogAbility.BatchInsert(uriCalllog, values); 283115cd2caSopenharmony_ci EXPECT_EQ(batchInsertCode, 0); 284115cd2caSopenharmony_ci} 285115cd2caSopenharmony_ci 286115cd2caSopenharmony_ci/* 287115cd2caSopenharmony_ci * @tc.number calllog_update_performance_test_200 288115cd2caSopenharmony_ci * @tc.name calllog calllog stability testing update 10000 289115cd2caSopenharmony_ci * @tc.desc update 10000 290115cd2caSopenharmony_ci * @tc.level Level1 291115cd2caSopenharmony_ci * @tc.size MediumTest 292115cd2caSopenharmony_ci * @tc.type Function 293115cd2caSopenharmony_ci */ 294115cd2caSopenharmony_ciHWTEST_F(StabilityTest, calllog_update_performance_test_200, testing::ext::TestSize.Level1) 295115cd2caSopenharmony_ci{ 296115cd2caSopenharmony_ci HILOG_INFO("--- calllog_update_performance_test_200 is starting! ---"); 297115cd2caSopenharmony_ci OHOS::Uri uriCalllog(CallLogUri::CALL_LOG); 298115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 299115cd2caSopenharmony_ci updateValues.Put("answer_state", 1); 300115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 301115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 302115cd2caSopenharmony_ci int updateCode = calllogAbility.Update(uriCalllog, predicates, updateValues); 303115cd2caSopenharmony_ci HILOG_INFO("calllog_update_performance_test_200 : updateCode = %{public}d", updateCode); 304115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 305115cd2caSopenharmony_ci} 306115cd2caSopenharmony_ci 307115cd2caSopenharmony_ci/* 308115cd2caSopenharmony_ci * @tc.number calllog_query_performance_test_300 309115cd2caSopenharmony_ci * @tc.name calllog calllog stability testing query 10000 310115cd2caSopenharmony_ci * @tc.desc query 10000 311115cd2caSopenharmony_ci * @tc.level Level1 312115cd2caSopenharmony_ci * @tc.size MediumTest 313115cd2caSopenharmony_ci * @tc.type Function 314115cd2caSopenharmony_ci */ 315115cd2caSopenharmony_ciHWTEST_F(StabilityTest, calllog_query_performance_test_300, testing::ext::TestSize.Level1) 316115cd2caSopenharmony_ci{ 317115cd2caSopenharmony_ci HILOG_INFO("--- calllog_query_performance_test_300 is starting! ---"); 318115cd2caSopenharmony_ci OHOS::Uri uriCalllog(CallLogUri::CALL_LOG); 319115cd2caSopenharmony_ci std::vector<std::string> columns; 320115cd2caSopenharmony_ci columns.push_back("id"); 321115cd2caSopenharmony_ci columns.push_back("phone_number"); 322115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 323115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 324115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = 325115cd2caSopenharmony_ci calllogAbility.Query(uriCalllog, predicates, columns); 326115cd2caSopenharmony_ci int rowCount = 0; 327115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 328115cd2caSopenharmony_ci EXPECT_GT(rowCount, 9999); 329115cd2caSopenharmony_ci resultSet->Close(); 330115cd2caSopenharmony_ci} 331115cd2caSopenharmony_ci 332115cd2caSopenharmony_ci/* 333115cd2caSopenharmony_ci * @tc.number calllog_delete_performance_test_400 334115cd2caSopenharmony_ci * @tc.name calllog calllog stability testing delete 10000 335115cd2caSopenharmony_ci * @tc.desc delete 10000 336115cd2caSopenharmony_ci * @tc.level Level1 337115cd2caSopenharmony_ci * @tc.size MediumTest 338115cd2caSopenharmony_ci * @tc.type Function 339115cd2caSopenharmony_ci */ 340115cd2caSopenharmony_ciHWTEST_F(StabilityTest, calllog_delete_performance_test_400, testing::ext::TestSize.Level1) 341115cd2caSopenharmony_ci{ 342115cd2caSopenharmony_ci HILOG_INFO("--- calllog_delete_performance_test_400 is starting! ---"); 343115cd2caSopenharmony_ci OHOS::Uri uriCalllog(CallLogUri::CALL_LOG); 344115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 345115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 346115cd2caSopenharmony_ci int deleteCode = calllogAbility.Delete(uriCalllog, predicates); 347115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 348115cd2caSopenharmony_ci} 349115cd2caSopenharmony_ci 350115cd2caSopenharmony_ci/* 351115cd2caSopenharmony_ci * @tc.number voicemail_insert_performance_test_500 352115cd2caSopenharmony_ci * @tc.name voicemail stability testing delete 10000 353115cd2caSopenharmony_ci * @tc.desc delete 10000 354115cd2caSopenharmony_ci * @tc.level Level1 355115cd2caSopenharmony_ci * @tc.size MediumTest 356115cd2caSopenharmony_ci * @tc.type Function 357115cd2caSopenharmony_ci */ 358115cd2caSopenharmony_ciHWTEST_F(StabilityTest, voicemail_insert_performance_test_500, testing::ext::TestSize.Level1) 359115cd2caSopenharmony_ci{ 360115cd2caSopenharmony_ci OHOS::Uri uriVoiceMail(VoicemailUri::VOICEMAIL); 361115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicatesOne; 362115cd2caSopenharmony_ci predicatesOne.GreaterThan("id", "0"); 363115cd2caSopenharmony_ci HILOG_INFO("voicemail_insert_performance_test_500 deleted start! "); 364115cd2caSopenharmony_ci voicemailAbility.Delete(uriVoiceMail, predicatesOne); 365115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_insert_performance_test_500 is starting! ---"); 366115cd2caSopenharmony_ci std::vector<OHOS::DataShare::DataShareValuesBucket> values; 367115cd2caSopenharmony_ci for (int i = 0; i < 10000; i++) { 368115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket voicemailValues; 369115cd2caSopenharmony_ci voicemailValues.Put("phone_number", std::to_string(i + 1)); 370115cd2caSopenharmony_ci values.push_back(voicemailValues); 371115cd2caSopenharmony_ci } 372115cd2caSopenharmony_ci int batchInsertCode = voicemailAbility.BatchInsert(uriVoiceMail, values); 373115cd2caSopenharmony_ci EXPECT_EQ(batchInsertCode, 0); 374115cd2caSopenharmony_ci} 375115cd2caSopenharmony_ci 376115cd2caSopenharmony_ci/* 377115cd2caSopenharmony_ci * @tc.number voicemail_update_performance_test_600 378115cd2caSopenharmony_ci * @tc.name voicemail stability testing update 10000 379115cd2caSopenharmony_ci * @tc.desc update 10000 380115cd2caSopenharmony_ci * @tc.level Level1 381115cd2caSopenharmony_ci * @tc.size MediumTest 382115cd2caSopenharmony_ci * @tc.type Function 383115cd2caSopenharmony_ci */ 384115cd2caSopenharmony_ciHWTEST_F(StabilityTest, voicemail_update_performance_test_600, testing::ext::TestSize.Level1) 385115cd2caSopenharmony_ci{ 386115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_update_performance_test_600 is starting! ---"); 387115cd2caSopenharmony_ci OHOS::Uri uriVoiceMail(VoicemailUri::VOICEMAIL); 388115cd2caSopenharmony_ci OHOS::DataShare::DataShareValuesBucket updateValues; 389115cd2caSopenharmony_ci updateValues.Put("origin_type", "origin"); 390115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 391115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 392115cd2caSopenharmony_ci int updateCode = voicemailAbility.Update(uriVoiceMail, predicates, updateValues); 393115cd2caSopenharmony_ci EXPECT_EQ(updateCode, 0); 394115cd2caSopenharmony_ci} 395115cd2caSopenharmony_ci 396115cd2caSopenharmony_ci/* 397115cd2caSopenharmony_ci * @tc.number voicemail_query_performance_test_700 398115cd2caSopenharmony_ci * @tc.name voicemail stability testing query 10000 399115cd2caSopenharmony_ci * @tc.desc query 10000 400115cd2caSopenharmony_ci * @tc.level Level1 401115cd2caSopenharmony_ci * @tc.size MediumTest 402115cd2caSopenharmony_ci * @tc.type Function 403115cd2caSopenharmony_ci */ 404115cd2caSopenharmony_ciHWTEST_F(StabilityTest, voicemail_query_performance_test_700, testing::ext::TestSize.Level1) 405115cd2caSopenharmony_ci{ 406115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_query_performance_test_700 is starting! ---"); 407115cd2caSopenharmony_ci OHOS::Uri uriVoiceMail(VoicemailUri::VOICEMAIL); 408115cd2caSopenharmony_ci std::vector<std::string> columns; 409115cd2caSopenharmony_ci columns.push_back("id"); 410115cd2caSopenharmony_ci columns.push_back("phone_number"); 411115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 412115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 413115cd2caSopenharmony_ci std::shared_ptr<OHOS::DataShare::DataShareResultSet> resultSet = 414115cd2caSopenharmony_ci voicemailAbility.Query(uriVoiceMail, predicates, columns); 415115cd2caSopenharmony_ci int rowCount = 0; 416115cd2caSopenharmony_ci resultSet->GetRowCount(rowCount); 417115cd2caSopenharmony_ci EXPECT_GT(rowCount, 9999); 418115cd2caSopenharmony_ci resultSet->Close(); 419115cd2caSopenharmony_ci} 420115cd2caSopenharmony_ci 421115cd2caSopenharmony_ci/* 422115cd2caSopenharmony_ci * @tc.number voicemail_delete_performance_test_800 423115cd2caSopenharmony_ci * @tc.name voicemail stability testing delete 10000 424115cd2caSopenharmony_ci * @tc.desc delete 10000 425115cd2caSopenharmony_ci * @tc.level Level1 426115cd2caSopenharmony_ci * @tc.size MediumTest 427115cd2caSopenharmony_ci * @tc.type Function 428115cd2caSopenharmony_ci */ 429115cd2caSopenharmony_ciHWTEST_F(StabilityTest, voicemail_delete_performance_test_800, testing::ext::TestSize.Level1) 430115cd2caSopenharmony_ci{ 431115cd2caSopenharmony_ci HILOG_INFO("--- voicemail_delete_performance_test_800 is starting! ---"); 432115cd2caSopenharmony_ci OHOS::Uri uriVoiceMail(VoicemailUri::VOICEMAIL); 433115cd2caSopenharmony_ci OHOS::DataShare::DataSharePredicates predicates; 434115cd2caSopenharmony_ci predicates.GreaterThan("id", "0"); 435115cd2caSopenharmony_ci int deleteCode = voicemailAbility.Delete(uriVoiceMail, predicates); 436115cd2caSopenharmony_ci EXPECT_EQ(deleteCode, 0); 437115cd2caSopenharmony_ci} 438115cd2caSopenharmony_ci 439115cd2caSopenharmony_ciHWTEST_F(StabilityTest, PerformanceTestDeleted, testing::ext::TestSize.Level1) 440115cd2caSopenharmony_ci{ 441115cd2caSopenharmony_ci DeleteContact(); 442115cd2caSopenharmony_ci} 443115cd2caSopenharmony_ci} // namespace Test 444115cd2caSopenharmony_ci} // namespace Contacts