1 /* 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef CONTACTPROFILE_TEST_H 17 #define CONTACTPROFILE_TEST_H 18 19 #include "base_test.h" 20 21 namespace Contacts { 22 namespace Test { 23 class ContactProfileTest : public BaseTest { 24 public: 25 static constexpr int SLEEP_TIME = 2; 26 27 ContactProfileTest(); 28 ~ContactProfileTest(); 29 int64_t RawContactInsert(std::string displayName, OHOS::DataShare::DataShareValuesBucket &alues); 30 int64_t RawContactExpandInsert( 31 std::vector<std::string> valueVector, int isFavorite, OHOS::DataShare::DataShareValuesBucket &rawContactValues); 32 int64_t RawContactLastContactedInsert( 33 std::string displayName, int lastestContactedTime, OHOS::DataShare::DataShareValuesBucket &rawContactValues); 34 int64_t ContactDataInsert(int64_t rawContactId, std::string contentType, std::string detailInfo, 35 std::string position, OHOS::DataShare::DataShareValuesBucket &contactDataValues); 36 int64_t GroupsInsert(std::string groupName, OHOS::DataShare::DataShareValuesBucket &groupValues); 37 int64_t ContactBlocklistInsert(std::string phoneNumber, OHOS::DataShare::DataShareValuesBucket &rawContactValues); 38 int ContactUpdate(const std::string &tableName, OHOS::DataShare::DataShareValuesBucket updateValues, 39 OHOS::DataShare::DataSharePredicates predicates); 40 int ContactDelete(const std::string &tableName, OHOS::DataShare::DataSharePredicates predicates); 41 std::shared_ptr<OHOS::DataShare::DataShareResultSet> ContactQuery(const std::string &tableName, 42 std::vector<std::string> &columns, OHOS::DataShare::DataSharePredicates predicates); 43 void QueryAndExpectResult(std::string &tableName, OHOS::DataShare::DataSharePredicates predicates, 44 OHOS::DataShare::DataShareValuesBucket &values, std::string testName); 45 OHOS::DataShare::DataShareValuesBucket GetAllColumnsValues( 46 std::vector<std::string> &columnsInt, std::vector<std::string> &columnsStr); 47 void GetAllRawContactColumns(std::vector<std::string> &columnsInt, std::vector<std::string> &columnsStr); 48 void GetAllContactDataColumns(std::vector<std::string> &columnInt, std::vector<std::string> &columnStr); 49 void GetAllGroupsColumns(std::vector<std::string> &columnInt, std::vector<std::string> &columnStr); 50 void GetAllContactBlocklistColumns(std::vector<std::string> &columnInt, std::vector<std::string> &columnStr); 51 void GetDetailsContactDataColumns(std::vector<std::string> &columns); 52 void MergeColumns( 53 std::vector<std::string> &columns, std::vector<std::string> &columnsInt, std::vector<std::string> &columnsStr); 54 int64_t RawContactInsertValues(OHOS::DataShare::DataShareValuesBucket &values); 55 int64_t ContactDataInsertValues(OHOS::DataShare::DataShareValuesBucket &values); 56 int64_t GroupsInsertValues(OHOS::DataShare::DataShareValuesBucket &values); 57 int64_t ContactBlocklistInsertValues(OHOS::DataShare::DataShareValuesBucket &values); 58 std::vector<OHOS::DataShare::DataShareValuesBucket> GetBatchList(int64_t rawContactId); 59 void ClearContacts(); 60 }; 61 } // namespace Test 62 } // namespace Contacts 63 #endif // CONTACTPROFILE_TEST_H 64