• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
16import dataShare from '@ohos.data.dataShare';
17import {afterAll, afterEach, beforeAll, beforeEach, describe, expect, it} from 'deccjsunit/index'
18
19import common from './common.js';
20
21const URI_CONTACTS = "datashare:///com.ohos.contactsdataability";
22const profilecontactUri = "datashare:///com.ohos.contactsdataability/profile/contact";
23const profileRawContactUri = "datashare:///com.ohos.contactsdataability/profile/raw_contact";
24const profileContactDataUri = "datashare:///com.ohos.contactsdataability/profile/contact_data";
25const profileGroupUri = "datashare:///com.ohos.contactsdataability/profile/groups";
26const profileBlocklistUri = "datashare:///com.ohos.contactsdataability/profile/contact_blocklist";
27const profilesearchContactUri = "datashare:///com.ohos.contactsdataability/profile/search_contact";
28const profileDeletedContactsUri = "datashare:///com.ohos.contactsdataability/profile/deleted_raw_contact";
29const profile_deleted_raw_contact_record =
30    "datashare:///com.ohos.contactsdataability/profile/deleted_raw_contact_record";
31
32describe('ContactCardTest', function() {
33    console.info("-------ContactsTest is starting!--------");
34
35    var sleep_two = 2000;
36    var sleep_one = 1000;
37    var array_two = 2;
38    var array_three = 3;
39    var array_four = 4;
40    var result_size_five = 5
41
42    function sleep(numberMillis)
43    {
44        var now = new Date();
45        var exitTime = now.getTime() + numberMillis;
46        while (true) {
47            now = new Date();
48            if (now.getTime() > exitTime)
49                return;
50        }
51    }
52
53    async function contactsQuery(map, tag, uri)
54    {
55        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
56        console.info(tag + ': contactsQuery start ! dataShareHelper = ' + dataShareHelper);
57        var resultColumns = [];
58        let condition = new dataShare.DataSharePredicates();
59        condition.equalTo("id", map.get("id"));
60        try {
61            var resultSet = await dataShareHelper.query(uri, resultColumns, condition);
62            sleep(sleep_two);
63            if (resultSet.rowCount > 0) {
64                if (resultSet.goToFirstRow()) {
65                    do {
66                        for (var [key, value] of map) {
67                            let dbresult = resultSet.getString(resultSet.getColumnIndex(key));
68                            console.info(tag + ':logMessage contactsQuery key = ' + key + ' dbresult :' + dbresult +
69                                         ' value : ' + value);
70                            expect(value == dbresult).assertEqual(true);
71                        }
72                    } while (resultSet.goToNextRow());
73                }
74            }
75            resultSet.close();
76        } catch (error) {
77            console.info(tag + "logMessage contactsQuery: error = " + error);
78        }
79    }
80
81    async function queryBatch(map, tag, size)
82    {
83        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
84        console.info(tag + ': queryBatch start ! dataShareHelper = ' + dataShareHelper);
85        var resultColumns = [];
86        let condition = new dataShare.DataSharePredicates();
87        condition.equalTo("raw_contact_id", map.get("raw_contact_id"));
88        try {
89            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
90            sleep(sleep_one);
91            console.info(tag + ': queryBatch start ! resultSet.rowCount = ' + resultSet.rowCount);
92            expect(resultSet.rowCount == size).assertEqual(true);
93            resultSet.close();
94        } catch (error) {
95            console.info(tag + "logMessage resultSet.rowCount: error = " + error);
96        }
97    }
98
99    async function queryIdForDelete(map, tag, uri)
100    {
101        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
102        console.info(tag + ': queryIdForDelete start ! dataShareHelper = ' + dataShareHelper);
103        let resultColumns = common.getCallLogResultColumns();
104        let condition = new dataShare.DataSharePredicates();
105        condition.equalTo("id", map.get("id"));
106        try {
107            var resultSet = await dataShareHelper.query(uri, resultColumns, condition);
108            sleep(sleep_one);
109            expect(resultSet.goToFirstRow() == false).assertTrue();
110            console.info(tag + " :logMessage queryIdForDelete: goToFirstRow " + resultSet.goToFirstRow());
111            resultSet.close();
112        } catch (error) {
113            console.info(tag + " :logMessage queryIdForDelete: error = " + error);
114        }
115    }
116
117    async function deleteAll(uri, tag)
118    {
119        try {
120            let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
121            let condition = new dataShare.DataSharePredicates();
122            condition.greaterThan("id", "0");
123            var deleteCode = await dataShareHelper.delete(uri, condition);
124            console.info(tag + ': deleteAll deleteCode = ' + deleteCode);
125            expect(deleteCode == 0).assertTrue();
126        } catch (error) {
127            console.info(tag + ': deleteAll error = ' + error);
128        }
129    }
130
131    async function deleteRawContact(tag)
132    {
133        try {
134            let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
135            let condition = new dataShare.DataSharePredicates();
136            condition.greaterThan("id", "0");
137            condition.and();
138            condition.equalTo("is_deleted", "0");
139            var deleteCode = await dataShareHelper.delete(profileRawContactUri, condition);
140            console.info(tag + ': deleteRawContact deleteCode = ' + deleteCode);
141            expect(deleteCode == 0).assertTrue();
142            sleep(sleep_one);
143            var conditionAll = new dataShare.DataSharePredicates();
144            conditionAll.greaterThan("id", "0");
145            var code = await dataShareHelper.delete(profileDeletedContactsUri, conditionAll);
146            console.info(tag + ': Completely delete code = ' + code);
147            expect(code == 0).assertTrue();
148        } catch (error) {
149            console.info(tag + ': deleteRawContact error = ' + error);
150        }
151    }
152
153    async function insertData(rawContactId, type, value, position)
154    {
155        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
156        var contactDataValues1 =
157            {"raw_contact_id" : rawContactId, "content_type" : type, "detail_info" : value, "position" : position};
158        try {
159            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
160            console.info("logMessage : contactDataId " + contactDataId);
161            expect(contactDataId > 0).assertTrue();
162        } catch (error) {
163            console.info("logMessage : contact_data name insert error = " + error);
164        }
165        return contactDataId;
166    }
167
168    /**
169     * @tc.number  contactCard_insert_test_100
170     * @tc.name    Insert contact data
171     * @tc.desc    Function test
172     */
173    it("contactCard_insert_test_100", 0, async function(done) {
174        console.info("------logMessage contactCard_insert_test_100 is starting!-----");
175        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
176        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
177        try {
178            var rawContactId = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
179            sleep(sleep_one);
180            console.info('logMessage contactCard_insert_test_100: rawContactId = ' + rawContactId);
181            expect(rawContactId > 0).assertTrue();
182            var map = common.getProfileRawContactMap();
183            map.set("id", rawContactId.toString());
184            await contactsQuery(map, "contactCard_insert_test_100", profileRawContactUri);
185            await deleteRawContact("contactCard_insert_test_100");
186            done();
187        } catch (error) {
188            console.info('logMessage contactCard_insert_test_100: insert error = ' + error);
189            done();
190        }
191    });
192
193    /**
194     * @tc.number  contactCard_insert_test_400
195     * @tc.name    Insert contact details (name, company, position, mobile phone number)
196     * @tc.desc    Function test
197     */
198    it("contactCard_insert_test_400", 0, async function(done) {
199        console.info("------logMessage contactCard_insert_test_400 is starting!-----");
200        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
201        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
202
203        var insertRawContactValues = {
204            "display_name" : "xiaocheng",
205        };
206        try {
207            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
208            console.info("logMessage contactCard_insert_test_400: rawContactId = " + rawContactId);
209            expect(rawContactId > 0).assertTrue();
210            await dataNameInsert(dataShareHelper, rawContactId);
211            await dataCompanyInsert(dataShareHelper, rawContactId);
212            await dataPhoneInsert(dataShareHelper, rawContactId);
213            await deleteRawContact("contactCard_insert_test_400");
214            await deleteAll(profileContactDataUri, "contactCard_insert_test_400");
215            done();
216        } catch (error) {
217            console.info("logMessage contactCard_insert_test_400: raw_contact insert error = " + error);
218            done();
219        }
220    });
221
222    async function dataNameInsert(dataShareHelper, rawContactId)
223    {
224        var contactDataValues1 = {
225            "raw_contact_id" : rawContactId,
226            "content_type" : "name",
227            "detail_info" : "xiaocheng"
228        };
229        try {
230            var contactDataId1 = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
231            console.info("logMessage contactCard_insert_test_400: contactDataId1 " + contactDataId1);
232            expect(contactDataId1 > 0).assertTrue();
233            var map = new Map();
234            map.set("id", contactDataId1.toString());
235            map.set("detail_info", "xiaocheng");
236            map.set("raw_contact_id", rawContactId.toString());
237            await contactsQuery(map, "contactCard_insert_test_400", profileContactDataUri);
238        } catch (error) {
239            console.info("logMessage contactCard_insert_test_400: contact_data name insert error = " + error);
240            done();
241        }
242    }
243
244    async function dataCompanyInsert(dataShareHelper, rawContactId)
245    {
246        var contactDataValues2 = {
247            "raw_contact_id" : rawContactId,
248            "content_type" : "organization",
249            "detail_info" : "TT",
250            "position" : "developer"
251        };
252        try {
253            var contactDataId2 = await dataShareHelper.insert(profileContactDataUri, contactDataValues2);
254            console.info("logMessage contactCard_insert_test_400: contactDataId2 " + contactDataId2);
255            expect(contactDataId2 > 0).assertTrue();
256            var map = new Map();
257            map.set("id", contactDataId2.toString());
258            map.set("detail_info", "TT");
259            map.set("position", "developer");
260            contactsQuery(map, "contactCard_insert_test_400", profileContactDataUri);
261        } catch (error) {
262            console.info("logMessage contactCard_insert_test_400: contact_data company insert error = " + error);
263            done();
264        }
265    }
266
267    async function dataPhoneInsert(dataShareHelper, rawContactId)
268    {
269        var contactDataValues3 = {
270            "raw_contact_id" : rawContactId,
271            "content_type" : "phone",
272            "detail_info" : "12345678"
273        };
274        try {
275            var contactDataId3 = await dataShareHelper.insert(profileContactDataUri, contactDataValues3);
276            sleep(sleep_one);
277            console.info("logMessage contactCard_insert_test_400: contactDataId3 " + contactDataId3);
278            expect(contactDataId3 > 0).assertTrue();
279            var map = new Map();
280            map.set("id", contactDataId3.toString());
281            map.set("detail_info", "12345678");
282            await contactsQuery(map, "contactCard_insert_test_400", profileContactDataUri);
283        } catch (error) {
284            console.info("logMessage contactCard_insert_test_400: contact_data phone insert error = " + error);
285            done();
286        }
287    }
288
289    /**
290     * @tc.number  contactCard_insert_test_500
291     * @tc.name    Insert contact details (nickname, email, home)
292     * @tc.desc    Function test
293     */
294    it("contactCard_insert_test_500", 0, async function(done) {
295        console.info("------logMessage contactCard_insert_test_500 is starting!-----");
296        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
297        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
298
299        var insertRawContactValues = {
300            "display_name" : "xiaocheng",
301        };
302        try {
303            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
304            console.info("logMessage contactCard_insert_test_500: rawContactId = " + rawContactId);
305            expect(rawContactId > 0).assertTrue();
306            await dataEmailInsert(dataShareHelper, rawContactId);
307            await dataNickNameInsert(dataShareHelper, rawContactId);
308            await dataPostalAddressInsert(dataShareHelper, rawContactId);
309            await deleteRawContact("contactCard_insert_test_500");
310            await deleteAll(profileContactDataUri, "contactCard_insert_test_500");
311            done();
312        } catch (error) {
313            console.info("logMessage contactCard_insert_test_500: raw_contact insert error = " + error);
314            done();
315        }
316    });
317
318    async function dataEmailInsert(dataShareHelper, rawContactId)
319    {
320        var contactDataValues1 = {
321            "raw_contact_id" : rawContactId,
322            "content_type" : "email",
323            "detail_info" : "166@163.com"
324        };
325        try {
326            var contactDataId1 = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
327            sleep(sleep_one);
328            console.info("logMessage contactCard_insert_test_500: contactDataId1 " + contactDataId1);
329            expect(contactDataId1 > 0).assertTrue();
330            var map = new Map();
331            map.set("id", contactDataId1.toString());
332            map.set("detail_info", "166@163.com");
333            await contactsQuery(map, "contactCard_insert_test_500_1", profileContactDataUri);
334        } catch (error) {
335            console.info("logMessage contactCard_insert_test_500: contact_data email insert error = " + error);
336        }
337    }
338
339    async function dataNickNameInsert(dataShareHelper, rawContactId)
340    {
341        var contactDataValues2 = {
342            "raw_contact_id" : rawContactId,
343            "content_type" : "nickname",
344            "detail_info" : "xiaocheng"
345        };
346        try {
347            var contactDataId2 = await dataShareHelper.insert(profileContactDataUri, contactDataValues2);
348            console.info("logMessage contactCard_insert_test_500: contactDataId2 " + contactDataId2);
349            expect(contactDataId2 > 0).assertTrue();
350            var map = new Map();
351            map.set("id", contactDataId2.toString());
352            map.set("detail_info", "xiaocheng");
353            await contactsQuery(map, "contactCard_insert_test_500_2", profileContactDataUri);
354        } catch (error) {
355            console.info("logMessage contactCard_insert_test_500: contact_data nickname insert error = " + error);
356        }
357    }
358
359    async function dataPostalAddressInsert(dataShareHelper, rawContactId)
360    {
361        var contactDataValues3 = {
362            "raw_contact_id" : rawContactId,
363            "content_type" : "postal_address",
364            "detail_info" : "NanJingSoftRoad"
365        };
366        try {
367            var contactDataId3 = await dataShareHelper.insert(profileContactDataUri, contactDataValues3);
368            console.info("logMessage contactCard_insert_test_500: contactDataId3 " + contactDataId3);
369            expect(contactDataId3 > 0).assertTrue();
370            var map = new Map();
371            map.set("id", contactDataId3.toString());
372            map.set("detail_info", "NanJingSoftRoad");
373            await contactsQuery(map, "contactCard_insert_test_500_3", profileContactDataUri);
374        } catch (error) {
375            console.info("logMessage contactCard_insert_test_500: contact_data postal_address insert error = " + error);
376        }
377    }
378
379    /**
380     * @tc.number  contactCard_insert_test_600
381     * @tc.name    Insert contact details (remarks, AIM, birthday)
382     * @tc.desc    Function test
383     */
384    it("contactCard_insert_test_600", 0, async function(done) {
385        console.info("------logMessage contactCard_insert_test_600 is starting!-----");
386        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
387        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
388
389        var insertRawContactValues = {
390            "display_name" : "xiaocheng",
391        };
392        try {
393            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues)
394            console.info("logMessage contactCard_insert_test_600: rawContactId = " + rawContactId);
395            expect(rawContactId > 0).assertTrue();
396            await dataNoteInsert(dataShareHelper, rawContactId);
397            await dataAimInsert(dataShareHelper, rawContactId);
398            await dataEventInsert(dataShareHelper, rawContactId);
399            await deleteRawContact("contactCard_insert_test_600");
400            await deleteAll(profileContactDataUri, "contactCard_insert_test_600");
401            done();
402        } catch (error) {
403            console.info("logMessage contactCard_insert_test_600: raw_contact insert error = " + error);
404            done();
405        }
406    });
407
408    async function dataNoteInsert(dataShareHelper, rawContactId)
409    {
410        var contactDataValues1 = {
411            "raw_contact_id" : rawContactId,
412            "content_type" : "note",
413            "detail_info" : "javaGangster"
414        };
415        try {
416            var contactDataId1 = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
417            console.info("logMessage contactCard_insert_test_600: contactDataId1 " + contactDataId1);
418            expect(contactDataId1 > 0).assertTrue();
419            var map = new Map();
420            map.set("id", contactDataId1.toString());
421            map.set("detail_info", "javaGangster");
422            await contactsQuery(map, "contactCard_insert_test_600_1", profileContactDataUri);
423        } catch (error) {
424            console.info("logMessage contactCard_insert_test_600: contact_data note insert error = " + error);
425            done();
426        }
427    }
428
429    async function dataAimInsert(dataShareHelper, rawContactId)
430    {
431        var contactDataValues2 = {"raw_contact_id" : rawContactId, "content_type" : "im", "detail_info" : "aaaaa"};
432        try {
433            var contactDataId2 = await dataShareHelper.insert(profileContactDataUri, contactDataValues2);
434            console.info("logMessage contactCard_insert_test_600: contactDataId2 " + contactDataId2);
435            expect(contactDataId2 > 0).assertTrue();
436            var map = new Map();
437            map.set("id", contactDataId1.toString());
438            map.set("detail_info", "aaaaa");
439            await contactsQuery(map, "contactCard_insert_test_600_2", profileContactDataUri);
440        } catch (error) {
441            console.info("logMessage contactCard_insert_test_600: contact_data aim insert error = " + error);
442        }
443    }
444
445    async function dataEventInsert(dataShareHelper, rawContactId)
446    {
447        var contactDataValues3 = {
448            "raw_contact_id" : rawContactId,
449            "content_type" : "contact_event",
450            "detail_info" : "19960229"
451        };
452        try {
453            var contactDataId3 = await dataShareHelper.insert(profileContactDataUri, contactDataValues3);
454            console.info("logMessage contactCard_insert_test_600: contactDataId3 " + contactDataId3);
455            expect(contactDataId3 > 0).assertTrue();
456            var map = new Map();
457            map.set("id", contactDataId1.toString());
458            map.set("detail_info", "19960229");
459            await contactsQuery(map, "contactCard_insert_test_600_3", profileContactDataUri);
460        } catch (error) {
461            console.info("logMessage contactCard_insert_test_600: contact_data event insert error = " + error);
462        }
463    }
464
465    /**
466     * @tc.number  contactCard_insert_test_700
467     * @tc.name    Insert contact details (URL, assistant, group)
468     * @tc.desc    Function test
469     */
470    it("contactCard_insert_test_700", 0, async function(done) {
471        console.info("------logMessage contactCard_insert_test_700 is starting!-----");
472        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
473        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
474
475        var insertRawContactValues = {
476            "display_name" : "xiaocheng",
477        };
478        try {
479            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
480            console.info("logMessage contactCard_insert_test_700: rawContactId = " + rawContactId);
481            expect(rawContactId > 0).assertTrue();
482            await dataWebsiteInsert(dataShareHelper, rawContactId);
483            await dataRelationInsert(dataShareHelper, rawContactId);
484            await dataWebsiteInsert(dataShareHelper, rawContactId);
485            await deleteRawContact("contactCard_insert_test_700");
486            await deleteAll(profileContactDataUri, "contactCard_insert_test_700");
487            done();
488        } catch (error) {
489            console.info("logMessage contactCard_insert_test_700: raw_contact insert error = " + error);
490            done();
491        }
492    });
493
494    async function dataWebsiteInsert(dataShareHelper, rawContactId)
495    {
496        var contactDataValues1 = {
497            "raw_contact_id" : rawContactId,
498            "content_type" : "website",
499            "detail_info" : "www.com"
500        };
501        try {
502            var contactDataId1 = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
503            sleep(sleep_one);
504            console.info("logMessage contactCard_insert_test_700: contactDataId1 " + contactDataId1);
505            expect(contactDataId1 > 0).assertTrue();
506            var map = new Map();
507            map.set("id", contactDataId1.toString());
508            map.set("detail_info", "www.com");
509            await contactsQuery(map, "contactCard_insert_test_700_1", profileContactDataUri);
510            await ContactDataRelationInsert();
511        } catch (error) {
512            console.info("logMessage contactCard_insert_test_700: contact_data website insert error = " + error);
513        }
514    }
515
516    async function dataRelationInsert(dataShareHelper, rawContactId)
517    {
518        var contactDataValues2 = {
519            "raw_contact_id" : rawContactId,
520            "content_type" : "relation",
521            "detail_info" : "Secretary"
522        };
523        try {
524            var contactDataId2 = await dataShareHelper.insert(profileContactDataUri, contactDataValues2);
525            sleep(sleep_one);
526            console.info("logMessage contactCard_insert_test_700: contactDataId2 " + contactDataId2);
527            expect(contactDataId2 > 0).assertTrue();
528            var map = new Map();
529            map.set("id", contactDataId2.toString());
530            map.set("detail_info", "Secretary");
531            await contactsQuery(map, "contactCard_insert_test_700_2", profileContactDataUri);
532            await ContactDataGroupInsert();
533        } catch (error) {
534            console.info("logMessage contactCard_insert_test_700: contact_data relation insert error = " + error);
535        }
536    }
537
538    async function dataGroupInsert(dataShareHelper, rawContactId)
539    {
540        var contactDataValues3 = {
541            "raw_contact_id" : rawContactId,
542            "content_type" : "group_membership",
543            "detail_info" : "1"
544        };
545        try {
546            var contactDataId3 = await dataShareHelper.insert(profileContactDataUri, contactDataValues3);
547            sleep(sleep_one);
548            console.info("logMessage contactCard_insert_test_700: contactDataId3 " + contactDataId3);
549            expect(contactDataId3 > 0).assertTrue();
550            var map = new Map();
551            map.set("id", contactDataId3.toString());
552            map.set("detail_info", "1");
553            await contactsQuery(map, "contactCard_insert_test_700_3", profileContactDataUri);
554            done();
555        } catch (error) {
556            console.info("logMessage contactCard_insert_test_700: contact_data group insert error = " + error);
557        }
558    }
559
560    /**
561     * @tc.number  contactCard_insert_test_800
562     * @tc.name    Insert contact details (phone ringtone)
563     * @tc.desc    Function test
564     */
565    it("contactCard_insert_test_800", 0, async function(done) {
566        console.info("------logMessage contactCard_insert_test_800 is starting!-----");
567        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
568        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
569
570        var insertRawContactValues = {
571            "display_name" : "xiaocheng",
572        };
573        try {
574            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
575            console.info("logMessage contactCard_insert_test_800: rawContactId = " + rawContactId);
576            expect(rawContactId > 0).assertTrue();
577            await dataMiscInsert(dataShareHelper, rawContactId);
578            await deleteRawContact("contactCard_insert_test_800");
579            await deleteAll(profileContactDataUri, "contactCard_insert_test_800");
580            done();
581        } catch (error) {
582            console.info("logMessage contactCard_insert_test_800: raw_contact insert error = " + error);
583            done();
584        }
585    });
586
587    async function dataMiscInsert(dataShareHelper, rawContactId)
588    {
589        var contactDataValues1 = {
590            "raw_contact_id" : rawContactId,
591            "content_type" : "contact_misc",
592            "detail_info" : "1234"
593        };
594        try {
595            var contactDataId1 = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
596            sleep(sleep_one);
597            console.info("logMessage contactCard_insert_test_800: contactDataId1 " + contactDataId1);
598            expect(contactDataId1 > 0).assertTrue();
599            var map = new Map();
600            map.set("id", contactDataId1.toString());
601            map.set("detail_info", "1234");
602            await contactsQuery(map, "contactCard_insert_test_800_1", profileContactDataUri);
603        } catch (error) {
604            console.info("logMessage contactCard_insert_test_800: contact_data misc insert error = " + error);
605        }
606    }
607
608    /**
609     * @tc.number  contactCard_update_test_900
610     * @tc.name    Update contact data
611     * @tc.desc    Function test
612     */
613    it("contactCard_update_test_900", 0, async function(done) {
614        console.info("------logMessage contactCard_update_test_900 is starting!-----");
615        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
616        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
617
618        var insertRawContactValues = {
619            "display_name" : "licheng",
620            "company" : "TT",
621            "position" : "developer",
622            "favorite" : 1,
623            "phonetic_name" : "licheng||lc"
624        };
625        try {
626            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
627            console.info("logMessage contactCard_update_test_900: rawContactId = " + rawContactId);
628            expect(rawContactId > 0).assertTrue();
629            await rawContactUpdate(dataShareHelper, rawContactId);
630            await deleteRawContact("contactCard_update_test_900");
631            await deleteAll(profileContactDataUri, "contactCard_update_test_900");
632            done();
633        } catch (error) {
634            console.info("logMessage contactCard_update_test_900: raw_contact insert error = " + error);
635            done();
636        }
637    });
638
639    async function rawContactUpdate(dataShareHelper, rawContactId)
640    {
641        var updateValues = {
642            "display_name" : "dacheng",
643            "company" : "oo",
644            "position" : "Testers",
645            "favorite" : 0,
646            "phonetic_name" : "dacheng||dc"
647        };
648        let condition = new dataShare.DataSharePredicates();
649        condition.equalTo("id", rawContactId.toString());
650        try {
651            var updateCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition);
652            sleep(sleep_one);
653            console.info('logMessage contactCard_update_test_900: updateCode = ' + updateCode);
654            expect(updateCode == 0).assertTrue();
655            var map = new Map();
656            map.set("id", rawContactId.toString());
657            map.set("display_name", "dacheng");
658            map.set("company", "oo");
659            map.set("position", "Testers");
660            map.set("favorite", "0");
661            map.set("phonetic_name", "dacheng||dc");
662            await contactsQuery(map, "contactCard_update_test_900", profileRawContactUri);
663        } catch (error) {
664            console.info('logMessage contactCard_update_test_900: raw_contact update error = ' + error);
665        }
666    }
667
668    /**
669     * @tc.number  contactCard_update_test_1200
670     * @tc.name    Update contact details (name)
671     * @tc.desc    Function test
672     */
673    it("contactCard_update_test_1200", 0, async function(done) {
674        console.info("------logMessage contactCard_update_test_1200 is starting!-----");
675        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
676        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
677        var insertRawContactValues = {"display_name" : "xiaoyuan"};
678        try {
679            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
680            console.info("logMessage contactCard_update_test_1200: rawContactId = " + rawContactId);
681            expect(rawContactId > 0).assertTrue();
682            await beforedataNameInsert(dataShareHelper, rawContactId);
683            await dataNameUpdate(dataShareHelper, rawContactId);
684            await deleteRawContact("contactCard_update_test_1200");
685            await deleteAll(profileContactDataUri, "contactCard_update_test_1200");
686            done();
687        } catch (error) {
688            console.info('logMessage contactCard_update_test_1200: raw_contact insert error = ' + error);
689            done();
690        }
691    });
692
693    async function beforedataNameInsert(dataShareHelper, rawContactId)
694    {
695        var contactDataValues = {"raw_contact_id" : rawContactId, "content_type" : "name", "detail_info" : "xiaoyuan"};
696        try {
697            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
698            sleep(sleep_one);
699            console.info('logMessage contactCard_update_test_1200: contactDataId = ' + contactDataId);
700            expect(contactDataId > 0).assertTrue();
701        } catch (error) {
702            console.info('logMessage contactCard_update_test_1200: contact_data insert error = ' + error);
703        }
704    }
705
706    async function dataNameUpdate(dataShareHelper, rawContactId)
707    {
708        var updateValues = {"detail_info" : "dayuan"};
709        let condition = new dataShare.DataSharePredicates();
710        condition.equalTo("raw_contact_id", rawContactId.toString());
711        try {
712            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
713            sleep(sleep_one);
714            console.info('logMessage contactCard_update_test_1200: updateCode = ' + updateCode);
715            expect(updateCode == 0).assertTrue();
716            var map = new Map();
717            map.set("id", rawContactId.toString());
718            map.set("display_name", "dayuan");
719            await contactsQuery(map, "contactCard_update_test_1200", profileRawContactUri);
720        } catch (error) {
721            console.info('logMessage contactCard_update_test_1200: contact_data update error = ' + error);
722        }
723    }
724
725    /**
726     * @tc.number  contactCard_update_test_1300
727     * @tc.name    Update contact details (company, position)
728     * @tc.desc    Function test
729     */
730    it("contactCard_update_test_1300", 0, async function(done) {
731        console.info("------logMessage contactCard_update_test_1300 is starting!-----");
732        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
733        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
734        var insertRawContactValues = {"display_name" : "xiaoyuan"};
735        try {
736            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
737            console.info("logMessage contactCard_update_test_1300: rawContactId = " + rawContactId);
738            expect(rawContactId > 0).assertTrue();
739            await beforedataCompanyInsert(dataShareHelper, rawContactId);
740            await dataCompanyUpdate(dataShareHelper, rawContactId);
741            await deleteRawContact("contactCard_update_test_1300");
742            await deleteAll(profileContactDataUri, "contactCard_update_test_1300");
743            done();
744        } catch (error) {
745            console.info('logMessage contactCard_update_test_1300: raw_contact insert error = ' + error);
746            done();
747        }
748    });
749
750    async function beforedataCompanyInsert(dataShareHelper, rawContactId)
751    {
752        var contactDataValues = {
753            "raw_contact_id" : rawContactId,
754            "content_type" : "organization",
755            "detail_info" : "TT",
756            "position" : "Testers",
757        };
758        try {
759            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
760            sleep(sleep_one);
761            console.info('logMessage contactCard_update_test_1300: contactDataId = ' + contactDataId);
762            expect(contactDataId > 0).assertTrue();
763        } catch (error) {
764            console.info('logMessage contactCard_update_test_1300: contact_data insert error = ' + error);
765        }
766    }
767
768    async function dataCompanyUpdate(dataShareHelper, rawContactId)
769    {
770        var updateValues = {"detail_info" : "OOOO", "position" : "developer"};
771        let condition = new dataShare.DataSharePredicates();
772        condition.equalTo("raw_contact_id", rawContactId.toString());
773        try {
774            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
775            sleep(sleep_one);
776            console.info('logMessage contactCard_update_test_1300: updateCode = ' + updateCode);
777            expect(updateCode == 0).assertTrue();
778            var map = new Map();
779            map.set("id", rawContactId.toString());
780            map.set("company", "OOOO");
781            map.set("position", "developer");
782            await contactsQuery(map, "contactCard_update_test_1300", profileRawContactUri);
783        } catch (error) {
784            console.info('logMessage contactCard_update_test_1300: contact_data update error = ' + error);
785        }
786    }
787
788    /**
789     * @tc.number  contactCard_update_test_1400
790     * @tc.name    Update contact details (mobile phone number)
791     * @tc.desc    Function test
792     */
793    it("contactCard_update_test_1400", 0, async function(done) {
794        console.info("------logMessage contactCard_update_test_1400 is starting!-----");
795        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
796        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
797        var insertRawContactValues = {"display_name" : "xiaoyuan"};
798        try {
799            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
800            console.info("logMessage contactCard_update_test_1400: rawContactId = " + rawContactId);
801            expect(rawContactId > 0).assertTrue();
802            await beforeDataPhoneInsert(dataShareHelper, rawContactId);
803            await dataPhoneUpdate(dataShareHelper, rawContactId);
804            await deleteRawContact("contactCard_update_test_1400");
805            await deleteAll(profileContactDataUri, "contactCard_update_test_1400");
806            done();
807        } catch (error) {
808            console.info('logMessage contactCard_update_test_1400: raw_contact insert error = ' + error);
809            done();
810        }
811    });
812
813    async function beforeDataPhoneInsert(dataShareHelper, rawContactId)
814    {
815        var contactDataValues = {"raw_contact_id" : rawContactId, "content_type" : "phone", "detail_info" : "123456"};
816        try {
817            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
818            sleep(sleep_one);
819            console.info('logMessage contactCard_update_test_1400: contactDataId = ' + contactDataId);
820            expect(contactDataId > 0).assertTrue();
821        } catch (error) {
822            console.info('logMessage contactCard_update_test_1400: contact_data insert error = ' + error);
823        }
824    }
825
826    async function dataPhoneUpdate(dataShareHelper, rawContactId)
827    {
828        var updateValues = {"detail_info" : "99663355"};
829        let condition = new dataShare.DataSharePredicates();
830        condition.equalTo("raw_contact_id", rawContactId.toString());
831        try {
832            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
833            sleep(sleep_one);
834            console.info('logMessage contactCard_update_test_1400: updateCode = ' + updateCode);
835            expect(updateCode == 0).assertTrue();
836            var map = new Map();
837            map.set("id", contactDataId.toString());
838            map.set("detail_info", "99663355");
839            await contactsQuery(map, "contactCard_update_test_1400", profileContactDataUri);
840        } catch (error) {
841            console.info('logMessage contactCard_update_test_1400: contact_data update error = ' + error);
842        }
843    }
844
845    /**
846     * @tc.number  contactCard_update_test_1500
847     * @tc.name    Update contact details (nickname)
848     * @tc.desc    Function test
849     */
850    it("contactCard_update_test_1500", 0, async function(done) {
851        console.info("------logMessage contactCard_update_test_1500 is starting!-----");
852        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
853        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
854
855        var insertRawContactValues = {"display_name" : "xiaoyuan"};
856        try {
857            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
858            console.info("logMessage contactCard_update_test_1500: rawContactId = " + rawContactId);
859            expect(rawContactId > 0).assertTrue();
860            await beforedataNickNameInsert(dataShareHelper, rawContactId);
861            await dataNickNameUpdate(dataShareHelper, rawContactId);
862            await deleteRawContact("contactCard_update_test_1500");
863            await deleteAll(profileContactDataUri, "contactCard_update_test_1500");
864            done();
865        } catch (error) {
866            console.info('logMessage contactCard_update_test_1500: raw_contact insert error = ' + error);
867            done();
868        }
869    });
870
871    async function beforedataNickNameInsert(dataShareHelper, rawContactId)
872    {
873        var contactDataValues = {
874            "raw_contact_id" : rawContactId,
875            "content_type" : "nickname",
876            "detail_info" : "xiaoyuan"
877        };
878        try {
879            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
880            sleep(sleep_one);
881            console.info('logMessage contactCard_update_test_1500: contactDataId = ' + contactDataId);
882            expect(contactDataId > 0).assertTrue();
883        } catch (error) {
884            console.info('logMessage contactCard_update_test_1500: contact_data insert error = ' + error);
885        }
886    }
887
888    async function dataNickNameUpdate(dataShareHelper, rawContactId)
889    {
890        var updateValues = {"detail_info" : "fengyuan"};
891        let condition = new dataShare.DataSharePredicates();
892        condition.equalTo("raw_contact_id", rawContactId.toString());
893        try {
894            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
895            sleep(sleep_one);
896            console.info('logMessage contactCard_update_test_1500: updateCode = ' + updateCode);
897            expect(updateCode == 0).assertTrue();
898            var map = new Map();
899            map.set("id", contactDataId.toString());
900            map.set("detail_info", "fengyuan");
901            await contactsQuery(map, "contactCard_update_test_1500", profileContactDataUri);
902        } catch (error) {
903            console.info('logMessage contactCard_update_test_1500: contact_data update error = ' + error);
904        }
905    }
906
907    /**
908     * @tc.number  contactCard_update_test_1600
909     * @tc.name    Update contact details (email)
910     * @tc.desc    Function test
911     */
912    it("contactCard_update_test_1600", 0, async function(done) {
913        console.info("------logMessage contactCard_update_test_1600 is starting!-----");
914        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
915        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
916
917        var insertRawContactValues = {"display_name" : "xiaoyuan"};
918        try {
919            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
920            console.info("logMessage contactCard_update_test_1600: rawContactId = " + rawContactId);
921            expect(rawContactId > 0).assertTrue();
922            await beforeDataEmailInsert(dataShareHelper, rawContactId);
923            await dataEmailUpdate(dataShareHelper, rawContactId);
924            await deleteRawContact("contactCard_update_test_1600");
925            await deleteAll(profileContactDataUri, "contactCard_update_test_1600");
926            done();
927        } catch (error) {
928            console.info("logMessage contactCard_update_test_1600: raw_contact insert error = " + error);
929            done();
930        }
931    });
932
933    async function beforeDataEmailInsert(dataShareHelper, rawContactId)
934    {
935        var contactDataValues = {
936            "raw_contact_id" : rawContactId,
937            "content_type" : "email",
938            "detail_info" : "166@163.com"
939        };
940        try {
941            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
942            sleep(sleep_one);
943            console.info('logMessage contactCard_update_test_1600: contactDataId = ' + contactDataId);
944            expect(contactDataId > 0).assertTrue();
945        } catch (error) {
946            console.info('logMessage contactCard_update_test_1600: contact_data insert error = ' + error);
947        }
948    }
949
950    async function dataEmailUpdate(dataShareHelper, rawContactId)
951    {
952        var updateValues = {"detail_info" : "199@163.com"};
953        let condition = new dataShare.DataSharePredicates();
954        condition.equalTo("raw_contact_id", rawContactId.toString());
955        try {
956            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition)
957            sleep(sleep_one);
958            console.info('logMessage contactCard_update_test_1600: updateCode = ' + updateCode);
959            expect(updateCode == 0).assertTrue();
960            var map = new Map();
961            map.set("id", contactDataId.toString());
962            map.set("detail_info", "199@163.com");
963            await contactsQuery(map, "contactCard_update_test_1600", profileContactDataUri);
964        } catch (error) {
965            console.info('logMessage contactCard_update_test_1600: update error = ' + error);
966        }
967    }
968
969    /**
970     * @tc.number  contactCard_update_test_1700
971     * @tc.name    Update Contact Details (Residential)
972     * @tc.desc    Function test
973     */
974    it("contactCard_update_test_1700", 0, async function(done) {
975        console.info("------logMessage contactCard_update_test_1700 is starting!-----");
976        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
977        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
978
979        var insertRawContactValues = {"display_name" : "xiaoyuan"};
980        try {
981            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
982            console.info("logMessage contactCard_update_test_1700: rawContactId = " + rawContactId);
983            expect(rawContactId > 0).assertTrue();
984            await beforeDataPostalInsert(dataShareHelper, rawContactId);
985            await dataPostalUpdate();
986            await deleteRawContact("contactCard_update_test_1700");
987            await deleteAll(profileContactDataUri, "contactCard_update_test_1700");
988            done();
989        } catch (error) {
990            console.info("logMessage contactCard_update_test_1700: raw_contact insert error = " + error);
991            done();
992        }
993    });
994
995    async function beforeDataPostalInsert(dataShareHelper, rawContactId)
996    {
997        var contactDataValues = {
998            "raw_contact_id" : rawContactId,
999            "content_type" : "postal_address",
1000            "detail_info" : "NanJing"
1001        };
1002        try {
1003            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
1004            sleep(sleep_one);
1005            console.info('logMessage contactCard_update_test_1700: contactDataId = ' + contactDataId);
1006            expect(contactDataId > 0).assertTrue();
1007        } catch (error) {
1008            console.info("logMessage contactCard_update_test_1700: contact_data insert error = " + error);
1009        }
1010    }
1011
1012    async function dataPostalUpdate(dataShareHelper, rawContactId)
1013    {
1014        var updateValues = {"detail_info" : "BeiJing"};
1015        let condition = new dataShare.DataSharePredicates();
1016        condition.equalTo("raw_contact_id", rawContactId.toString());
1017        try {
1018            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1019            sleep(sleep_one);
1020            console.info('logMessage contactCard_update_test_1700: updateCode = ' + updateCode);
1021            expect(updateCode == 0).assertTrue();
1022            var map = new Map();
1023            map.set("id", contactDataId.toString());
1024            map.set("detail_info", "BeiJing");
1025            await contactsQuery(map, "contactCard_update_test_1700", profileContactDataUri);
1026        } catch (error) {
1027            console.info('logMessage contactCard_update_test_1700: update error = ' + error);
1028        }
1029    }
1030
1031    /**
1032     * @tc.number  contactCard_update_test_1800
1033     * @tc.name    Update contact details (remarks)
1034     * @tc.desc    Function test
1035     */
1036    it("contactCard_update_test_1800", 0, async function(done) {
1037        console.info("------logMessage contactCard_update_test_1800 is starting!-----");
1038        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1039        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1040
1041        var insertRawContactValues = {"display_name" : "xiaoyuan"};
1042        try {
1043            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
1044            console.info("logMessage contactCard_update_test_1800: rawContactId = " + rawContactId);
1045            expect(rawContactId > 0).assertTrue();
1046            await beforedataNoteInsert(dataShareHelper, rawContactId);
1047            await dataNoteUpdate(dataShareHelper, rawContactId);
1048            await deleteRawContact("contactCard_update_test_1800");
1049            await deleteAll(profileContactDataUri, "contactCard_update_test_1800");
1050            done();
1051        } catch (error) {
1052            console.info("logMessage contactCard_update_test_1800: raw_contact insert error = " + error);
1053            done();
1054        }
1055    });
1056
1057    async function beforedataNoteInsert(dataShareHelper, rawContactId)
1058    {
1059        var contactDataValues = {"raw_contact_id" : rawContactId, "content_type" : "note", "detail_info" : "Gangster"};
1060        try {
1061            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
1062            sleep(sleep_one);
1063            console.info('logMessage contactCard_update_test_1800: contactDataId = ' + contactDataId);
1064            expect(contactDataId > 0).assertTrue();
1065        } catch (error) {
1066            console.info('logMessage contactCard_update_test_1800: contact_data insert error = ' + error);
1067        }
1068    }
1069
1070    async function dataNoteUpdate(dataShareHelper, rawContactId)
1071    {
1072        var updateValues = {"detail_info" : "God"};
1073        let condition = new dataShare.DataSharePredicates();
1074        condition.equalTo("raw_contact_id", rawContactId.toString());
1075        try {
1076            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1077            sleep(sleep_one);
1078            console.info('logMessage contactCard_update_test_1800: updateCode = ' + updateCode);
1079            expect(updateCode == 0).assertTrue();
1080            var map = new Map();
1081            map.set("id", contactDataId.toString());
1082            map.set("detail_info", "God");
1083            await contactsQuery(map, "contactCard_update_test_1800", profileContactDataUri);
1084        } catch (error) {
1085            console.info('logMessage contactCard_update_test_1800: update error = ' + error);
1086        }
1087    }
1088
1089    /**
1090     * @tc.number  contactCard_update_test_1900
1091     * @tc.name    Update Contact Details (AIM)
1092     * @tc.desc    Function test
1093     */
1094    it("contactCard_update_test_1900", 0, async function(done) {
1095        console.info("------logMessage contactCard_update_test_1900 is starting!-----");
1096        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1097        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1098
1099        var insertRawContactValues = {"display_name" : "xiaoyuan"};
1100        try {
1101            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues)
1102            console.info("logMessage contactCard_update_test_1900: rawContactId = " + rawContactId);
1103            expect(rawContactId > 0).assertTrue();
1104            await beforeDataAimInsert(dataShareHelper, rawContactId);
1105            await dataAimUpdate(dataShareHelper, rawContactId);
1106            await deleteRawContact("contactCard_update_test_1900");
1107            await deleteAll(profileContactDataUri, "contactCard_update_test_1900");
1108            done();
1109        } catch (error) {
1110            console.info("logMessage contactCard_update_test_1900: raw_contact insert error = " + error);
1111            done();
1112        }
1113    });
1114
1115    async function beforeDataAimInsert(dataShareHelper, rawContactId)
1116    {
1117        var contactDataValues = {"raw_contact_id" : rawContactId, "content_type" : "im", "detail_info" : "aaaaa"};
1118        try {
1119            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
1120            sleep(sleep_one);
1121            console.info('logMessage contactCard_update_test_1900: contactDataId = ' + contactDataId);
1122            expect(contactDataId > 0).assertTrue();
1123        } catch (error) {
1124            console.info("logMessage contactCard_update_test_1900: contact_data insert error = " + error);
1125        }
1126    }
1127
1128    async function dataAimUpdate(dataShareHelper, rawContactId)
1129    {
1130        var updateValues = {"detail_info" : "bbbbb"};
1131        let condition = new dataShare.DataSharePredicates();
1132        condition.equalTo("raw_contact_id", rawContactId.toString());
1133        try {
1134            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1135            sleep(sleep_one);
1136            console.info('logMessage contactCard_update_test_1900: updateCode = ' + updateCode);
1137            expect(updateCode == 0).assertTrue();
1138            var map = new Map();
1139            map.set("id", contactDataId.toString());
1140            map.set("detail_info", "bbbbb");
1141            await contactsQuery(map, "contactCard_update_test_1900", profileContactDataUri);
1142        } catch (error) {
1143            console.info('logMessage contactCard_update_test_1900: update error = ' + error);
1144        }
1145    }
1146
1147    /**
1148     * @tc.number  contactCard_update_test_2000
1149     * @tc.name    Update Contact Details (Birthday)
1150     * @tc.desc    Function test
1151     */
1152    it("contactCard_update_test_2000", 0, async function(done) {
1153        console.info("------logMessage contactCard_update_test_2000 is starting!-----");
1154        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1155        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1156
1157        var insertRawContactValues = {"display_name" : "xiaoyuan"};
1158        try {
1159            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
1160            console.info("logMessage contactCard_update_test_2000: rawContactId = " + rawContactId);
1161            expect(rawContactId > 0).assertTrue();
1162            await beforeDataEventInsert(dataShareHelper, rawContactId);
1163            await dataEventUpdate(dataShareHelper, rawContactId);
1164            await deleteRawContact("contactCard_update_test_2000");
1165            await deleteAll(profileContactDataUri, "contactCard_update_test_2000");
1166            done();
1167        } catch (error) {
1168            console.info("logMessage contactCard_update_test_2000: raw_contact insert error = " + error);
1169            done();
1170        }
1171    });
1172
1173    async function beforeDataEventInsert(dataShareHelper, rawContactId)
1174    {
1175        var contactDataValues1 = {
1176            "raw_contact_id" : rawContactId,
1177            "content_type" : "contact_event",
1178            "detail_info" : "19960229"
1179        };
1180        try {
1181            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
1182            sleep(sleep_one);
1183            console.info('logMessage contactCard_update_test_2000: contactDataId = ' + contactDataId);
1184            expect(contactDataId > 0).assertTrue();
1185        } catch (error) {
1186            console.info('logMessage contactCard_update_test_2000: contact_data insert error = ' + error);
1187        }
1188    }
1189
1190    async function dataEventUpdate(dataShareHelper, rawContactId)
1191    {
1192        var updateValues = {"detail_info" : "19971021"};
1193        let condition = new dataShare.DataSharePredicates();
1194        condition.equalTo("raw_contact_id", rawContactId.toString());
1195        try {
1196            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1197            sleep(sleep_one);
1198            console.info('logMessage contactCard_update_test_2000: updateCode = ' + updateCode);
1199            expect(updateCode == 0).assertTrue();
1200            var map = new Map();
1201            map.set("id", contactDataId.toString());
1202            map.set("detail_info", "19971021");
1203            await contactsQuery(map, "contactCard_update_test_2000", profileContactDataUri);
1204        } catch (error) {
1205            console.info('logMessage contactCard_update_test_2000: update error = ' + error);
1206        }
1207    }
1208
1209    /**
1210     * @tc.number  contactCard_update_test_2100
1211     * @tc.name    Update contact details (website)
1212     * @tc.desc    Function test
1213     */
1214    it("contactCard_update_test_2100", 0, async function(done) {
1215        console.info("------logMessage contactCard_update_test_2100 is starting!-----");
1216        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1217        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1218
1219        var insertRawContactValues = {"display_name" : "xiaoyuan"};
1220        try {
1221            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
1222            console.info("logMessage contactCard_update_test_2100: rawContactId = " + rawContactId);
1223            expect(rawContactId > 0).assertTrue();
1224            await beforeDataWebsiteInsert(dataShareHelper, rawContactId);
1225            await dataWebsiteUpdate(dataShareHelper, rawContactId);
1226            await deleteRawContact("contactCard_update_test_2100");
1227            await deleteAll(profileContactDataUri, "contactCard_update_test_2100");
1228            done();
1229        } catch (error) {
1230            console.info("logMessage contactCard_update_test_2100: raw_contact insert error = " + error);
1231            done();
1232        }
1233    });
1234
1235    async function beforeDataWebsiteInsert(dataShareHelper, rawContactId)
1236    {
1237        var contactDataValues1 = {
1238            "raw_contact_id" : rawContactId,
1239            "content_type" : "website",
1240            "detail_info" : "www.com"
1241        };
1242        try {
1243            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
1244            sleep(sleep_one);
1245            console.info('logMessage contactCard_update_test_2100: contactDataId = ' + contactDataId);
1246            expect(contactDataId > 0).assertTrue();
1247        } catch (error) {
1248            console.info('logMessage contactCard_update_test_2100: contact_data insert error = ' + error);
1249        }
1250    }
1251
1252    async function dataWebsiteUpdate(dataShareHelper, rawContactId)
1253    {
1254        var updateValues = {"detail_info" : "www.123.com"};
1255        let condition = new dataShare.DataSharePredicates();
1256        condition.equalTo("raw_contact_id", rawContactId.toString());
1257        try {
1258            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1259            sleep(sleep_one);
1260            console.info('logMessage contactCard_update_test_2100: updateCode = ' + updateCode);
1261            expect(updateCode == 0).assertTrue();
1262            var map = new Map();
1263            map.set("id", contactDataId.toString());
1264            map.set("detail_info", "www.123.com");
1265            await contactsQuery(map, "contactCard_update_test_2100", profileContactDataUri);
1266        } catch (error) {
1267            console.info('logMessage contactCard_update_test_2100: update error = ' + error);
1268        }
1269    }
1270
1271    /**
1272     * @tc.number  contactCard_update_test_2200
1273     * @tc.name    Update contact details (assistant)
1274     * @tc.desc    Function test
1275     */
1276    it("contactCard_update_test_2200", 0, async function(done) {
1277        console.info("------logMessage contactCard_update_test_2200 is starting!-----");
1278        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1279        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1280
1281        var insertRawContactValues = {"display_name" : "xiaoyuan"};
1282        try {
1283            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
1284            console.info("logMessage contactCard_update_test_2200: rawContactId = " + rawContactId);
1285            expect(rawContactId > 0).assertTrue();
1286            await beforeDataRelationInsert(dataShareHelper, rawContactId);
1287            await dataRelationUpdate(dataShareHelper, rawContactId);
1288            await deleteRawContact("contactCard_update_test_2200");
1289            await deleteAll(profileContactDataUri, "contactCard_update_test_2200");
1290            done();
1291        } catch (error) {
1292            console.info("logMessage contactCard_update_test_2200: raw_contact insert error = " + error);
1293            done();
1294        }
1295    });
1296
1297    async function beforeDataRelationInsert(dataShareHelper, rawContactId)
1298    {
1299        var contactDataValues = {
1300            "raw_contact_id" : rawContactId,
1301            "content_type" : "relation",
1302            "detail_info" : "Secretary"
1303        };
1304        try {
1305            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
1306            console.info('logMessage contactCard_update_test_2200: contactDataId = ' + contactDataId);
1307            expect(contactDataId > 0).assertTrue();
1308        } catch (error) {
1309            console.info('logMessage contactCard_update_test_2200: contact_data insert error = ' + error);
1310        }
1311    }
1312
1313    async function dataRelationUpdate(dataShareHelper, rawContactId)
1314    {
1315        var updateValues = {"detail_info" : "spouse"};
1316        let condition = new dataShare.DataSharePredicates();
1317        condition.equalTo("raw_contact_id", rawContactId.toString());
1318        try {
1319            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1320            sleep(sleep_one);
1321            console.info('logMessage contactCard_update_test_2200: updateCode = ' + updateCode);
1322            expect(updateCode == 0).assertTrue();
1323            var map = new Map();
1324            map.set("id", contactDataId.toString());
1325            map.set("detail_info", "spouse");
1326            await contactsQuery(map, "contactCard_update_test_2200", profileContactDataUri);
1327        } catch (error) {
1328            console.info('logMessage contactCard_update_test_2200: update error = ' + error);
1329        }
1330    }
1331
1332    /**
1333     * @tc.number  contactCard_update_test_2300
1334     * @tc.name    Update contact detail data table (group)
1335     * @tc.desc    Function test
1336     */
1337    it("contactCard_update_test_2300", 0, async function(done) {
1338        console.info("------logMessage contactCard_update_test_2300 is starting!-----");
1339        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1340        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1341
1342        var insertRawContactValues = {"display_name" : "xiaoyuan"};
1343        try {
1344            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
1345            console.info("logMessage contactCard_update_test_2300: rawContactId = " + rawContactId);
1346            expect(rawContactId > 0).assertTrue();
1347            await beforeDataGroupInsert(dataShareHelper, rawContactId);
1348            await dataGroupUpdate(dataShareHelper, rawContactId);
1349            await deleteRawContact("contactCard_update_test_2300");
1350            await deleteAll(profileContactDataUri, "contactCard_update_test_2300");
1351            done();
1352        } catch (error) {
1353            console.info("logMessage contactCard_update_test_2300: raw_contact insert error = " + error);
1354            done();
1355        }
1356    });
1357
1358    async function beforeDataGroupInsert(dataShareHelper, rawContactId)
1359    {
1360        var contactDataValues = {
1361            "raw_contact_id" : rawContactId,
1362            "content_type" : "group_membership",
1363            "detail_info" : "2"
1364        };
1365        try {
1366            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
1367            sleep(sleep_one);
1368            console.info('logMessage contactCard_update_test_2300: contactDataId = ' + contactDataId);
1369            expect(contactDataId > 0).assertTrue();
1370        } catch (error) {
1371            console.info('logMessage contactCard_update_test_2300: contact_data insert error = ' + error);
1372        }
1373    }
1374
1375    async function dataGroupUpdate(dataShareHelper, rawContactId)
1376    {
1377        var updateValues = {"detail_info" : "7"};
1378        let condition = new dataShare.DataSharePredicates();
1379        condition.equalTo("raw_contact_id", rawContactId.toString());
1380        try {
1381            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1382            sleep(sleep_one);
1383            console.info('logMessage contactCard_update_test_2300: updateCode = ' + updateCode);
1384            expect(updateCode == 0).assertTrue();
1385            var map = new Map();
1386            map.set("id", contactDataId.toString());
1387            map.set("detail_info", "3");
1388            await contactsQuery(map, "contactCard_update_test_2300", profileContactDataUri);
1389        } catch (error) {
1390            console.info('logMessage contactCard_update_test_2300: update error = ' + error);
1391        }
1392    }
1393
1394    /**
1395     * @tc.number  contactCard_update_test_2400
1396     * @tc.name    Update contact detail data table (phone ringtone)
1397     * @tc.desc    Function test
1398     */
1399    it("contactCard_update_test_2400", 0, async function(done) {
1400        console.info("------logMessage contactCard_update_test_2400 is starting!-----");
1401        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1402        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1403
1404        var insertRawContactValues = {"display_name" : "xiaoyuan"};
1405        try {
1406            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
1407            sleep(sleep_one);
1408            console.info("logMessage contactCard_update_test_2400: rawContactId = " + rawContactId);
1409            expect(rawContactId > 0).assertTrue();
1410            await beforeDataMiscInsert(dataShareHelper, rawContactId);
1411            await dataMiscUpdate(dataShareHelper, rawContactId);
1412            await deleteRawContact("contactCard_update_test_2400");
1413            await deleteAll(profileContactDataUri, "contactCard_update_test_2400");
1414            done();
1415        } catch (error) {
1416            console.info("logMessage contactCard_update_test_2400: raw_contact insert error = " + error);
1417            done();
1418        }
1419    });
1420
1421    async function beforeDataMiscInsert(dataShareHelper, rawContactId)
1422    {
1423        var contactDataValues1 = {
1424            "raw_contact_id" : rawContactId,
1425            "content_type" : "contact_misc",
1426            "detail_info" : "1234"
1427        };
1428        try {
1429            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
1430            sleep(sleep_one);
1431            console.info('logMessage contactCard_update_test_2400: contactDataId = ' + contactDataId);
1432            expect(contactDataId > 0).assertTrue();
1433        } catch (error) {
1434            console.info('logMessage contactCard_update_test_2400: contact_data insert error = ' + error);
1435        }
1436    }
1437
1438    async function dataMiscUpdate(dataShareHelper, rawContactId)
1439    {
1440        var updateValues = {"detail_info" : "999"};
1441        let condition = new dataShare.DataSharePredicates();
1442        condition.equalTo("raw_contact_id", rawContactId.toString());
1443        try {
1444            var updateCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
1445            sleep(sleep_one);
1446            console.info('logMessage contactCard_update_test_2400: updateCode = ' + updateCode);
1447            expect(updateCode == 0).assertTrue();
1448            var map = new Map();
1449            map.set("id", contactDataId.toString());
1450            map.set("detail_info", "999");
1451            await contactsQuery(map, "contactCard_update_test_2400", profileContactDataUri);
1452        } catch (error) {
1453            console.info('logMessage contactCard_update_test_2400: update error = ' + error);
1454        }
1455    }
1456
1457    /**
1458     * @tc.number  contactCard_favorite_test_2500
1459     * @tc.name    Favorite contacts
1460     * @tc.desc    Function test
1461     */
1462    it("contactCard_favorite_test_2500", 0, async function(done) {
1463        console.info("-------logMessage contactCard_favorite_test_2500 is starting!------");
1464        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1465        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1466
1467        var rawContactValues = {"display_name" : "xiaocai", "company" : "TT", "position" : "Testers"};
1468        try {
1469            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues)
1470            console.info('logMessage contactCard_favorite_test_2500: rawContactId = ' + rawContactId);
1471            expect(rawContactId > 0).assertTrue();
1472            await updateFavorite(dataShareHelper, rawContactId);
1473            await deleteRawContact("contactCard_favorite_test_2500");
1474            done();
1475        } catch (error) {
1476            console.info('logMessage contactCard_favorite_test_2500: raw_contact insert error = ' + error);
1477            done();
1478        }
1479    });
1480
1481    async function updateFavorite(dataShareHelper, rawContactId)
1482    {
1483        var updateValues = {"favorite" : 1};
1484        let condition = new dataShare.DataSharePredicates();
1485        condition.equalTo("id", rawContactId.toString());
1486        try {
1487            var updateCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition);
1488            sleep(sleep_one);
1489            console.info("logMessage contactCard_favorite_test_2500: updateCode = " + updateCode);
1490            expect(updateCode == 0).assertTrue();
1491            var map = new Map();
1492            map.set("id", rawContactId.toString());
1493            map.set("display_name", "xiaocai");
1494            map.set("company", "TT");
1495            map.set("position", "Testers");
1496            map.set("favorite", "1");
1497            await contactsQuery(map, "contactCard_favorite_test_2500", profileRawContactUri);
1498        } catch (error) {
1499            console.info('logMessage contactCard_favorite_test_2500: update error = ' + error);
1500        }
1501    }
1502
1503    /**
1504     * @tc.number  contactCard_unfavorite_test_2600
1505     * @tc.name    Unfavorite contacts
1506     * @tc.desc    Function test
1507     */
1508    it("contactCard_unfavorite_test_2600", 0, async function(done) {
1509        console.info("-------logMessage contactCard_unfavorite_test_2600 is starting!------");
1510        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1511        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1512        var rawContactValues = {"display_name" : "xiaohong", "company" : "TT", "position" : "Testers", "favorite" : 1};
1513        try {
1514            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
1515            console.info('logMessage contactCard_unfavorite_test_2600: rawContactId = ' + rawContactId);
1516            expect(rawContactId > 0).assertTrue();
1517            await updateUnFavorite(dataShareHelper, rawContactId);
1518            await deleteRawContact("contactCard_unfavorite_test_2600");
1519            done();
1520        } catch (error) {
1521            console.info('logMessage contactCard_unfavorite_test_2600: raw_contact insert error = ' + error);
1522            done();
1523        }
1524    });
1525
1526    async function updateUnFavorite(dataShareHelper, rawContactId)
1527    {
1528        var updateValues = {"favorite" : 0};
1529        let condition = new dataShare.DataSharePredicates();
1530        condition.equalTo("id", rawContactId.toString());
1531        try {
1532            var updateCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition);
1533            sleep(sleep_one);
1534            console.info("logMessage contactCard_unfavorite_test_2600: updateCode = " + updateCode);
1535            expect(updateCode == 0).assertTrue();
1536            var map = new Map();
1537            map.set("id", rawContactId.toString());
1538            map.set("display_name", "xiaohong");
1539            map.set("company", "TT");
1540            map.set("position", "Testers");
1541            map.set("favorite", "0");
1542            await contactsQuery(map, "contactCard_unfavorite_test_2600", profileRawContactUri);
1543        } catch (error) {
1544            console.info("logMessage contactCard_unfavorite_test_2600: update error = " + error);
1545        }
1546    }
1547
1548    /**
1549     * @tc.number  contactCard_insert_test_2700
1550     * @tc.name    Insert contact blocklist
1551     * @tc.desc    Function test
1552     */
1553    it("contactCard_insert_test_2700", 0, async function(done) {
1554        console.info("-------logMessage contactCard_insert_test_2700 is starting!------");
1555        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1556        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1557        try {
1558            var blocklistId = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
1559            sleep(sleep_one);
1560            console.info('logMessage contactCard_insert_test_2700: blocklistId = ' + blocklistId);
1561            expect(blocklistId > 0).assertTrue();
1562            var map = common.getProfileBlockListMap();
1563            map.set("id", blocklistId.toString());
1564            await contactsQuery(map, "contactCard_insert_test_2700", profileBlocklistUri);
1565            await deleteAll(profileBlocklistUri, "contactCard_insert_test_2700");
1566            done();
1567        } catch (error) {
1568            console.info('logMessage contactCard_insert_test_2700: blocklist insert error = ' + error);
1569            done();
1570        }
1571    });
1572
1573    /**
1574     * @tc.number  contactCard_delete_test_2800
1575     * @tc.name    Delete contact blocklist
1576     * @tc.desc    Function test
1577     */
1578    it("contactCard_delete_test_2800", 0, async function(done) {
1579        console.info("-------logMessage contactCard_delete_test_2800 is starting!------");
1580        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1581        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1582        try {
1583            var blocklistId = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
1584            sleep(sleep_one);
1585            console.info('logMessage contactCard_delete_test_2800: blocklistId = ' + blocklistId);
1586            expect(blocklistId > 0).assertTrue();
1587            await BlocklistDelete();
1588            done();
1589        } catch (error) {
1590            console.info('logMessage contactCard_delete_test_2800: blocklist insert error = ' + error);
1591            done();
1592        }
1593
1594        async function BlocklistDelete()
1595        {
1596            let condition = new dataShare.DataSharePredicates();
1597            condition.equalTo("id", blocklistId.toString());
1598            try {
1599                var deleteCode = await dataShareHelper.delete(profileBlocklistUri, condition);
1600                sleep(sleep_one);
1601                console.info("logMessage contactCard_delete_test_2800: deleteCode = " + deleteCode);
1602                expect(deleteCode == 0).assertTrue();
1603                var map = new Map();
1604                map.set("id", blocklistId.toString());
1605                await queryIdForDelete(map, "contactCard_delete_test_2800", profileBlocklistUri);
1606            } catch (error) {
1607                console.info('logMessage contactCard_delete_test_2800: delete error = ' + error);
1608                done();
1609            }
1610        }
1611    });
1612
1613    /**
1614     * @tc.number  contactCard_insert_test_2900
1615     * @tc.name    Insert contact group
1616     * @tc.desc    Function test
1617     */
1618    it("contactCard_insert_test_2900", 0, async function(done) {
1619        console.info("-------logMessage contactCard_insert_test_2900 is starting!-------");
1620        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1621        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1622
1623        var groupValues = {"group_name" : "TestersThird"};
1624        try {
1625            var groupId = await dataShareHelper.insert(profileGroupUri, groupValues);
1626            sleep(sleep_one);
1627            console.info("logMessage contactCard_insert_test_2900: groupId =" + groupId);
1628            expect(groupId > 0).assertTrue();
1629            await groupRawContactInsert(dataShareHelper);
1630            await deleteRawContact("contactCard_insert_test_2900");
1631            await deleteAll(profileGroupUri, "contactCard_insert_test_2900");
1632            await deleteAll(profileContactDataUri, "contactCard_insert_test_2900");
1633            done();
1634        } catch (error) {
1635            console.info("logMessage contactCard_insert_test_2900: group insert error =" + error);
1636            done();
1637        }
1638    });
1639
1640    async function groupRawContactInsert(dataShareHelper)
1641    {
1642        var rawContactValues = {"display_name" : "liyu"};
1643        try {
1644            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
1645            sleep(sleep_one);
1646            console.info("logMessage contactCard_insert_test_2900: rawContactId =" + rawContactId);
1647            expect(rawContactId > 0).assertTrue();
1648            await groupDataInsert(dataShareHelper, rawContactId);
1649        } catch (error) {
1650            console.info("logMessage contactCard_insert_test_2900: raw_contact insert error =" + error);
1651        }
1652    }
1653
1654    async function groupDataInsert(dataShareHelper, rawContactId)
1655    {
1656        var contactDataValues = {
1657            "raw_contact_id" : rawContactId,
1658            "content_type" : "group_membership",
1659            "detail_info" : groupId.toString()
1660        };
1661        try {
1662            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues)
1663            sleep(sleep_one);
1664            console.info("logMessage contactCard_insert_test_2900: contactDataId =" + contactDataId);
1665            expect(contactDataId > 0).assertTrue();
1666            var map = new Map();
1667            map.set("id", contactDataId);
1668            map.set("raw_contact_id", rawContactId.toString());
1669            map.set("detail_info", groupId.toString());
1670            await contactsQuery(map, "contactCard_insert_test_2900", profileContactDataUri);
1671        } catch (error) {
1672            console.info("logMessage contactCard_insert_test_2900: contact_data insert error =" + error);
1673        }
1674    }
1675
1676    /**
1677     * @tc.number  contactCard_delete_test_3000
1678     * @tc.name    Delete contact group
1679     * @tc.desc    Function test
1680     */
1681    it("contactCard_delete_test_3000", 0, async function(done) {
1682        console.info("-------logMessage contactCard_delete_test_3000 is starting!-------");
1683        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1684        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1685
1686        var groupValues = {"group_name" : "TestersFourth"};
1687        try {
1688            var groupId = await dataShareHelper.insert(profileGroupUri, groupValues);
1689            sleep(sleep_one);
1690            console.info("logMessage contactCard_delete_test_3000: groupId =" + groupId);
1691            expect(groupId > 0).assertTrue();
1692            await groupAfterRawContactInsert(dataShareHelper);
1693            await deleteRawContact("contactCard_delete_test_3000");
1694            await deleteAll(profileGroupUri, "contactCard_delete_test_3000");
1695            await deleteAll(profileContactDataUri, "contactCard_delete_test_3000");
1696            done();
1697        } catch (error) {
1698            console.info("logMessage contactCard_delete_test_3000: group insert error =" + error);
1699            done();
1700        }
1701    });
1702
1703    async function groupAfterRawContactInsert(dataShareHelper)
1704    {
1705        var rawContactValues = {"display_name" : "liyuchen"};
1706        try {
1707            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
1708            sleep(sleep_one);
1709            console.info("logMessage contactCard_delete_test_3000: rawContactId =" + rawContactId);
1710            expect(rawContactId > 0).assertTrue();
1711            await deleteGroupContactDataInsert(dataShareHelper, rawContactId);
1712        } catch (error) {
1713            console.info("logMessage contactCard_delete_test_3000: raw_contact insert error =" + error);
1714        }
1715    }
1716
1717    async function deleteGroupContactDataInsert(dataShareHelper, rawContactId)
1718    {
1719        var contactDataValues = {
1720            "raw_contact_id" : rawContactId,
1721            "content_type" : "group_membership",
1722            "detail_info" : groupId.toString()
1723        };
1724        try {
1725            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
1726            console.info("logMessage contactCard_delete_test_3000: contactDataId =" + contactDataId);
1727            expect(contactDataId > 0).assertTrue();
1728            await deleteGroup(dataShareHelper, contactDataId);
1729        } catch (error) {
1730            console.info("logMessage contactCard_delete_test_3000: contact_data insert error =" + error);
1731        }
1732    }
1733
1734    async function deleteGroup(dataShareHelper, contactDataId)
1735    {
1736        let condition = new dataShare.DataSharePredicates();
1737        condition.equalTo("id", contactDataId.toString());
1738        try {
1739            var deleteCode = await dataShareHelper.delete(profileContactDataUri, condition);
1740            sleep(sleep_one);
1741            console.info("logMessage contactCard_delete_test_3000: deleteCode =" + deleteCode);
1742            expect(deleteCode == 0).assertTrue();
1743            var map = new Map();
1744            map.set("id", contactDataId.toString());
1745            await queryIdForDelete(map, "contactCard_delete_test_3000", profileContactDataUri);
1746        } catch (error) {
1747            console.info("logMessage contactCard_delete_test_3000: delete error =" + error);
1748        }
1749    }
1750
1751    /**
1752     * @tc.number  contactCard_query_test_3100
1753     * @tc.name    Query basic information of a single contact
1754     * @tc.desc    Function test
1755     */
1756    it("contactCard_query_test_3100", 0, async function(done) {
1757        console.info("-----------logMessage contactCard_query_test_3100 is starting!------------");
1758        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1759        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1760
1761        var rawContactValues = {"display_name" : "xiaoyu"};
1762        try {
1763            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
1764            sleep(sleep_one);
1765            console.info("logMessage contactCard_query_test_3100: rawContactId = " + rawContactId);
1766            expect(rawContactId > 0).assertTrue();
1767            await RawContactQuery(dataShareHelper, rawContactId);
1768            await deleteRawContact("contactCard_query_test_3100");
1769            done();
1770        } catch (error) {
1771            console.info("logMessage contactCard_query_test_3100: raw_contact insert error = " + error);
1772            done();
1773        }
1774    });
1775
1776    async function RawContactQuery(dataShareHelper, rawContactId)
1777    {
1778        var resultColumns = [ "id", "display_name" ];
1779        let condition = new dataShare.DataSharePredicates();
1780        condition.equalTo("id", rawContactId.toString());
1781        try {
1782            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
1783            sleep(sleep_two);
1784            if (resultSet.goToFirstRow()) {
1785                do {
1786                    console.info('logMessage contactCard_query_test_3100: id = ' + resultSet.getString(0));
1787                    expect(resultSet.getString(0) == rawContactId).assertEqual(true);
1788                    console.info('logMessage contactCard_query_test_3100: display_name = ' + resultSet.getString(1));
1789                    expect(resultSet.getString(1) == "xiaoyu").assertEqual(true);
1790                } while (resultSet.goToNextRow());
1791            }
1792            resultSet.close();
1793        } catch (error) {
1794            console.info("logMessage contactCard_query_test_3100: query error = " + error);
1795        }
1796    }
1797
1798    /**
1799     * @tc.number  contactCard_query_test_3200
1800     * @tc.name    Query basic information of multiple contacts
1801     * @tc.desc    Function test
1802     */
1803    it("contactCard_query_test_3200", 0, async function(done) {
1804        console.info("-----------logMessage contactCard_query_test_3200 is starting!------------");
1805        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1806        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1807
1808        var rawContactValues1 = {"display_name" : "xiaoyu"};
1809        try {
1810            var rawContactId1 = await dataShareHelper.insert(profileRawContactUri, rawContactValues1);
1811            sleep(sleep_one);
1812            console.info("logMessage contactCard_query_test_3200: rawContactId = " + rawContactId1);
1813            expect(rawContactId1 > 0).assertTrue();
1814        } catch (error) {
1815            console.info("logMessage contactCard_query_test_3200: raw_contact_1 insert error = " + error);
1816            done();
1817        }
1818
1819        var rawContactValues2 = {"display_name" : "xiaohong"};
1820        try {
1821            var rawContactId2 = await dataShareHelper.insert(profileRawContactUri, rawContactValues2);
1822            sleep(sleep_one);
1823            console.info("logMessage contactCard_query_test_3200: rawContactId = " + rawContactId2);
1824            expect(rawContactId2 > 0).assertTrue();
1825            await queryTwoRaw(dataShareHelper, rawContactId1, rawContactId2);
1826            await deleteRawContact("contactCard_query_test_3200");
1827            done();
1828        } catch (error) {
1829            console.info("logMessage contactCard_query_test_3200: raw_contact_2 insert error = " + error);
1830            done();
1831        }
1832    });
1833
1834    async function queryTwoRaw(dataShareHelper, rawContactId1, rawContactId2)
1835    {
1836        var resultColumns = [ "id", "display_name" ];
1837        let condition = new dataShare.DataSharePredicates();
1838        condition.equalTo("id", rawContactId1.toString());
1839        condition.or();
1840        condition.equalTo("id", rawContactId2.toString());
1841        try {
1842            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
1843            sleep(sleep_one);
1844            console.info('logMessage contactCard_query_test_3200: goToFirstRow' + resultSet.goToFirstRow());
1845            expect(resultSet.goToFirstRow()).assertEqual(true);
1846            if (resultSet.goToFirstRow()) {
1847                do {
1848                    console.info("logMessage contactCard_query_test_3200: columnNames :" + resultSet.columnNames);
1849                    console.info("logMessage contactCard_query_test_3200: columnCount:" + resultSet.columnCount);
1850                    console.info('logMessage contactCard_query_test_3200: id = ' + resultSet.getString(0));
1851                    console.info('logMessage contactCard_query_test_3200: display_name = ' + resultSet.getString(1));
1852                } while (resultSet.goToNextRow());
1853            }
1854            resultSet.close();
1855        } catch (error) {
1856            console.info('logMessage contactCard_query_test_3200: query error' + error);
1857        }
1858    }
1859
1860    /**
1861     * @tc.number  contactCard_query_test_3300
1862     * @tc.name    Query basic information of all contacts
1863     * @tc.desc    Function test
1864     */
1865    it("contactCard_query_test_3300", 0, async function(done) {
1866        console.info("-----------logMessage contactCard_query_test_3300 is starting!------------");
1867        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1868        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1869
1870        var rawContactValues1 = {"display_name" : "xiaoyu"};
1871        try {
1872            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues1);
1873            sleep(sleep_one);
1874            console.info("logMessage contactCard_query_test_3300: rawContactId = " + rawContactId);
1875            expect(rawContactId > 0).assertTrue();
1876        } catch (error) {
1877            console.info("logMessage contactCard_query_test_3300: raw_contact_1 insert error = " + error);
1878            done();
1879        }
1880        var resultColumns = [ "id", "display_name" ];
1881        let condition = new dataShare.DataSharePredicates();
1882        condition.greaterThan("id", "0");
1883        try {
1884            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
1885            sleep(sleep_one);
1886            if (resultSet.goToFirstRow()) {
1887                do {
1888                    console.info('logMessage contactCard_query_test_3300: id = ' + resultSet.getString(0));
1889                    expect(resultSet.getString(0) == rawContactId.toString()).assertEqual(true);
1890                    console.info('logMessage contactCard_query_test_3300: display_name = ' + resultSet.getString(1));
1891                    expect(resultSet.getString(1) == "xiaoyu").assertEqual(true);
1892                } while (resultSet.goToNextRow());
1893            }
1894            resultSet.close();
1895            await deleteRawContact("contactCard_query_test_3300");
1896            done();
1897        } catch (error) {
1898            console.info("logMessage contactCard_query_test_3300: query error = " + error);
1899            done();
1900        }
1901    });
1902
1903    /**
1904     * @tc.number  contactCard_query_test_3400
1905     * @tc.name    Query all information of a single contact
1906     * @tc.desc    Function test
1907     */
1908    it("contactCard_query_test_3400", 0, async function(done) {
1909        console.info("-----------logMessage contactCard_query_test_3400 is starting!------------");
1910        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1911        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1912
1913        var rawContactValues = {
1914            "display_name" : "xiaoyuzhou",
1915            "company" : "TT",
1916            "position" : "Testers",
1917            "favorite" : 1,
1918            "phonetic_name" : "xiaoyu||xy"
1919        };
1920        try {
1921            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
1922            sleep(sleep_one);
1923            console.info("logMessage contactCard_query_test_3400: rawContactId = " + rawContactId);
1924            expect(rawContactId > 0).assertTrue();
1925            await queryAllInformation(dataShareHelper, rawContactId);
1926            await deleteRawContact("contactCard_query_test_3400");
1927            done();
1928        } catch (error) {
1929            console.info("logMessage contactCard_query_test_3400: raw_contact insert error = " + error);
1930            done();
1931        }
1932    });
1933
1934    async function queryAllInformation(dataShareHelper, rawContactId)
1935    {
1936        var resultColumns = [];
1937        let condition = new dataShare.DataSharePredicates();
1938        condition.equalTo("id", rawContactId.toString());
1939        try {
1940            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
1941            sleep(sleep_one);
1942            if (resultSet.goToFirstRow()) {
1943                do {
1944                    var id = resultSet.getString(resultSet.getColumnIndex("id"));
1945                    console.info('logMessage contactCard_query_test_3400: id = ' + id);
1946                    expect(id == rawContactId).assertEqual(true);
1947                    var favorite = resultSet.getString(resultSet.getColumnIndex("favorite"));
1948                    console.info('logMessage contactCard_query_test_3400: favorite = ' + favorite);
1949                    expect(favorite == "1").assertEqual(true);
1950                    var phonetic_name = resultSet.getString(resultSet.getColumnIndex("phonetic_name"));
1951                    console.info('logMessage contactCard_query_test_3400: phonetic_name = ' + phonetic_name);
1952                    expect(phonetic_name == "xiaoyu||xy").assertEqual(true);
1953                    var company = resultSet.getString(resultSet.getColumnIndex("company"));
1954                    console.info('logMessage contactCard_query_test_3400: company = ' + company);
1955                    expect(company == "TT").assertEqual(true);
1956                    var display_name = resultSet.getString(resultSet.getColumnIndex("display_name"));
1957                    console.info('logMessage contactCard_query_test_3400: display_name = ' + display_name);
1958                    expect(display_name == "xiaoyuzhou").assertEqual(true);
1959                } while (resultSet.goToNextRow());
1960            }
1961            resultSet.close();
1962        } catch (error) {
1963            console.info('logMessage contactCard_query_test_3400: query error = ' + error);
1964        }
1965    }
1966
1967    /**
1968     * @tc.number  contactCard_query_test_3500
1969     * @tc.name    Query group member ability
1970     * @tc.desc    Function test
1971     */
1972    it("contactCard_query_test_3500", 0, async function(done) {
1973        console.info("-----------logMessage contactCard_query_test_3500 is starting!------------");
1974        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
1975        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1976        var rawContactValues = {"display_name" : "xiaoyuzhou"};
1977        try {
1978            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
1979            sleep(sleep_one);
1980            console.info("logMessage contactCard_query_test_3500: rawContactId = " + rawContactId);
1981            expect(rawContactId > 0).assertTrue();
1982        } catch (error) {
1983            console.info("logMessage contactCard_query_test_3500: raw_contact insert error = " + error);
1984            done();
1985        }
1986        var groupValues = {"group_name" : "BossBoard3500"};
1987        try {
1988            var groupId = await dataShareHelper.insert(profileGroupUri, groupValues);
1989            sleep(sleep_one);
1990            console.info("logMessage contactCard_query_test_3500: groupId = " + groupId);
1991            expect(groupId > 0).assertTrue();
1992        } catch (error) {
1993            console.info("logMessage contactCard_query_test_3500: group insert error = " + error);
1994            done();
1995        }
1996        await groupBossBoardInsert(dataShareHelper, rawContactId, groupId);
1997        await deleteRawContact("contactCard_query_test_3500");
1998        await deleteAll(profileGroupUri, "contactCard_query_test_3500");
1999        await deleteAll(profileContactDataUri, "contactCard_query_test_3500");
2000        done();
2001    });
2002
2003    async function groupBossBoardInsert(dataShareHelper, rawContactId, groupId)
2004    {
2005        var contactDataValues = {
2006            "raw_contact_id" : rawContactId,
2007            "content_type" : "group_membership",
2008            "detail_info" : groupId.toString()
2009        };
2010        try {
2011            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
2012            sleep(sleep_one);
2013            console.info("logMessage contactCard_query_test_3500: contactDataId = " + contactDataId);
2014            expect(contactDataId > 0).assertTrue();
2015            await groupBossBoardQuery(dataShareHelper, rawContactId, groupId);
2016        } catch (error) {
2017            console.info("logMessage contactCard_query_test_3500: query error = " + error);
2018        }
2019    }
2020
2021    async function groupBossBoardQuery(dataShareHelper, rawContactId, groupId)
2022    {
2023        var resultColumns = [ "raw_contact_id", "detail_info" ];
2024        let condition = new dataShare.DataSharePredicates();
2025        // type_id = 9 data is group
2026        condition.equalTo("type_id", "9");
2027        condition.and();
2028        condition.equalTo("detail_info", groupId.toString());
2029        try {
2030            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
2031            sleep(sleep_one);
2032            if (resultSet.goToFirstRow()) {
2033                do {
2034                    console.info('logMessage contactCard_query_test_3500: raw_contact_id = ' + resultSet.getString(0));
2035                    expect(resultSet.getString(0) == rawContactId).assertEqual(true);
2036                    console.info('logMessage contactCard_query_test_3500: detail_info = ' + resultSet.getString(1));
2037                    expect(resultSet.getString(1) == groupId.toString()).assertEqual(true);
2038                } while (resultSet.goToNextRow());
2039            }
2040            resultSet.close();
2041        } catch (error) {
2042            console.info("logMessage contactCard_query_test_3500: query error :" + error);
2043        }
2044    }
2045
2046    /**
2047     * @tc.number  contactCard_query_test_3600
2048     * @tc.name    Query favorite contacts
2049     * @tc.desc    Function test
2050     */
2051    it("contactCard_query_test_3600", 0, async function(done) {
2052        console.info("-----------logMessage contactCard_query_test_3600 is starting!------------");
2053        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2054        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2055        var rawContactValues = {"display_name" : "xiaoyuzhou", "favorite" : 1};
2056        try {
2057            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2058            sleep(sleep_one);
2059            console.info("logMessage contactCard_query_test_3600: rawContactId = " + rawContactId);
2060            expect(rawContactId > 0).assertTrue();
2061            await queryFavorite();
2062            await deleteRawContact("contactCard_query_test_3600");
2063            done();
2064        } catch (error) {
2065            console.info("logMessage contactCard_query_test_3600: raw_contact insert error = " + error);
2066            done();
2067        }
2068
2069        async function queryFavorite()
2070        {
2071            var resultColumns = [ "id", "display_name" ];
2072            let condition = new dataShare.DataSharePredicates();
2073            condition.equalTo("favorite", "1");
2074            condition.and();
2075            condition.equalTo("is_deleted", "0");
2076            try {
2077                var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
2078                sleep(sleep_one);
2079                if (resultSet.goToFirstRow()) {
2080                    do {
2081                        console.info('logMessage contactCard_query_test_3600: id = ' + resultSet.getString(0));
2082                        expect(resultSet.getString(0) == rawContactId.toString()).assertTrue();
2083                        console.info(
2084                            'logMessage contactCard_query_test_3600: display_name = ' + resultSet.getString(1));
2085                        expect(resultSet.getString(1) == "xiaoyuzhou").assertTrue();
2086                    } while (resultSet.goToNextRow());
2087                }
2088                resultSet.close();
2089            } catch (error) {
2090                console.info("logMessage contactCard_query_test_3600: query error :" + error);
2091                done();
2092            }
2093        }
2094    });
2095
2096    /**
2097     * @tc.number  contactCard_query_test_3700
2098     * @tc.name    Query recent contact ability
2099     * @tc.desc    Function test
2100     */
2101    it("contactCard_query_test_3700", 0, async function(done) {
2102        console.info("-----------logMessage contactCard_query_test_3700 is starting!------------");
2103        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2104        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2105        var rawContactValues = {"display_name" : "xiaoyuzhou", "lastest_contacted_time" : 60};
2106        try {
2107            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2108            sleep(sleep_one);
2109            console.info("logMessage contactCard_query_test_3700: rawContactId = " + rawContactId);
2110            expect(rawContactId > 0).assertTrue();
2111            await queryContacted();
2112            await deleteRawContact("contactCard_query_test_3700");
2113            done();
2114        } catch (error) {
2115            console.info("logMessage contactCard_query_test_3700: raw_contact insert error = " + error);
2116            done();
2117        }
2118
2119        async function queryContacted()
2120        {
2121            var resultColumns = [ "id", "display_name" ];
2122            let condition = new dataShare.DataSharePredicates();
2123            condition.lessThan("lastest_contacted_time", "100");
2124            condition.and();
2125            condition.equalTo("is_deleted", "0");
2126            try {
2127                var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
2128                sleep(sleep_one);
2129                if (resultSet.goToFirstRow()) {
2130                    do {
2131                        console.info('logMessage contactCard_query_test_3700: id = ' + resultSet.getString(0));
2132                        expect(resultSet.getString(0) == rawContactId.toString()).assertTrue();
2133                        console.info(
2134                            'logMessage contactCard_query_test_3700: display_name = ' + resultSet.getString(1));
2135                        expect(resultSet.getString(1) == "xiaoyuzhou").assertTrue();
2136                    } while (resultSet.goToNextRow());
2137                }
2138                resultSet.close();
2139            } catch (error) {
2140                console.info('logMessage contactCard_query_test_3700: query error' + error);
2141                done();
2142            }
2143        }
2144    });
2145
2146    /**
2147     * @tc.number  contactCard_query_test_3800
2148     * @tc.name    Query recently deleted contacts
2149     * @tc.desc    Function test
2150     */
2151    it("contactCard_query_test_3800", 0, async function(done) {
2152        console.info("-----------logMessage contactCard_query_test_3800 is starting!------------");
2153        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2154        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2155        var rawContactValues = {"display_name" : "xiaocai"};
2156        try {
2157            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2158            sleep(sleep_one);
2159            console.info("logMessage contactCard_query_test_3800: rawContactId = " + rawContactId);
2160            expect(rawContactId > 0).assertTrue();
2161            await rawContactDelete(dataShareHelper, rawContactId);
2162            await deletedRawContactQuery(dataShareHelper, rawContactId);
2163            await deleteAll(profileDeletedContactsUri, "contactCard_query_test_3800")
2164            done();
2165        } catch (error) {
2166            console.info("logMessage contactCard_query_test_3800: raw_contact insert error = " + error);
2167            done();
2168        }
2169    });
2170
2171    async function rawContactDelete(dataShareHelper, rawContactId)
2172    {
2173        var condition1 = new dataShare.DataSharePredicates();
2174        condition1.equalTo("id", rawContactId.toString());
2175        try {
2176            var deleteCode = await dataShareHelper.delete(profileRawContactUri, condition1);
2177            sleep(sleep_one);
2178            console.info('logMessage contactCard_query_test_3800: deleteCode = ' + deleteCode);
2179            expect(deleteCode == 0).assertTrue();
2180        } catch (error) {
2181            console.info("logMessage contactCard_query_test_3800: raw_contact delete error = " + error);
2182            done();
2183        }
2184    }
2185
2186    async function deletedRawContactQuery(dataShareHelper, rawContactId)
2187    {
2188        var resultColumns = [ "id", "raw_contact_id", "display_name", "is_deleted" ];
2189        var condition2 = new dataShare.DataSharePredicates();
2190        condition2.equalTo("raw_contact_id", rawContactId.toString());
2191        try {
2192            var resultSet = await dataShareHelper.query(deletedprofileRawContactUri, resultColumns, condition2);
2193            sleep(sleep_one);
2194            if (resultSet.goToFirstRow()) {
2195                console.info('logMessage contactCard_query_test_3800: id = ' + resultSet.getString(0));
2196                console.info('logMessage contactCard_query_test_3800: raw_contact_id = ' + resultSet.getString(1));
2197                expect(resultSet.getString(1) == rawContactId.toString()).assertTrue();
2198                console.info('logMessage contactCard_query_test_3800: display_name = ' + resultSet.getString(array_two));
2199                expect(resultSet.getString(array_two) == "xiaocai").assertTrue();
2200                console.info('logMessage contactCard_query_test_3800: is_deleted = ' + resultSet.getString(array_three));
2201                expect(resultSet.getString(array_three) == "1").assertTrue();
2202            }
2203            resultSet.close();
2204        } catch (error) {
2205            console.info("logMessage contactCard_query_test_3800: query error :" + error);
2206            done();
2207        }
2208    }
2209
2210    /**
2211     * @tc.number  contactCard_query_test_3900
2212     * @tc.name    Query all mobile phone numbers
2213     * @tc.desc    Function test
2214     */
2215    it("contactCard_query_test_3900", 0, async function(done) {
2216        console.info("-----------logMessage contactCard_query_test_3900 is starting!------------");
2217        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2218        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2219        var rawContactValues = {"display_name" : "xiaocai"};
2220        try {
2221            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2222            sleep(sleep_one);
2223            console.info("logMessage contactCard_query_test_3900: rawContactId = " + rawContactId);
2224            expect(rawContactId > 0).assertTrue();
2225            await queryPhoneInsert();
2226            await phoneQuery(rawContactId);
2227            await deleteRawContact("contactCard_query_test_3900");
2228            await deleteAll(profileContactDataUri, "contactCard_query_test_3900");
2229            done();
2230        } catch (error) {
2231            console.info("logMessage contactCard_query_test_3900: raw_contact insert error = " + error);
2232            done();
2233        }
2234    });
2235
2236    async function queryPhoneInsert(dataShareHelper, rawContactId)
2237    {
2238        var contactDataValues = {
2239            "raw_contact_id" : rawContactId,
2240            "content_type" : "phone",
2241            "detail_info" : "1853696321"
2242        };
2243        try {
2244            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
2245            sleep(sleep_one);
2246            console.info("logMessage contactCard_query_test_3900: contactDataId = " + contactDataId);
2247            expect(contactDataId > 0).assertTrue();
2248        } catch (error) {
2249            console.info("logMessage contactCard_query_test_3900: contact_data insert error = " + error);
2250        }
2251    }
2252
2253    async function phoneQuery(dataShareHelper, rawContactId)
2254    {
2255        var resultColumns = [ "raw_contact_id", "detail_info" ];
2256        let condition = new dataShare.DataSharePredicates();
2257        // type_id = 5 data is phone
2258        condition.equalTo("content_type", "phone");
2259        try {
2260            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
2261            sleep(sleep_one);
2262            if (resultSet.goToFirstRow()) {
2263                do {
2264                    console.info('logMessage contactCard_query_test_3900: raw_contact_id = ' + resultSet.getString(0));
2265                    expect(resultSet.getString(0) == rawContactId.toString()).assertTrue();
2266                    console.info('logMessage contactCard_query_test_3900: detail_info = ' + resultSet.getString(1));
2267                    expect(resultSet.getString(1) == "1853696321").assertTrue();
2268                } while (resultSet.goToNextRow());
2269            }
2270            resultSet.close();
2271        } catch (error) {
2272            console.info('logMessage contactCard_query_test_3900: query error' + error);
2273        }
2274    }
2275
2276    /**
2277     * @tc.number  contactCard_query_test_4000
2278     * @tc.name    Query all mailbox capabilities
2279     * @tc.desc    Function test
2280     */
2281    it("contactCard_query_test_4000", 0, async function(done) {
2282        console.info("-----------logMessage contactCard_query_test_4000 is starting!------------");
2283
2284        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2285        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2286
2287        var rawContactValues = {"display_name" : "xiaoyu"};
2288        try {
2289            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2290            sleep(sleep_one);
2291            console.info("logMessage contactCard_query_test_4000: rawContactId = " + rawContactId);
2292            expect(rawContactId > 0).assertTrue();
2293            await queryEmailInsert(dataShareHelper, rawContactId);
2294            await emailQuery(dataShareHelper, contactDataId, rawContactId);
2295            await deleteRawContact("contactCard_query_test_4000");
2296            await deleteAll(profileContactDataUri, "contactCard_query_test_4000");
2297            done();
2298        } catch (error) {
2299            console.info("logMessage contactCard_query_test_4000: raw_contact insert error = " + error);
2300            done();
2301        }
2302    });
2303
2304    async function queryEmailInsert(dataShareHelper, rawContactId)
2305    {
2306        var contactDataValues = {
2307            "raw_contact_id" : rawContactId,
2308            "content_type" : "email",
2309            "detail_info" : "16658@163.com"
2310        };
2311        try {
2312            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
2313            sleep(sleep_one);
2314            console.info("logMessage contactCard_query_test_4000: contactDataId = " + contactDataId);
2315            expect(contactDataId > 0).assertTrue();
2316        } catch (error) {
2317            console.info("logMessage contactCard_query_test_4000: contact_data insert error = " + error);
2318        }
2319    }
2320
2321    async function emailQuery(dataShareHelper, contactDataId, rawContactId)
2322    {
2323        var resultColumns = [ "id", "raw_contact_id", "detail_info" ];
2324        let condition = new dataShare.DataSharePredicates();
2325        // type_id = 1 data content_type is  email
2326        condition.equalTo("type_id", "1").limitAs(array_three).orderByDesc("id");
2327        try {
2328            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
2329            sleep(sleep_one);
2330            if (resultSet.goToFirstRow()) {
2331                do {
2332                    console.info('logMessage contactCard_query_test_4000: id = ' + resultSet.getString(0));
2333                    expect(resultSet.getString(0) == contactDataId.toString()).assertTrue();
2334                    console.info('logMessage contactCard_query_test_4000: raw_contact_id = ' + resultSet.getString(1));
2335                    expect(resultSet.getString(1) == rawContactId.toString()).assertTrue();
2336                    console.info('logMessage contactCard_query_test_4000: detail_info = ' + resultSet.getString(array_two));
2337                    expect(resultSet.getString(array_two) == "16658@163.com").assertTrue();
2338                } while (resultSet.goToNextRow());
2339            }
2340            resultSet.close();
2341        } catch (error) {
2342            console.info("logMessage contactCard_query_test_4000: query error :" + error);
2343        }
2344    }
2345
2346    /**
2347     * @tc.number  contactCard_query_test_4100
2348     * @tc.name    Query data information of a single contact
2349     * @tc.desc    Function test
2350     */
2351    it("contactCard_query_test_4100", 0, async function(done) {
2352        console.info("-----------logMessage contactCard_query_test_4100 is starting!------------");
2353        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2354        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2355
2356        var rawContactValues = {"display_name" : "xiaoyu"};
2357        try {
2358            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2359            sleep(sleep_one);
2360            console.info("logMessage contactCard_query_test_4100: rawContactId = " + rawContactId);
2361            expect(rawContactId > 0).assertTrue();
2362            await queryTwoDataInsert(dataShareHelper, rawContactId);
2363            await queryTwoDataInsertCompany(dataShareHelper, rawContactId);
2364            await queryTwo(dataShareHelper, rawContactId);
2365            await deleteRawContact("contactCard_query_test_4100");
2366            await deleteAll(profileContactDataUri, "contactCard_query_test_4100");
2367            del
2368            done();
2369        } catch (error) {
2370            console.info("logMessage contactCard_query_test_4100: raw_contact insert error = " + error);
2371            done();
2372        }
2373    });
2374
2375    async function queryTwoDataInsert(dataShareHelper, rawContactId)
2376    {
2377        var contactDataValues = {"raw_contact_id" : rawContactId, "content_type" : "name", "detail_info" : "xiaoyu"};
2378        try {
2379            var contactDataId1 = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
2380            sleep(sleep_one);
2381            console.info("logMessage contactCard_query_test_4100: contactDataId = " + contactDataId1);
2382            expect(contactDataId1 > 0).assertTrue();
2383        } catch (error) {
2384            console.info("logMessage contactCard_query_test_4100: contact_data name insert error = " + error);
2385        }
2386    }
2387
2388    async function queryTwoDataInsertCompany(dataShareHelper, rawContactId)
2389    {
2390        var contactDataValues = {
2391            "raw_contact_id" : rawContactId,
2392            "content_type" : "organization",
2393            "detail_info" : "OOOO",
2394            "position" : "Testers"
2395        };
2396        try {
2397            var contactDataId2 = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
2398            console.info("logMessage contactCard_query_test_4100: contactDataId = " + contactDataId2);
2399            expect(contactDataId2 > 0).assertTrue();
2400        } catch (error) {
2401            console.info("logMessage contactCard_query_test_4100: contact_data company insert error = " + error);
2402        }
2403    }
2404
2405    async function queryTwo(dataShareHelper, rawContactId)
2406    {
2407        var resultColumns = [ "id", "raw_contact_id", "detail_info", "position" ];
2408        let condition = new dataShare.DataSharePredicates();
2409        condition.equalTo("raw_contact_id", rawContactId.toString());
2410        try {
2411            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
2412            sleep(sleep_one);
2413            var array = [ {detail_info : "xiaoyu", position : ""}, {detail_info : "OOOO", position : "Testers"} ];
2414            var i = 0;
2415            if (resultSet.goToFirstRow()) {
2416                do {
2417                    console.info("logMessage contactCard_query_test_4100: columnNames :" + resultSet.columnNames);
2418                    console.info("logMessage contactCard_query_test_4100: columnCount:" + resultSet.columnCount);
2419                    console.info('logMessage contactCard_query_test_4100: id = ' + resultSet.getString(0));
2420                    console.info('logMessage contactCard_query_test_4100: raw_contact_id = ' + resultSet.getString(1));
2421                    expect(resultSet.getString(1) == rawContactId.toString()).assertEqual(true);
2422                    console.info('logMessage contactCard_query_test_4100: detail_info = ' + resultSet.getString(array_two));
2423                    expect(resultSet.getString(array_two) == array[i].detail_info).assertEqual(true);
2424                    console.info('logMessage contactCard_query_test_4100: position = ' + resultSet.getString(array_three));
2425                    expect(resultSet.getString(array_three) == array[i].position).assertEqual(true);
2426                    i++;
2427                } while (resultSet.goToNextRow());
2428            }
2429            resultSet.close();
2430        } catch (error) {
2431            console.info("logMessage contactCard_query_test_4100: query error :" + error);
2432        }
2433    }
2434
2435    /**
2436     * @tc.number  contactCard_delete_test_4400
2437     * @tc.name    Delete the basic raw data of the contact and record the deleted basic raw data
2438     * @tc.desc    Function test
2439     */
2440    it("contactCard_delete_test_4400", 0, async function(done) {
2441        console.info("-------logMessage contactCard_delete_test_4400 is starting!-------");
2442        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2443        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2444
2445        var insertRawContactValues = {"display_name" : "xiaoming"};
2446        try {
2447            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
2448            sleep(sleep_one);
2449            console.info("logMessage contactCard_delete_test_4400: rawContactId = " + rawContactId);
2450            expect(rawContactId > 0).assertTrue();
2451            await deleteRaw(dataShareHelper, rawContactId);
2452            await queryDelete(dataShareHelper, rawContactId);
2453            done();
2454        } catch (error) {
2455            console.info("logMessage contactCard_delete_test_4400: raw_contact insert error :" + error);
2456            done();
2457        }
2458    });
2459
2460    async function deleteRaw(dataShareHelper, rawContactId)
2461    {
2462        var condition1 = new dataShare.DataSharePredicates();
2463        condition1.equalTo("id", rawContactId.toString());
2464        try {
2465            var deleteCode = await dataShareHelper.delete(profileRawContactUri, condition1);
2466            sleep(sleep_one);
2467            console.info("logMessage contactCard_delete_test_4400: deleteCode = " + deleteCode);
2468            expect(deleteCode == 0).assertTrue();
2469        } catch (error) {
2470            console.info("logMessage contactCard_delete_test_4400: delete error = " + error);
2471        }
2472    }
2473
2474    async function queryDelete(dataShareHelper, rawContactId)
2475    {
2476        var resultColumns = [ "id", "delete_time", "display_name" ];
2477        var condition2 = new dataShare.DataSharePredicates();
2478        condition2.equalTo("raw_contact_id", rawContactId.toString());
2479        try {
2480            var resultSet = await dataShareHelper.query(deletedprofileRawContactUri, resultColumns, condition2);
2481            sleep(sleep_one);
2482            if (resultSet.goToFirstRow()) {
2483                console.info("logMessage contactCard_delete_test_4400: columnNames:" + resultSet.columnNames);
2484                console.info("logMessage contactCard_delete_test_4400: columnCount:" + resultSet.columnCount);
2485                console.info('logMessage contactCard_delete_test_4400: id = ' + resultSet.getString(0));
2486                console.info('logMessage contactCard_delete_test_4400: delete_time = ' + resultSet.getString(1));
2487                console.info('logMessage contactCard_delete_test_4400: display_name = ' + resultSet.getString(array_two));
2488                expect(resultSet.getString(array_two) == "xiaoming").assertTrue();
2489            }
2490            resultSet.close();
2491        } catch (error) {
2492            console.info("logMessage contactCard_delete_test_4400: query error:" + error);
2493        }
2494    }
2495
2496    /**
2497     * @tc.number  contactCard_delete_test_4700
2498     * @tc.name    Delete detailed contact data and record detailed data
2499     * @tc.desc    Function test
2500     */
2501    it("contactCard_delete_test_4700", 0, async function(done) {
2502        console.info("-------logMessage contactCard_delete_test_4700 is starting!-------");
2503        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2504        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2505
2506        var insertRawContactValues = {"display_name" : "xiaozhang", "company" : "OOOO", "position" : "TestManager"};
2507        try {
2508            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
2509            sleep(sleep_one);
2510            console.info("logMessage contactCard_delete_test_4700: rawContactId = " + rawContactId);
2511            expect(rawContactId > 0).assertTrue();
2512            await queryDeleteCompanyData(dataShareHelper, rawContactId);
2513            await rawContactDelete(dataShareHelper, rawContactId);
2514            await companyRawContactDeleteQuery(dataShareHelper, rawContactId);
2515            await deleteAll(profileContactDataUri, "contactCard_delete_test_4700");
2516            done();
2517        } catch (error) {
2518            console.info("logMessage contactCard_delete_test_4700: raw_contact insert error:" + error);
2519            done();
2520        }
2521    });
2522
2523    async function queryDeleteCompanyData(dataShareHelper, rawContactId)
2524    {
2525        var contactDataValues = {
2526            "raw_contact_id" : rawContactId,
2527            "content_type" : "organization",
2528            "detail_info" : "OOOO",
2529            "position" : "TestManager"
2530        };
2531        try {
2532            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
2533            sleep(sleep_one);
2534            console.info("logMessage contactCard_delete_test_4700: contactDataId = " + contactDataId);
2535            expect(contactDataId > 0).assertTrue();
2536        } catch (error) {
2537            console.info("logMessage contactCard_delete_test_4700: contact_data insert error:" + error);
2538        }
2539    }
2540
2541    async function rawContactDelete(dataShareHelper, rawContactId)
2542    {
2543        var condition1 = new dataShare.DataSharePredicates();
2544        condition1.equalTo("id", rawContactId.toString());
2545        try {
2546            var deleteCode = await dataShareHelper.delete(profileRawContactUri, condition1);
2547            sleep(sleep_one);
2548            console.info("logMessage contactCard_delete_test_4700: deleteCode = " + deleteCode);
2549            expect(deleteCode == 0).assertTrue();
2550        } catch (error) {
2551            console.info("logMessage contactCard_delete_test_4700: delete error = " + error);
2552            done();
2553        }
2554    }
2555
2556    async function companyRawContactDeleteQuery(dataShareHelper, rawContactId)
2557    {
2558        var resultColumns = [ "id", "display_name", "backup_data" ];
2559        var condition2 = new dataShare.DataSharePredicates();
2560        condition2.equalTo("raw_contact_id", rawContactId.toString());
2561        try {
2562            var resultSet = await dataShareHelper.query(deletedprofileRawContactUri, resultColumns, condition2);
2563            sleep(sleep_one);
2564            if (resultSet.goToFirstRow()) {
2565                console.info("logMessage contactCard_delete_test_4700: columnNames:" + resultSet.columnNames);
2566                console.info("logMessage contactCard_delete_test_4700: columnCount:" + resultSet.columnCount);
2567                console.info('logMessage contactCard_delete_test_4700: id = ' + resultSet.getString(0));
2568                console.info('logMessage contactCard_delete_test_4700: display_name = ' + resultSet.getString(1));
2569                expect(resultSet.getString(1) == "xiaozhang").assertEqual(true);
2570                console.info('logMessage contactCard_delete_test_4700: backup_data = ' + resultSet.getString(array_two));
2571            }
2572            resultSet.close();
2573        } catch (error) {
2574            console.info("logMessage contactCard_delete_test_4700: query error:" + error);
2575        }
2576    }
2577
2578    /**
2579     * @tc.number  contactCard_delete_test_4800
2580     * @tc.name    Delete and record basic data of a single contact
2581     * @tc.desc    Function test
2582     */
2583    it("contactCard_delete_test_4800", 0, async function(done) {
2584        console.info("-------logMessage contactCard_delete_test_4800 is starting!-------");
2585        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2586        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2587
2588        var insertRawContactValues = {"display_name" : "xiaopeng"};
2589        try {
2590            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
2591            sleep(sleep_one);
2592            console.info("logMessage contactCard_delete_test_4800: rawContactId = " + rawContactId);
2593            expect(rawContactId > 0).assertTrue();
2594            await ContactDelete(dataShareHelper, rawContactId);
2595            await DeletedRawContactQuery(dataShareHelper, rawContactId)
2596                await deleteAll(profileContactDataUri, "contactCard_delete_test_4800");
2597            done();
2598        } catch (error) {
2599            console.info("logMessage contactCard_delete_test_4800: raw_contact insert error:" + error);
2600            done();
2601        }
2602    });
2603
2604    async function ContactDelete(dataShareHelper, rawContactId)
2605    {
2606        var condition1 = new dataShare.DataSharePredicates();
2607        condition1.equalTo("name_raw_contact_id", rawContactId.toString());
2608        try {
2609            var deleteCode = await dataShareHelper.delete(profilecontactUri, condition1);
2610            sleep(sleep_one);
2611            console.info("logMessage contactCard_delete_test_4800: deleteCode = " + deleteCode);
2612            expect(deleteCode == 0).assertTrue();
2613        } catch (error) {
2614            console.info("logMessage contactCard_delete_test_4800: delete error = " + error);
2615        }
2616    }
2617
2618    async function DeletedRawContactQuery(dataShareHelper, rawContactId)
2619    {
2620        var resultColumns = [ "id", "delete_time", "display_name" ];
2621        var condition2 = new dataShare.DataSharePredicates();
2622        condition2.equalTo("raw_contact_id", rawContactId.toString());
2623        try {
2624            var resultSet = await dataShareHelper.query(deletedprofileRawContactUri, resultColumns, condition2);
2625            sleep(sleep_one)
2626            if (resultSet.goToFirstRow())
2627            {
2628                console.info("logMessage contactCard_delete_test_4800: columnNames:" + resultSet.columnNames);
2629                console.info("logMessage contactCard_delete_test_4800: columnCount:" + resultSet.columnCount);
2630                console.info('logMessage contactCard_delete_test_4800: id = ' + resultSet.getString(0));
2631                console.info('logMessage contactCard_delete_test_4800: delete_time = ' + resultSet.getString(1));
2632                console.info('logMessage contactCard_delete_test_4800: display_name = ' + resultSet.getString(array_two));
2633                expect(resultSet.getString(array_two) == "xiaopeng").assertTrue();
2634            }
2635            resultSet.close();
2636        } catch (error) {
2637            console.info("logMessage contactCard_delete_test_4800: query error:" + error);
2638        }
2639    }
2640
2641    /**
2642     * @tc.number  contactCard_batchinsert_test_4900
2643     * @tc.name    Insert contacts in batches(raw_contact)
2644     * @tc.desc    Function test
2645     */
2646    it("contactCard_batchinsert_test_4900", 0, async function(done) {
2647        console.info("--------logMessage contactCard_batchinsert_test_4900 is starting!-------");
2648        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2649        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2650        try {
2651            var batchInsertCode = await dataShareHelper.batchInsert(profileRawContactUri, common.getContactBatchCompany());
2652            sleep(sleep_one);
2653            console.info("logMessage contactCard_batchinsert_test_4900: batchInsertCode = " + batchInsertCode);
2654            expect(batchInsertCode == 0).assertTrue();
2655            var resultColumns = [];
2656            let condition = new dataShare.DataSharePredicates();
2657            condition.equalTo("company", "TT4900");
2658            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
2659            console.info(
2660                'contactCard_batchinsert_test_4900 : queryBatch start ! resultSet.rowCount = ' + resultSet.rowCount);
2661            expect(resultSet.rowCount == result_size_five).assertEqual(true);
2662            resultSet.close();
2663            await deleteRawContact("contactCard_batchinsert_test_4900");
2664            done();
2665        } catch (error) {
2666            console.info("logMessage contactCard_batchinsert_test_4900: batchInsert error = " + error);
2667            done();
2668        }
2669    });
2670
2671    /**
2672     * @tc.number  contactCard_batchinsert_test_5000
2673     * @tc.name    Insert contact_data in batches of address book
2674     * @tc.desc    Function test
2675     */
2676    it("contactCard_batchinsert_test_5000", 0, async function(done) {
2677        console.info("--------logMessage contactCard_batchinsert_test_5000  start!-------");
2678        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2679        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2680        var rawContactValues = {"display_name" : "xiaozhi"};
2681        try {
2682            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2683            sleep(sleep_one);
2684            console.info("logMessage contactCard_batchinsert_test_5000: rawContactId = " + rawContactId);
2685            expect(rawContactId > 0).assertTrue();
2686            await ContactDataBatchInsert();
2687            done();
2688        } catch (error) {
2689            console.info("logMessage contactCard_batchinsert_test_5000: raw_contact insert error = " + error);
2690            done();
2691        }
2692        async function ContactDataBatchInsert()
2693        {
2694            try {
2695                var batchInsertCode =
2696                    await dataShareHelper.batchInsert(profileContactDataUri, common.getContactBatchCompanyTwo());
2697                sleep(sleep_one);
2698                console.info("logMessage contactCard_batchinsert_test_5000: batchInsertCode = " + batchInsertCode);
2699                expect(batchInsertCode == 0).assertTrue();
2700                var map = new Map();
2701                map.set("raw_contact_id", raw_contact_id.toString());
2702                await queryBatch(map, "contactCard_batchinsert_test_5000", result_size_five);
2703                await deleteRawContact("contactCard_batchinsert_test_5000");
2704                done();
2705            } catch (error) {
2706                console.info("logMessage contactCard_batchinsert_test_5000: batchInsert error = " + error);
2707                done();
2708            }
2709        }
2710    });
2711
2712    /**
2713     * @tc.number  contactCard_batchinsert_test_5400
2714     * @tc.name    Batch operation of contact blocklist
2715     * @tc.desc    Function test
2716     */
2717    it("contactCard_batchinsert_test_5400", 0, async function(done) {
2718        console.info("--------logMessage contactCard_batchinsert_test_5400 is starting!-------");
2719        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2720        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2721        var phoneNumber = randomNum(13);
2722        try {
2723            var batchInsertCode = await dataShareHelper.batchInsert(profileBlocklistUri, common.getPhoneNumberBatch());
2724            sleep(sleep_one);
2725            console.info("logMessage contactCard_batchinsert_test_5400: batchInsertCode = " + batchInsertCode);
2726            expect(batchInsertCode == 0).assertTrue();
2727            await query(result_size_five);
2728            await BlocklistDelete();
2729            done();
2730        } catch (error) {
2731            console.info("logMessage contactCard_batchinsert_test_5400: batchInsert error = " + error);
2732            done();
2733        }
2734
2735        async function BlocklistDelete()
2736        {
2737            let condition = new dataShare.DataSharePredicates();
2738            condition.equalTo("phone_number", phoneNumber);
2739            try {
2740                var deleteCode = await dataShareHelper.delete(profileBlocklistUri, condition);
2741                console.info("logMessage contactCard_batchinsert_test_5400: deleteCode = " + deleteCode);
2742                expect(deleteCode == 0).assertTrue();
2743                await query(0);
2744                done();
2745            } catch (error) {
2746                console.info("logMessage contactCard_batchinsert_test_5400: delete error = " + error);
2747                done();
2748            }
2749        }
2750
2751        async function query(size)
2752        {
2753            var resultColumns = [];
2754            let condition = new dataShare.DataSharePredicates();
2755            condition.equalTo("phone_number", phoneNumber);
2756            try {
2757                var resultSet = await dataShareHelper.query(profileBlocklistUri, resultColumns, condition);
2758                sleep(sleep_one);
2759                console.info('contactCard_batchinsert_test_5400 : queryBatch start ! resultSet.rowCount = ' +
2760                             resultSet.rowCount);
2761                expect(resultSet.rowCount == size).assertEqual(true);
2762                resultSet.close();
2763            } catch (error) {
2764                console.info(" contactCard_batchinsert_test_5400 logMessage resultSet.rowCount: error = " + error);
2765            }
2766        }
2767    });
2768
2769    /**
2770     * @tc.number  contactCard_update_test_5300
2771     * @tc.name    Bulk favorites and unfavorites of contacts
2772     * @tc.desc    Function test
2773     */
2774    it("contactCard_update_test_5300", 0, async function(done) {
2775        console.info("--------logMessage contactCard_update_test_5300 is starting!-------");
2776        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2777        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2778
2779        var rawContactValuesOne = {"display_name" : "fengyuan", "favorite" : 1};
2780        var rawContactValuesTwo = {"display_name" : "xiaoli", "favorite" : 1};
2781        var rawContactValuesThree = {"display_name" : "xiaoma", "favorite" : 1};
2782        var listAddBluk = []
2783        listAddBluk[0] = rawContactValuesOne;
2784        listAddBluk[1] = rawContactValuesTwo;
2785        listAddBluk[array_two] = rawContactValuesThree;
2786        try {
2787            var batchInsertCode = await dataShareHelper.batchInsert(profileRawContactUri, listAddBluk);
2788            sleep(sleep_one);
2789            console.info("logMessage contactCard_update_test_5300: batchInsertCode = " + batchInsertCode);
2790            expect(batchInsertCode == 0).assertTrue();
2791            await RawContactUpdateUnFavorites(dataShareHelper);
2792            await queryUnFavorites(dataShareHelper);
2793            await deleteRawContact("contactCard_update_test_5300");
2794            done();
2795        } catch (error) {
2796            console.info("logMessage contactCard_update_test_5300: batchInsert error = " + error);
2797            done();
2798        }
2799    });
2800
2801    async function RawContactUpdateUnFavorites(dataShareHelper)
2802    {
2803        var updateValues = {"favorite" : 0};
2804        let condition = new dataShare.DataSharePredicates();
2805        condition.equalTo("display_name", "fengyuan");
2806        condition.or();
2807        condition.equalTo("display_name", "xiaoma");
2808        try {
2809            var updateCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition);
2810            sleep(sleep_one);
2811            console.info("logMessage contactCard_update_test_5300: updateCode = " + updateCode);
2812            expect(updateCode == 0).assertTrue();
2813        } catch (error) {
2814            console.info("logMessage contactCard_update_test_5300: update error = " + error);
2815        }
2816    }
2817
2818    async function queryUnFavorites(dataShareHelper)
2819    {
2820        var resultColumns = [];
2821        let condition = new dataShare.DataSharePredicates();
2822        condition.equalTo("display_name", "fengyuan");
2823        condition.or();
2824        condition.equalTo("display_name", "xiaoma");
2825        try {
2826            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
2827            sleep(sleep_one);
2828            console.info(
2829                'contactCard_update_test_5300 : queryBatch start ! resultSet.rowCount = ' + resultSet.rowCount);
2830            expect(resultSet.rowCount == array_two).assertEqual(true);
2831            if (resultSet.rowCount > 0) {
2832                if (resultSet.goToFirstRow()) {
2833                    do {
2834                        var dbresult = resultSet.getString(resultSet.getColumnIndex("favorite"));
2835                        console.info(' contactCard_update_test_5300 :logMessage contactsQuery dbresult :' + dbresult +
2836                                     ' value : ' + value);
2837                        expect(dbresult == "0").assertEqual(true);
2838                    } while (resultSet.goToNextRow());
2839                }
2840            }
2841            resultSet.close();
2842        } catch (error) {
2843            console.info(" contactCard_update_test_5300 logMessage resultSet.rowCount: error = " + error);
2844        }
2845    }
2846
2847    /**
2848     * @tc.number  contactCard_batchinsert_test_5500
2849     * @tc.name    Contacts are added to and removed from groups in batches
2850     * @tc.desc    Function test
2851     */
2852    it("contactCard_batchinsert_test_5500", 0, async function(done) {
2853        console.info("--------logMessage contactCard_batchinsert_test_5500 is starting!-------");
2854        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2855        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2856        var groupValues = {"group_name" : "ManagerGroup"};
2857        try {
2858            var groupId = await dataShareHelper.insert(profileGroupUri, groupValues);
2859            console.info("logMessage contactCard_batchinsert_test_5500: groupId = " + groupId);
2860            expect(groupId > 0).assertTrue();
2861        } catch (error) {
2862            console.info("logMessage contactCard_batchinsert_test_5500: group insert error = " + error);
2863            done();
2864        }
2865
2866        try {
2867            var rawContactValues1 = {"display_name" : "xiaohuang"};
2868            var rawContactId1 = await dataShareHelper.insert(profileRawContactUri, rawContactValues1);
2869            console.info("logMessage contactCard_batchinsert_test_5500: rawContactId1 = " + rawContactId1);
2870            expect(rawContactId1 > 0).assertTrue();
2871        } catch (error) {
2872            console.info("logMessage contactCard_batchinsert_test_5500: raw_contact_1 insert error = " + error);
2873            done();
2874        }
2875
2876        try {
2877            var rawContactValues2 = {"display_name" : "xiaolv"};
2878            var rawContactId2 = await dataShareHelper.insert(profileRawContactUri, rawContactValues2);
2879            console.info("logMessage contactCard_batchinsert_test_5500: rawContactId2 = " + rawContactId2);
2880            expect(rawContactId2 > 0).assertTrue();
2881        } catch (error) {
2882            console.info("logMessage contactCard_batchinsert_test_5500: raw_contact_2 insert error = " + error);
2883            done();
2884        }
2885
2886        try {
2887            var rawContactValues3 = {"display_name" : "xiaobai"};
2888            var rawContactId3 = await dataShareHelper.insert(profileRawContactUri, rawContactValues3);
2889            console.info("logMessage contactCard_batchinsert_test_5500: rawContactId3 = " + rawContactId3);
2890            expect(rawContactId3 > 0).assertTrue();
2891        } catch (error) {
2892            console.info("logMessage contactCard_batchinsert_test_5500: raw_contact_3 insert error = " + error);
2893            done();
2894        }
2895        await threeDataInsert(dataShareHelper, rawContactId1, rawContactId2, rawContactId3, groupId);
2896        await deleteRawContact("contactCard_batchinsert_test_5500");
2897        await deleteAll(profileGroupUri, "contactCard_batchinsert_test_5500");
2898        await deleteAll(profileContactDataUri, "contactCard_batchinsert_test_5500");
2899        done();
2900    });
2901
2902    async function threeDataInsert(dataShareHelper, rawContactId1, rawContactId2, rawContactId3, groupId)
2903    {
2904        var contactDataValues1 = {
2905            "raw_contact_id" : rawContactId1,
2906            "content_type" : "group_membership",
2907            "detail_info" : groupId.toString()
2908        };
2909        var contactDataValues2 = {
2910            "raw_contact_id" : rawContactId2,
2911            "content_type" : "group_membership",
2912            "detail_info" : groupId.toString()
2913        };
2914        var contactDataValues3 = {
2915            "raw_contact_id" : rawContactId3,
2916            "content_type" : "group_membership",
2917            "detail_info" : groupId.toString()
2918        };
2919        var listAddBluk = [];
2920        listAddBluk[0] = contactDataValues1;
2921        listAddBluk[1] = contactDataValues2;
2922        listAddBluk[array_two] = contactDataValues3;
2923        try {
2924            var batchInsertCode = await dataShareHelper.batchInsert(profileContactDataUri, listAddBluk);
2925            sleep(sleep_one);
2926            console.info("logMessage contactCard_batchinsert_test_5500: batchInsertCode = " + batchInsertCode);
2927            expect(batchInsertCode == 0).assertTrue();
2928            await ContactDataDelete(dataShareHelper, rawContactId1, rawContactId3);
2929        } catch (error) {
2930            console.info("logMessage contactCard_batchinsert_test_5500: batchInsert error = " + error);
2931        }
2932    }
2933
2934    async function ContactDataDelete(dataShareHelper, rawContactId1, rawContactId3)
2935    {
2936        let condition = new dataShare.DataSharePredicates();
2937        condition.equalTo("raw_contact_id", rawContactId1.toString());
2938        condition.or();
2939        condition.equalTo("raw_contact_id", rawContactId3.toString());
2940        try {
2941            var deleteCode = await dataShareHelper.delete(profileContactDataUri, condition);
2942            sleep(sleep_one);
2943            console.info("logMessage contactCard_batchinsert_test_5500: deleteCode = " + deleteCode);
2944            expect(deleteCode == 0).assertTrue();
2945            await queryTwoData(dataShareHelper, rawContactId1, rawContactId3);
2946        } catch (error) {
2947            console.info("logMessage contactCard_batchinsert_test_5500: delete error = " + error);
2948        }
2949    }
2950
2951    async function queryTwoData(dataShareHelper, rawContactId1, rawContactId3)
2952    {
2953        var resultColumns = [];
2954        let condition = new dataShare.DataSharePredicates();
2955        condition.equalTo("raw_contact_id", rawContactId1.toString());
2956        condition.or();
2957        condition.equalTo("raw_contact_id", rawContactId3.toString());
2958        try {
2959            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
2960            sleep(sleep_one);
2961            console.info(
2962                'contactCard_batchinsert_test_5500 : queryBatch start ! resultSet.rowCount = ' + resultSet.rowCount);
2963            expect(resultSet.rowCount == 0).assertEqual(true);
2964            resultSet.close();
2965        } catch (error) {
2966            console.info(" contactCard_batchinsert_test_5500 logMessage resultSet.rowCount: error = " + error);
2967        }
2968    }
2969
2970    /**
2971     * @tc.number  contactCard_pinyin_query_test_200
2972     * @tc.name    Contact name to pinyin (Chinese Simplified)
2973     * @tc.desc    Function test
2974     */
2975    it("contactCard_pinyin_query_test_200", 0, async function(done) {
2976        console.info("--------logMessage contactCard_pinyin_query_test_200 is starting!-------");
2977        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
2978        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
2979
2980        var rawContactValues = {"display_name" : "小黄"};
2981        try {
2982            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
2983            console.info('logMessage contactCard_pinyin_query_test_200 rawContactId = ' + rawContactId);
2984            expect(rawContactId > 0).assertTrue();
2985            await ContactDataInsert();
2986            await deleteRawContact("contactCard_pinyin_query_test_200");
2987            await deleteAll(profileContactDataUri, "contactCard_pinyin_query_test_200");
2988            done();
2989        } catch (error) {
2990            console.info("logMessage contactCard_pinyin_query_test_200: raw_contact insert error = " + error);
2991            done();
2992        }
2993
2994        async function ContactDataInsert()
2995        {
2996            var contactDataValues = {
2997                "raw_contact_id" : rawContactId,
2998                "content_type" : "name",
2999                "detail_info" : "xiaohuang"
3000            };
3001            try {
3002                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3003                console.info('logMessage contactCard_pinyin_query_test_200 contactDataId = ' + contactDataId);
3004                expect(contactDataId > 0).assertTrue();
3005                await SearchQuery(dataShareHelper, rawContactId);
3006            } catch (error) {
3007                console.info('logMessage contactCard_pinyin_query_test_200 contact_data insert error = ' + error);
3008                done();
3009            }
3010        }
3011    });
3012
3013    async function SearchQuery(dataShareHelper, rawContactId)
3014    {
3015        var resultColumns = [ "id", "search_name" ];
3016        let condition = new dataShare.DataSharePredicates();
3017        condition.equalTo("raw_contact_id", rawContactId.toString());
3018        try {
3019            var resultSet = await dataShareHelper.query(profilesearchContactUri, resultColumns, condition);
3020            var map = common.getSearchMap();
3021            map.set("raw_contact_id", rawContactId.toString());
3022            if (resultSet.goToFirstRow()) {
3023                do {
3024                    for (var [key, value] of map) {
3025                        let dbresult = resultSet.getString(resultSet.getColumnIndex(key));
3026                        console.info(tag + ':contactCard_pinyin_query_test_200 key = ' + key +
3027                                     ' dbresult :' + dbresult + ' value : ' + value);
3028                        expect(value == dbresult).assertEqual(true);
3029                    }
3030                } while (resultSet.goToNextRow());
3031            }
3032            resultSet.close();
3033        } catch (error) {
3034            console.info('logMessage contactCard_pinyin_query_test_200 query error = ' + error);
3035        }
3036    }
3037
3038    /**
3039     * @tc.number  contactCard_pinyin_query_test_100
3040     * @tc.name    Contact name to pinyin (Chinese Traditional)
3041     * @tc.desc    Function test
3042     */
3043    it("contactCard_pinyin_query_test_100", 0, async function(done) {
3044        console.info("--------logMessage contactCard_pinyin_query_test_100 is starting!-------");
3045        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3046        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3047
3048        var rawContactValues = {"display_name" : "鍵盤"};
3049        try {
3050            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3051            sleep(sleep_one);
3052            console.info('logMessage contactCard_pinyin_query_test_100 rawContactId = ' + rawContactId);
3053            expect(rawContactId > 0).assertTrue();
3054            await ContactDataInsert();
3055            await deleteRawContact("contactCard_pinyin_query_test_100");
3056            await deleteAll(profileContactDataUri, "contactCard_pinyin_query_test_100");
3057            done();
3058        } catch (error) {
3059            console.info('logMessage contactCard_pinyin_query_test_100 raw_contact insert error = ' + error);
3060            done();
3061        }
3062
3063        async function ContactDataInsert()
3064        {
3065            var contactDataValues = {"raw_contact_id" : rawContactId, "content_type" : "name", "detail_info" : "鍵盤"};
3066            try {
3067                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3068                sleep(sleep_one);
3069                console.info('logMessage contactCard_pinyin_query_test_100 contactDataId = ' + contactDataId);
3070                expect(contactDataId > 0).assertTrue();
3071                await SearchContactQueryChinese(dataShareHelper, rawContactId);
3072            } catch (error) {
3073                console.info('logMessage contactCard_pinyin_query_test_100 contact_data insert error = ' + error);
3074                done();
3075            }
3076        }
3077    });
3078
3079    async function SearchContactQueryChinese(dataShareHelper, rawContactId)
3080    {
3081        var resultColumns = [ "raw_contact_id", "search_name" ];
3082        let condition = new dataShare.DataSharePredicates();
3083        condition.equalTo("raw_contact_id", rawContactId.toString());
3084        try {
3085            var resultSet = await dataShareHelper.query(profilesearchContactUri, resultColumns, condition);
3086            if (resultSet.goToFirstRow()) {
3087                do {
3088                    console.info('logMessage contactCard_pinyin_query_test_100: id = ' + resultSet.getString(0));
3089                    expect(resultSet.getString(0) == rawContactId.toString()).assertEqual(true);
3090                    console.info(
3091                        'logMessage contactCard_pinyin_query_test_100: search_name = ' + resultSet.getString(1));
3092                    expect(resultSet.getString(1) == "鍵盤||jianpan||jp").assertEqual(true);
3093                } while (resultSet.goToNextRow());
3094            }
3095            resultSet.close();
3096        } catch (error) {
3097            console.info('logMessage contactCard_pinyin_query_test_100 query error = ' + error);
3098        }
3099    }
3100
3101    /**
3102     * @tc.number  contactCard_pinyin_query_test_300
3103     * @tc.name    Contact name to pinyin (English)
3104     * @tc.desc    Function test
3105     */
3106    it("contactCard_pinyin_query_test_300", 0, async function(done) {
3107        console.info("--------logMessage contactCard_pinyin_query_test_300 is starting!-------");
3108        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3109        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3110
3111        var rawContactValues = {"display_name" : "Tom"};
3112        try {
3113            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3114            sleep(sleep_one);
3115            console.info('logMessage contactCard_pinyin_query_test_300 rawContactId = ' + rawContactId);
3116            expect(rawContactId > 0).assertTrue();
3117            await ContactDataInsert();
3118            await deleteRawContact("contactCard_pinyin_query_test_300");
3119            done();
3120        } catch (error) {
3121            console.info('logMessage contactCard_pinyin_query_test_300 raw_contact insert error = ' + error);
3122            done();
3123        }
3124
3125        async function ContactDataInsert()
3126        {
3127            var contactDataValues = {"raw_contact_id" : rawContactId, "content_type" : "name", "detail_info" : "Tom"};
3128            try {
3129                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3130                console.info('logMessage contactCard_pinyin_query_test_300 contactDataId = ' + contactDataId);
3131                expect(contactDataId > 0).assertTrue();
3132                await SearchContactQuery(dataShareHelper, rawContactId);
3133            } catch (error) {
3134                console.info('logMessage contactCard_pinyin_query_test_300 contact_data insert error = ' + error);
3135                done();
3136            }
3137        }
3138    });
3139
3140    async function SearchContactQuery(dataShareHelper, rawContactId)
3141    {
3142        var resultColumns = [ "raw_contact_id", "search_name" ];
3143        let condition = new dataShare.DataSharePredicates();
3144        condition.equalTo("raw_contact_id", rawContactId.toString());
3145        try {
3146            var resultSet = await dataShareHelper.query(profilesearchContactUri, resultColumns, condition);
3147            if (resultSet.goToFirstRow()) {
3148                do {
3149                    console.info('logMessage contactCard_pinyin_query_test_300: id = ' + resultSet.getString(0));
3150                    expect(resultSet.getString(0) == rawContactId.toString()).assertTrue();
3151                    console.info(
3152                        'logMessage contactCard_pinyin_query_test_300: search_name = ' + resultSet.getString(1));
3153                    expect(resultSet.getString(1) == "Tom||Tom||Tom").assertTrue();
3154                } while (resultSet.goToNextRow());
3155            }
3156            resultSet.close();
3157        } catch (error) {
3158            console.info('logMessage contactCard_pinyin_query_test_300 query error = ' + error);
3159        }
3160    }
3161
3162    /**
3163     * @tc.number  contactCard_fuzzyquery_test_400
3164     * @tc.name    Contact fuzzy search query interface (name)
3165     * @tc.desc    Function test
3166     */
3167    it("contactCard_fuzzyquery_test_400", 0, async function(done) {
3168        console.info("--------logMessage contactCard_fuzzyquery_test_400 is starting!-------");
3169        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3170        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3171
3172        var rawContactValues = {"display_name" : "400xiaoming400"};
3173        try {
3174            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3175            sleep(sleep_one);
3176            console.info('logMessage contactCard_fuzzyquery_test_400 rawContactId = ' + rawContactId);
3177            expect(rawContactId > 0).assertTrue();
3178            await RawContactNameQuery();
3179            await deleteRawContact("contactCard_fuzzyquery_test_400");
3180            done();
3181        } catch (error) {
3182            console.info('logMessage contactCard_fuzzyquery_test_400 raw_contact insert error = ' + error);
3183            done();
3184        }
3185
3186        async function RawContactNameQuery()
3187        {
3188            var resultColumns = [ "id", "display_name" ];
3189            let condition = new dataShare.DataSharePredicates();
3190            condition.like("display_name", "%xiaoming40%");
3191            condition.and();
3192            condition.equalTo("is_deleted", "0");
3193            try {
3194                var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
3195                if (resultSet.goToFirstRow()) {
3196                    do {
3197                        console.info('logMessage contactCard_fuzzyquery_test_400: id = ' + resultSet.getString(0));
3198                        expect(resultSet.getString(0) == rawContactId.toString()).assertEqual(true);
3199                        console.info(
3200                            'logMessage contactCard_fuzzyquery_test_400: display_name = ' + resultSet.getString(1));
3201                        expect(resultSet.getString(1) == "400xiaoming400").assertEqual(true);
3202                    } while (resultSet.goToNextRow());
3203                }
3204                resultSet.close();
3205            } catch (error) {
3206                console.info('logMessage contactCard_fuzzyquery_test_400 query error = ' + error);
3207                done();
3208            }
3209        }
3210    });
3211
3212    /**
3213     * @tc.number  contactCard_fuzzyquery_test_500
3214     * @tc.name    Contact fuzzy search query interface (name pinyin, pinyin name)
3215     * @tc.desc    Function test
3216     */
3217    it("contactCard_fuzzyquery_test_500", 0, async function(done) {
3218        console.info("--------logMessage contactCard_fuzzyquery_test_500 is starting!-------");
3219        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3220        var rawContactValues = {"display_name" : "500xiaoming500", "phonetic_name" : "500xiaoming500||xm"};
3221        try {
3222            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3223            sleep(sleep_one);
3224            console.info('logMessage contactCard_fuzzyquery_test_500 rawContactId = ' + rawContactId);
3225            expect(rawContactId > 0).assertTrue();
3226            await RawContactPhoneticNameQuery();
3227            await deleteRawContact("contactCard_fuzzyquery_test_500");
3228            done();
3229        } catch (error) {
3230            console.info('logMessage contactCard_fuzzyquery_test_500 raw_contact insert error = ' + error);
3231            done();
3232        }
3233
3234        async function RawContactPhoneticNameQuery()
3235        {
3236            var resultColumns = [ "id", "display_name", "phonetic_name" ];
3237            let condition = new dataShare.DataSharePredicates();
3238            condition.like("phonetic_name", "%xiaoming%");
3239            condition.and();
3240            condition.equalTo("is_deleted", "0");
3241            condition.or();
3242            condition.like("phonetic_name", "%xm%");
3243            condition.and();
3244            condition.equalTo("is_deleted", "0");
3245            try {
3246                var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
3247                if (resultSet.goToFirstRow()) {
3248                    do {
3249                        console.info('logMessage contactCard_fuzzyquery_test_500: id = ' + resultSet.getString(0));
3250                        expect(resultSet.getString(0) == rawContactId.toString()).assertTrue();
3251                        console.info(
3252                            'logMessage contactCard_fuzzyquery_test_500: display_name = ' + resultSet.getString(1));
3253                        expect(resultSet.getString(1) == "500xiaoming500").assertTrue();
3254                        console.info(
3255                            'logMessage contactCard_fuzzyquery_test_500: phonetic_name = ' + resultSet.getString(array_two));
3256                        expect(resultSet.getString(array_two) == "500xiaoming500||xm").assertTrue();
3257                    } while (resultSet.goToNextRow());
3258                }
3259                resultSet.close();
3260            } catch (error) {
3261                console.info('logMessage contactCard_fuzzyquery_test_500 query error = ' + error);
3262                done();
3263            }
3264        }
3265    });
3266
3267    /**
3268     * @tc.number  contactCard_fuzzyquery_test_600
3269     * @tc.name    Contact fuzzy search query interface (company, position)
3270     * @tc.desc    Function test
3271     */
3272    it("contactCard_fuzzyquery_test_600", 0, async function(done) {
3273        console.info("--------logMessage contactCard_fuzzyquery_test_600 is starting!-------");
3274        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3275        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3276
3277        var rawContactValues = {"display_name" : "xiaoming", "company" : "TT600", "position" : "Testers600"};
3278        try {
3279            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3280            sleep(sleep_one);
3281            console.info('logMessage contactCard_fuzzyquery_test_600 rawContactId = ' + rawContactId);
3282            expect(rawContactId > 0).assertTrue();
3283            await RawContactCompanyQuery(dataShareHelper, rawContactId);
3284            await deleteRawContact("contactCard_fuzzyquery_test_600");
3285            done();
3286        } catch (error) {
3287            console.info('logMessage contactCard_fuzzyquery_test_600 raw_contact insert error = ' + error);
3288            done();
3289        }
3290    });
3291
3292    async function RawContactCompanyQuery(dataShareHelper, rawContactId)
3293    {
3294        var resultColumns = [ "id", "display_name", "company", "position" ];
3295        let condition = new dataShare.DataSharePredicates();
3296        condition.like("company", "%TT6%");
3297        condition.and();
3298        condition.equalTo("is_deleted", "0");
3299        condition.or();
3300        condition.like("position", "%Testers6%");
3301        condition.and();
3302        condition.equalTo("is_deleted", "0");
3303        try {
3304            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
3305            if (resultSet.goToFirstRow()) {
3306                do {
3307                    console.info('logMessage contactCard_fuzzyquery_test_600: id = ' + resultSet.getString(0));
3308                    expect(resultSet.getString(0) == rawContactId.toString()).assertEqual(true);
3309                    console.info(
3310                        'logMessage contactCard_fuzzyquery_test_600: display_name = ' + resultSet.getString(1));
3311                    expect(resultSet.getString(1) == "xiaoming").assertEqual(true);
3312                    console.info('logMessage contactCard_fuzzyquery_test_600: company = ' + resultSet.getString(array_two));
3313                    expect(resultSet.getString(array_two) == "TT600").assertEqual(true);
3314                    console.info('logMessage contactCard_fuzzyquery_test_600: position = ' + resultSet.getString(array_three));
3315                    expect(resultSet.getString(array_three) == "Testers600").assertEqual(true);
3316                } while (resultSet.goToNextRow());
3317            }
3318            resultSet.close();
3319        } catch (error) {
3320            console.info('logMessage contactCard_fuzzyquery_test_600 query error = ' + error);
3321        }
3322    }
3323
3324    /**
3325     * @tc.number  contactCard_fuzzyquery_test_700
3326     * @tc.name    Contact fuzzy search query interface (mobile phone number)
3327     * @tc.desc    Function test
3328     */
3329    it("contactCard_fuzzyquery_test_700", 0, async function(done) {
3330        console.info("--------logMessage contactCard_fuzzyquery_test_700 is starting!-------");
3331        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3332        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3333
3334        var rawContactValues = {"display_name" : "xiaoming"};
3335        try {
3336            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3337            sleep(sleep_one);
3338            console.info('logMessage contactCard_fuzzyquery_test_700 rawContactId = ' + rawContactId);
3339            expect(rawContactId > 0).assertTrue();
3340            await ContactDataPhoneInsert();
3341            await deleteRawContact("contactCard_fuzzyquery_test_700");
3342            await deleteAll(profileContactDataUri, "contactCard_fuzzyquery_test_700");
3343            done();
3344        } catch (error) {
3345            console.info('logMessage contactCard_fuzzyquery_test_700 raw_contact insert error = ' + error);
3346            done();
3347        }
3348
3349        async function ContactDataPhoneInsert()
3350        {
3351            var contactDataValues = {
3352                "raw_contact_id" : rawContactId,
3353                "content_type" : "phone",
3354                "detail_info" : "14528963"
3355            };
3356            try {
3357                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3358                sleep(sleep_one);
3359                console.info('logMessage contactCard_fuzzyquery_test_700 contactDataId  = ' + contactDataId);
3360                expect(contactDataId > 0).assertTrue();
3361                await fuzzyQueryPhone(dataShareHelper, rawContactId, contactDataId);
3362            } catch (error) {
3363                console.info('logMessage contactCard_fuzzyquery_test_700 contact_data insert error = ' + contactDataId);
3364                done();
3365            }
3366        }
3367    });
3368
3369    async function fuzzyQueryPhone(dataShareHelper, rawContactId, contactDataId)
3370    {
3371        var resultColumns = [ "id", "raw_contact_id", "detail_info" ];
3372        let condition = new dataShare.DataSharePredicates();
3373        // type_id = 5 data is phone
3374        condition.like("detail_info", "%52896%");
3375        condition.and();
3376        condition.equalTo("type_id", "5");
3377        try {
3378            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
3379            sleep(sleep_one);
3380            if (resultSet.goToFirstRow()) {
3381                do {
3382                    console.info('logMessage contactCard_fuzzyquery_test_700: id = ' + resultSet.getString(0));
3383                    expect(resultSet.getString(0) == contactDataId.toString()).assertEqual(true);
3384                    console.info(
3385                        'logMessage contactCard_fuzzyquery_test_700: raw_contact_id = ' + resultSet.getString(1));
3386                    expect(resultSet.getString(1) == rawContactId.toString()).assertEqual(true);
3387                    console.info('logMessage contactCard_fuzzyquery_test_700: detail_info = ' + resultSet.getString(array_two));
3388                    expect(resultSet.getString(array_two) == "14528963").assertEqual(true);
3389                } while (resultSet.goToNextRow());
3390            }
3391            resultSet.close();
3392        } catch (error) {
3393            console.info('logMessage contactCard_fuzzyquery_test_700 query error = ' + error);
3394        }
3395    }
3396
3397    /**
3398     * @tc.number  contactCard_fuzzyquery_test_800
3399     * @tc.name    Contact fuzzy search query interface (nickname)
3400     * @tc.desc    Function test
3401     */
3402    it("contactCard_fuzzyquery_test_800", 0, async function(done) {
3403        console.info("--------logMessage contactCard_fuzzyquery_test_800 is starting!-------");
3404        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3405        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3406
3407        var rawContactValues = {"display_name" : "xiaoming"};
3408        try {
3409            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3410            sleep(sleep_one);
3411            console.info('logMessage contactCard_fuzzyquery_test_800 rawContactId = ' + rawContactId);
3412            expect(rawContactId > 0).assertTrue();
3413            await ContactNickNameInsert();
3414            await deleteRawContact("contactCard_fuzzyquery_test_800");
3415            await deleteAll(profileContactDataUri, "contactCard_fuzzyquery_test_800");
3416            done();
3417        } catch (error) {
3418            console.info('logMessage contactCard_fuzzyquery_test_800 raw_contact insert error = ' + error);
3419            done();
3420        }
3421
3422        async function ContactNickNameInsert()
3423        {
3424            var contactDataValues = {
3425                "raw_contact_id" : rawContactId,
3426                "content_type" : "nickname",
3427                "detail_info" : "daming"
3428            };
3429            try {
3430                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3431                console.info('logMessage contactCard_fuzzyquery_test_800 contactDataId = ' + contactDataId);
3432                expect(contactDataId > 0).assertTrue();
3433                await fuzzyQueryPhoneNickName(dataShareHelper, rawContactId, contactDataId);
3434            } catch (error) {
3435                console.info('logMessage contactCard_fuzzyquery_test_800 contact_data insert error = ' + contactDataId);
3436                done();
3437            }
3438        }
3439    });
3440
3441    async function fuzzyQueryPhoneNickName(dataShareHelper, rawContactId, contactDataId)
3442    {
3443        var resultColumns = [ "id", "raw_contact_id", "detail_info" ];
3444        let condition = new dataShare.DataSharePredicates();
3445        // type_id = 3 data is nickname
3446        condition.like("detail_info", "%daming%");
3447        condition.and();
3448        condition.equalTo("type_id", "3");
3449        try {
3450            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
3451            sleep(sleep_one);
3452            if (resultSet.goToFirstRow()) {
3453                do {
3454                    console.info('logMessage contactCard_fuzzyquery_test_800: id = ' + resultSet.getString(0));
3455                    expect(resultSet.getString(0) == contactDataId.toString()).assertTrue();
3456                    console.info(
3457                        'logMessage contactCard_fuzzyquery_test_800: raw_contact_id = ' + resultSet.getString(1));
3458                    expect(resultSet.getString(1) == rawContactId.toString()).assertTrue();
3459                    console.info('logMessage contactCard_fuzzyquery_test_800: detail_info = ' + resultSet.getString(array_two));
3460                    expect(resultSet.getString(array_two) == "daming").assertTrue();
3461                } while (resultSet.goToNextRow());
3462            }
3463            resultSet.close();
3464        } catch (error) {
3465            console.info('logMessage contactCard_fuzzyquery_test_800 query error = ' + error);
3466        }
3467    }
3468    /**
3469     * @tc.number  contactCard_fuzzyquery_test_900
3470     * @tc.name    Contact fuzzy search query interface (mailbox)
3471     * @tc.desc    Function test
3472     */
3473    it("contactCard_fuzzyquery_test_900", 0, async function(done) {
3474        console.info("--------logMessage contactCard_fuzzyquery_test_900 is starting!-------");
3475        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3476        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3477
3478        var rawContactValues = {"display_name" : "xiaoming"};
3479        try {
3480            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3481            sleep(sleep_one);
3482            console.info('logMessage contactCard_fuzzyquery_test_900 rawContactId = ' + rawContactId);
3483            expect(rawContactId > 0).assertTrue();
3484            await ContactDataEmailInsert();
3485            await deleteRawContact("contactCard_fuzzyquery_test_900");
3486            await deleteAll(profileContactDataUri, "contactCard_fuzzyquery_test_900");
3487            done();
3488        } catch (error) {
3489            console.info('logMessage contactCard_fuzzyquery_test_900 raw_contact insert error = ' + error);
3490            done();
3491        }
3492
3493        async function ContactDataEmailInsert()
3494        {
3495            var contactDataValues = {
3496                "raw_contact_id" : rawContactId,
3497                "content_type" : "email",
3498                "detail_info" : "1564@163.com"
3499            };
3500            try {
3501                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3502                console.info('logMessage contactCard_fuzzyquery_test_900 ; = ' + contactDataId);
3503                expect(contactDataId > 0).assertTrue();
3504                await fuzzyQueryEmail(dataShareHelper, rawContactId, contactDataId);
3505            } catch (error) {
3506                console.info('logMessage contactCard_fuzzyquery_test_900 contact_data insert error = ' + error);
3507                done();
3508            }
3509        }
3510    });
3511
3512    async function fuzzyQueryEmail(dataShareHelper, rawContactId, contactDataId)
3513    {
3514        var resultColumns = [ "id", "raw_contact_id", "detail_info" ];
3515        let condition = new dataShare.DataSharePredicates();
3516        // type_id = 1 data is email
3517        condition.like("detail_info", "%1564%");
3518        condition.and();
3519        condition.equalTo("type_id", "1");
3520        try {
3521            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
3522            sleep(sleep_one);
3523            if (resultSet.goToFirstRow()) {
3524                do {
3525                    console.info('logMessage contactCard_fuzzyquery_test_900: id = ' + resultSet.getString(0));
3526                    expect(resultSet.getString(0) == contactDataId.toString()).assertTrue();
3527                    console.info(
3528                        'logMessage contactCard_fuzzyquery_test_900: raw_contact_id = ' + resultSet.getString(1));
3529                    expect(resultSet.getString(1) == rawContactId.toString()).assertTrue();
3530                    console.info('logMessage contactCard_fuzzyquery_test_900: detail_info = ' + resultSet.getString(array_two));
3531                    expect(resultSet.getString(array_two) == "1564@163.com").assertTrue();
3532                } while (resultSet.goToNextRow());
3533            }
3534            resultSet.close();
3535        } catch (error) {
3536            console.info('logMessage contactCard_fuzzyquery_test_900 query error = ' + error);
3537        }
3538    }
3539
3540    /**
3541     * @tc.number  contactCard_fuzzyquery_test_1000
3542     * @tc.name    Contact fuzzy search query interface (residential)
3543     * @tc.desc    Function test
3544     */
3545    it("contactCard_fuzzyquery_test_1000", 0, async function(done) {
3546        console.info("--------logMessage contactCard_fuzzyquery_test_1000 is starting!-------");
3547        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3548        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3549
3550        var rawContactValues = {"display_name" : "xiaoming"};
3551        try {
3552            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3553            sleep(sleep_one);
3554            console.info('logMessage contactCard_fuzzyquery_test_1000 rawContactId = ' + rawContactId);
3555            expect(rawContactId > 0).assertTrue();
3556            await ContactDataPostalInsert();
3557            await deleteRawContact("contactCard_fuzzyquery_test_1000");
3558            await deleteAll(profileContactDataUri, "contactCard_fuzzyquery_test_1000");
3559            done();
3560        } catch (error) {
3561            console.info('logMessage contactCard_fuzzyquery_test_1000 raw_contact insert error = ' + error);
3562            done();
3563        }
3564
3565        async function ContactDataPostalInsert()
3566        {
3567            var contactDataValues = {
3568                "raw_contact_id" : rawContactId,
3569                "content_type" : "postal_address",
3570                "detail_info" : "nanjing1000"
3571            };
3572            try {
3573                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3574                sleep(sleep_one);
3575                console.info('logMessage contactCard_fuzzyquery_test_1000 contactDataId = ' + contactDataId);
3576                expect(contactDataId > 0).assertTrue();
3577                await fuzzyQueryAddress(dataShareHelper, rawContactId, contactDataId);
3578            } catch (error) {
3579                console.info('logMessage contactCard_fuzzyquery_test_1000 contact_data insert error = ' + error);
3580                done();
3581            }
3582        }
3583    });
3584
3585    async function fuzzyQueryAddress(dataShareHelper, rawContactId, contactDataId)
3586    {
3587        var resultColumns = [ "id", "raw_contact_id", "detail_info" ];
3588        let condition = new dataShare.DataSharePredicates();
3589        // type_id = 1 data is postal_address
3590        condition.like("detail_info", "%nanjing10%");
3591        condition.and();
3592        condition.equalTo("type_id", "7");
3593        try {
3594            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
3595            sleep(sleep_one);
3596            if (resultSet.goToFirstRow()) {
3597                do {
3598                    console.info('logMessage contactCard_fuzzyquery_test_1000: id = ' + resultSet.getString(0));
3599                    expect(resultSet.getString(0) == contactDataId.toString()).assertTrue();
3600                    console.info(
3601                        'logMessage contactCard_fuzzyquery_test_1000: raw_contact_id = ' + resultSet.getString(1));
3602                    expect(resultSet.getString(1) == rawContactId.toString()).assertTrue();
3603                    console.info(
3604                        'logMessage contactCard_fuzzyquery_test_1000: detail_info = ' + resultSet.getString(array_two));
3605                    expect(resultSet.getString(array_two) == "nanjing1000").assertTrue();
3606                } while (resultSet.goToNextRow());
3607            }
3608            resultSet.close();
3609        } catch (error) {
3610            console.info('logMessage contactCard_fuzzyquery_test_1000: query error' + error);
3611        }
3612    }
3613
3614    /**
3615     * @tc.number  contactCard_fuzzyquery_test_1100
3616     * @tc.name    Contact fuzzy search query interface (remarks)
3617     * @tc.desc    Function test
3618     */
3619    it("contactCard_fuzzyquery_test_1100", 0, async function(done) {
3620        console.info("--------logMessage contactCard_fuzzyquery_test_1100 is starting!-------");
3621        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3622        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3623
3624        var rawContactValues = {"display_name" : "xiaoming"};
3625        try {
3626            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3627            sleep(sleep_one);
3628            console.info('logMessage contactCard_fuzzyquery_test_1100 rawContactId = ' + rawContactId);
3629            expect(rawContactId > 0).assertTrue();
3630            await ContactDataNoteInsert();
3631            await deleteRawContact("contactCard_fuzzyquery_test_1100");
3632            await deleteAll(profileContactDataUri, "contactCard_fuzzyquery_test_1100");
3633            done();
3634        } catch (error) {
3635            console.info('logMessage contactCard_fuzzyquery_test_1100 raw_contact insert error = ' + error);
3636            done();
3637        }
3638
3639        async function ContactDataNoteInsert()
3640        {
3641            var contactDataValues = {
3642                "raw_contact_id" : rawContactId,
3643                "content_type" : "note",
3644                "detail_info" : "java1100"
3645            };
3646            try {
3647                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3648                sleep(sleep_one);
3649                console.info('logMessage contactCard_fuzzyquery_test_1100 contactDataId = ' + contactDataId);
3650                expect(contactDataId > 0).assertTrue();
3651                await fuzzyQueryNote(dataShareHelper, rawContactId, contactDataId);
3652            } catch (error) {
3653                console.info('logMessage contactCard_fuzzyquery_test_1100 contact_data insert error = ' + error);
3654                done();
3655            }
3656        }
3657    });
3658
3659    async function fuzzyQueryNote(dataShareHelper, rawContactId, contactDataId)
3660    {
3661        var resultColumns = [ "id", "raw_contact_id", "detail_info" ];
3662        let condition = new dataShare.DataSharePredicates();
3663        // type_id = 10 data is note
3664        condition.like("detail_info", "%java11%");
3665        condition.and();
3666        condition.equalTo("type_id", "10");
3667        try {
3668            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
3669            if (resultSet.goToFirstRow()) {
3670                do {
3671                    console.info('logMessage contactCard_fuzzyquery_test_1100: id = ' + resultSet.getString(0));
3672                    expect(resultSet.getString(0) == contactDataId.toString()).assertEqual(true);
3673                    console.info(
3674                        'logMessage contactCard_fuzzyquery_test_1100: raw_contact_id = ' + resultSet.getString(1));
3675                    expect(resultSet.getString(1) == rawContactId.toString()).assertEqual(true);
3676                    console.info(
3677                        'logMessage contactCard_fuzzyquery_test_1100: detail_info = ' + resultSet.getString(array_two));
3678                    expect(resultSet.getString(array_two) == "java1100").assertEqual(true);
3679                } while (resultSet.goToNextRow());
3680            }
3681            resultSet.close();
3682        } catch (error) {
3683            console.info('logMessage contactCard_fuzzyquery_test_1100: query error' + error);
3684        }
3685    }
3686
3687    /**
3688     * @tc.number  contactCard_fuzzyquery_test_1200
3689     * @tc.name    Contact fuzzy search query interface (AIM)
3690     * @tc.desc    Function test
3691     */
3692    it("contactCard_fuzzyquery_test_1200", 0, async function(done) {
3693        console.info("--------logMessage contactCard_fuzzyquery_test_1200 is starting!-------");
3694        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3695        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3696
3697        var rawContactValues = {"display_name" : "xiaoming"};
3698        try {
3699            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3700            console.info('logMessage contactCard_fuzzyquery_test_1200 rawContactId = ' + rawContactId);
3701            expect(rawContactId > 0).assertTrue();
3702            await ContactDataAimInsert();
3703            await deleteRawContact("contactCard_fuzzyquery_test_1200");
3704            await deleteAll(profileContactDataUri, "contactCard_fuzzyquery_test_1200");
3705            done();
3706        } catch (error) {
3707            console.info('logMessage contactCard_fuzzyquery_test_1200 raw_contact insert error = ' + error);
3708            done();
3709        }
3710
3711        async function ContactDataAimInsert()
3712        {
3713            var contactDataValues = {
3714                "raw_contact_id" : rawContactId,
3715                "content_type" : "im",
3716                "detail_info" : "aaaa1200"
3717            };
3718            try {
3719                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
3720                console.info('logMessage contactCard_fuzzyquery_test_1200 ; = ' + contactDataId);
3721                expect(contactDataId > 0).assertTrue();
3722                await fuzzyQueryIM(dataShareHelper, rawContactId, contactDataId);
3723            } catch (error) {
3724                console.info('logMessage contactCard_fuzzyquery_test_1200 contact_data insert error = ' + error);
3725                done();
3726            }
3727        }
3728    });
3729
3730    async function fuzzyQueryIM(dataShareHelper, rawContactId, contactDataId)
3731    {
3732        var resultColumns = [ "id", "raw_contact_id", "detail_info" ];
3733        let condition = new dataShare.DataSharePredicates();
3734        // type_id = 10 data is im account number
3735        condition.like("detail_info", "%aa12%");
3736        condition.and();
3737        condition.equalTo("type_id", "2");
3738        try {
3739            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
3740            if (resultSet.goToFirstRow()) {
3741                do {
3742                    console.info('logMessage contactCard_fuzzyquery_test_1200: id = ' + resultSet.getString(0));
3743                    expect(resultSet.getString(0) == contactDataId.toString()).assertEqual(true);
3744                    console.info(
3745                        'logMessage contactCard_fuzzyquery_test_1200: raw_contact_id = ' + resultSet.getString(1));
3746                    expect(resultSet.getString(1) == rawContactId.toString()).assertEqual(true);
3747                    console.info(
3748                        'logMessage contactCard_fuzzyquery_test_1200: detail_info = ' + resultSet.getString(array_two));
3749                    expect(resultSet.getString(array_two) == "aaaa1200").assertEqual(true);
3750                } while (resultSet.goToNextRow());
3751            }
3752            resultSet.close();
3753        } catch (error) {
3754            console.info('logMessage contactCard_fuzzyquery_test_1200: query error' + error);
3755        }
3756    }
3757
3758    /**
3759     * @tc.number  abnormal_contactCard_insert_test_200
3760     * @tc.name    Abnormal use case, an incorrect field is passed in when inserting
3761     * @tc.desc    Function test
3762     */
3763    it("abnormal_contactCard_insert_test_200", 0, async function(done) {
3764        console.info("------------abnormal_contactCard_insert_test_200 is starting!-----------");
3765        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3766        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3767
3768        var rawContactValues = {"display_names" : "xiaoshan"};
3769        try {
3770            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3771            console.info("logMessage abnormal_contactCard_insert_test_200: rawContactId = " + rawContactId);
3772            expect(rawContactId).assertEqual(-1);
3773            done();
3774        } catch (error) {
3775            console.info('logMessage abnormal_contactCard_insert_test_200: raw_contact insert error' + error);
3776            done();
3777        }
3778    });
3779
3780    /**
3781     * @tc.number  abnormal_contactCard_insert_test_300
3782     * @tc.name    Abnormal use case, an incorrect table name is passed in when inserting
3783     * @tc.desc    Function test
3784     */
3785    it("abnormal_contactCard_insert_test_300", 0, async function(done) {
3786        console.info("------------abnormal_contactCard_insert_test_300 is starting!-----------");
3787        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3788        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3789        var errorUri = "datashare:///com.ohos.calllogability/contacts/raw_contacts";
3790
3791        var rawContactValues = {"display_name" : "xiaoshan"};
3792        try {
3793            var rawContactId = await dataShareHelper.insert(errorUri, rawContactValues);
3794            console.info("logMessage abnormal_contactCard_insert_test_300: rawContactId = " + rawContactId);
3795            expect(rawContactId == -1).assertTrue();
3796            done();
3797        } catch (error) {
3798            console.info('logMessage abnormal_contactCard_insert_test_300: raw_contact insert error' + error);
3799            done();
3800        }
3801    });
3802
3803    /**
3804     * @tc.number  abnormal_contactCard_update_test_1100
3805     * @tc.name    Abnormal use case, an incorrect field is passed in when updating
3806     * @tc.desc    Function test
3807     */
3808    it("abnormal_contactCard_update_test_1100", 0, async function(done) {
3809        console.info("------------abnormal_contactCard_update_test_1100 is starting!-----------");
3810        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3811        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3812
3813        var rawContactValues = {"display_name" : "xiaoshan"};
3814        try {
3815            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3816            console.info("logMessage abnormal_contactCard_update_test_1100: rawContactId = " + rawContactId);
3817            expect(rawContactId > 0).assertTrue();
3818            await AbnormalUpdate();
3819            await deleteRawContact("abnormal_contactCard_update_test_1100");
3820            done();
3821        } catch (error) {
3822            console.info('logMessage abnormal_contactCard_update_test_1100: raw_contact insert error' + error);
3823            done();
3824        }
3825
3826        async function AbnormalUpdate()
3827        {
3828            var updateValues = {"display_names" : "xiaosan"};
3829            let condition = new dataShare.DataSharePredicates();
3830            condition.equalTo("ids", rawContactId.toString());
3831            try {
3832                var updataCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition)
3833                console.info("logMessage abnormal_contactCard_update_test_1100: updataCode = " + updataCode);
3834                expect(updataCode == -1).assertTrue();
3835                var map = new Map();
3836                map.set("id", rawContactId.toString());
3837                map.set("display_name", "xiaoshan");
3838                await contactsQuery(map, "abnormal_contactCard_update_test_1100", profileRawContactUri);
3839            } catch (error) {
3840                console.info('logMessage abnormal_contactCard_update_test_1100: update error' + error);
3841                done();
3842            }
3843        }
3844    });
3845
3846    /**
3847     * @tc.number  abnormal_contactCard_update_test_1000
3848     * @tc.name    Abnormal use case, an incorrect table name is passed in when updating
3849     * @tc.desc    Function test
3850     */
3851    it("abnormal_contactCard_update_test_1000", 0, async function(done) {
3852        console.info("------------abnormal_contactCard_update_test_1000 is starting!-----------");
3853        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3854        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3855        var errorUri = "datashare:///com.ohos.calllogability/contacts/raw_contacts";
3856
3857        var rawContactValues = {"display_name" : "xiaoshan"};
3858        try {
3859            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3860            console.info("logMessage abnormal_contactCard_update_test_1000: rawContactId = " + rawContactId);
3861            expect(rawContactId > 0).assertTrue();
3862            await AbnormalUpdate();
3863            await deleteRawContact("abnormal_contactCard_update_test_1000");
3864            done();
3865        } catch (error) {
3866            console.info('logMessage abnormal_contactCard_update_test_1000: raw_contact insert error' + error);
3867            done();
3868        }
3869
3870        async function AbnormalUpdate()
3871        {
3872            var updateValues = {"display_name" : "xiaosan"};
3873            let condition = new dataShare.DataSharePredicates();
3874            condition.equalTo("id", rawContactId.toString());
3875            try {
3876                var updataCode = await dataShareHelper.update(errorUri, updateValues, condition);
3877                console.info("logMessage abnormal_contactCard_update_test_1000: updataCode = " + updataCode);
3878                expect(updataCode == -1).assertTrue();
3879                var map = new Map();
3880                map.set("id", rawContactId.toString());
3881                map.set("display_name", "xiaoshan");
3882                await contactsQuery(map, "abnormal_contactCard_update_test_1000", profileRawContactUri);
3883            } catch (error) {
3884                console.info("logMessage abnormal_contactCard_update_test_1000: updata error = " + error);
3885                done();
3886            }
3887        }
3888    });
3889
3890    /**
3891     * @tc.number  abnormal_contactCard_delete_test_4500
3892     * @tc.name    Abnormal use case, an incorrect field is passed in when deleting
3893     * @tc.desc    Function test
3894     */
3895    it("abnormal_contactCard_delete_test_4500", 0, async function(done) {
3896        console.info("------------abnormal_contactCard_delete_test_4500 is starting!-----------");
3897        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3898        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3899
3900        var rawContactValues = {"display_name" : "xiaozhi"};
3901        try {
3902            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3903            console.info("logMessage abnormal_contactCard_delete_test_4500: rawContactId = " + rawContactId);
3904            expect(rawContactId > 0).assertTrue();
3905            await AbnormalDelete();
3906            await deleteRawContact("abnormal_contactCard_delete_test_4500");
3907            done();
3908        } catch (error) {
3909            console.info('logMessage abnormal_contactCard_delete_test_4500: raw_contact insert error' + error);
3910            done();
3911        }
3912
3913        async function AbnormalDelete()
3914        {
3915            let condition = new dataShare.DataSharePredicates();
3916            condition.equalTo("ids", rawContactId.toString());
3917            try {
3918                var deleteCode = await dataShareHelper.delete(profileRawContactUri, condition);
3919                console.info("logMessage abnormal_contactCard_delete_test_4500: deleteCode = " + deleteCode);
3920                expect(deleteCode == -1).assertTrue();
3921                var map = new Map();
3922                map.set("id", rawContactId.toString());
3923                map.set("display_name", "xiaozhi");
3924                await contactsQuery(map, "abnormal_contactCard_delete_test_4500", profileRawContactUri);
3925                done();
3926            } catch (error) {
3927                console.info('logMessage abnormal_contactCard_delete_test_4500: delete error' + error);
3928                done();
3929            }
3930        }
3931    });
3932
3933    /**
3934     * @tc.number  abnormal_contactCard_delete_test_4600
3935     * @tc.name    Abnormal use case, an incorrect table name is passed in when deleting
3936     * @tc.desc    Function test
3937     */
3938    it("abnormal_contactCard_delete_test_4600", 0, async function(done) {
3939        console.info("------------abnormal_contactCard_delete_test_4600 is starting!-----------");
3940        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3941        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3942        var errorUri = "datashare:///com.ohos.calllogability/contacts/raw_contacts";
3943
3944        var rawContactValues = {"display_name" : "xiaoshan"};
3945        try {
3946            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
3947            console.info("logMessage abnormal_contactCard_delete_test_4600: rawContactId = " + rawContactId);
3948            expect(rawContactId > 0).assertTrue();
3949            await AbnormalDelete();
3950            await deleteRawContact("abnormal_contactCard_delete_test_4600");
3951            done();
3952        } catch (error) {
3953            console.info('logMessage abnormal_contactCard_delete_test_4600: raw_contact insert error' + error);
3954            done();
3955        }
3956
3957        async function AbnormalDelete()
3958        {
3959            let condition = new dataShare.DataSharePredicates();
3960            condition.equalTo("id", rawContactId.toString());
3961            try {
3962                var deleteCode = await dataShareHelper.delete(errorUri, condition);
3963                console.info("logMessage abnormal_contactCard_delete_test_4600: deleteCode = " + deleteCode);
3964                expect(deleteCode == -1).assertTrue();
3965                var map = new Map();
3966                map.set("id", rawContactId.toString());
3967                map.set("display_name", "xiaoshan");
3968                await contactsQuery(map, "abnormal_contactCard_delete_test_4600", profileRawContactUri);
3969                done();
3970            } catch (error) {
3971                console.info('logMessage abnormal_contactCard_delete_test_4600: delete error' + error);
3972                done();
3973            }
3974        }
3975    });
3976
3977    /**
3978     * @tc.number  abnormal_contactCard_query_test_4200
3979     * @tc.name    Abnormal use case, an incorrect field is passed in when querying
3980     * @tc.desc    Function test
3981     */
3982    it("abnormal_contactCard_query_test_4200", 0, async function(done) {
3983        console.info("------------abnormal_contactCard_query_test_4200 is starting!-----------");
3984        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
3985        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
3986
3987        var rawContactValues = {"display_name" : "xiaozhicheng"};
3988        try {
3989            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues)
3990            console.info("logMessage abnormal_contactCard_query_test_4200: rawContactId = " + rawContactId);
3991            expect(rawContactId > 0).assertTrue();
3992            await AbnormalQuery();
3993            await deleteRawContact("abnormal_contactCard_query_test_4200");
3994            done();
3995        } catch (error) {
3996            console.info('logMessage abnormal_contactCard_query_test_4200: raw_contact insert error' + error);
3997            done();
3998        }
3999
4000        async function AbnormalQuery()
4001        {
4002            var resultColumns = [ "id", "display_name" ];
4003            let condition = new dataShare.DataSharePredicates();
4004            condition.equalTo("ids", rawContactId.toString());
4005            try {
4006                var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
4007                expect(resultSet.goToFirstRow()).assertEqual(false);
4008                console.info(
4009                    'logMessage abnormal_contactCard_query_test_4200: goToFirstRow' + resultSet.goToFirstRow());
4010                resultSet.close();
4011            } catch (error) {
4012                console.info('logMessage abnormal_contactCard_query_test_4200: query error = ' + error);
4013                done();
4014            }
4015        }
4016    });
4017
4018    /**
4019     * @tc.number  abnormal_contactCard_batchinsert_test_5100
4020     * @tc.name    Abnormal use cases, when adding data in batches, some of them failed, check the processing logic
4021     * @tc.desc    Function test
4022     */
4023    it("abnormal_contactCard_batchinsert_test_5100", 0, async function(done) {
4024        console.info("--------logMessage abnormal_contactCard_batchinsert_test_5100 is starting!------------");
4025        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4026        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4027
4028        var addBulk_value1 = {"display_name" : "zhangsan"};
4029        var addBulk_value2 = {"display_names" : "lisi"};
4030        var addBulk_value3 = {"display_name" : "wangwu"};
4031        var addBulk_value4 = {"display_names" : "laoliu"};
4032        var addBulk_value5 = {"display_name" : "xiaozhang"};
4033        var listAddBluk = [];
4034        listAddBluk[0] = addBulk_value1;
4035        listAddBluk[1] = addBulk_value2;
4036        listAddBluk[array_two] = addBulk_value3;
4037        listAddBluk[array_three] = addBulk_value4;
4038        listAddBluk[array_four] = addBulk_value5;
4039        try {
4040            var batchInsertCode = await dataShareHelper.batchInsert(profileRawContactUri, listAddBluk);
4041            console.info("logMessage abnormal_contactCard_batchinsert_test_5100: batchInsertCode = " + batchInsertCode);
4042            expect(batchInsertCode == -1).assertTrue();
4043            done();
4044        } catch (error) {
4045            console.info("logMessage abnormal_contactCard_batchinsert_test_5100: batch insert error = " + error);
4046            done();
4047        }
4048    });
4049
4050    /**
4051     * @tc.number  abnormal_contactCard_insert_data_5300
4052     * @tc.name    insert_data error no rawContactId
4053     * @tc.desc    Function test
4054     */
4055    it("abnormal_contactCard_insert_data_5300", 0, async function(done) {
4056        console.info("--------logMessage abnormal_contactCard_insert_data_5300 is starting!-------");
4057        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4058        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4059
4060        var rawContactValues = {"display_name" : "xiaotian"};
4061        try {
4062            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
4063            sleep(sleep_one);
4064            console.info('logMessage abnormal_contactCard_insert_data_5300 rawContactId = ' + rawContactId);
4065            expect(rawContactId > 0).assertTrue();
4066            await ContactDataAimInsert();
4067            await deleteRawContact("abnormal_contactCard_insert_data_5300");
4068            done();
4069        } catch (error) {
4070            console.info('logMessage abnormal_contactCard_insert_data_5300 raw_contact insert error = ' + error);
4071            done();
4072        }
4073
4074        async function ContactDataAimInsert()
4075        {
4076            var contactDataValues = {"content_type" : "im", "detail_info" : "aaaa"};
4077            try {
4078                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
4079                console.info('logMessage abnormal_contactCard_insert_data_5300 ; = ' + contactDataId);
4080                expect(contactDataId == -1).assertTrue();
4081            } catch (error) {
4082                console.info('logMessage abnormal_contactCard_insert_data_5300 contact_data insert error = ' + error);
4083                done();
4084            }
4085        }
4086    });
4087
4088    /**
4089     * @tc.number  abnormal_contactCard_insert_data_5400
4090     * @tc.name    insert_data error no content_type
4091     * @tc.desc    Function test
4092     */
4093    it("abnormal_contactCard_insert_data_5400", 0, async function(done) {
4094        console.info("--------logMessage abnormal_contactCard_insert_data_5400 is starting!-------");
4095        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4096        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4097
4098        var rawContactValues = {"display_name" : "xiaotian"};
4099        try {
4100            var rawContactId = await dataShareHelper.insert(profileRawContactUri, rawContactValues);
4101            console.info('logMessage abnormal_contactCard_insert_data_5400 rawContactId = ' + rawContactId);
4102            expect(rawContactId > 0).assertTrue();
4103            await ContactDataAimInsert();
4104            await deleteRawContact("abnormal_contactCard_insert_data_5400");
4105            done();
4106        } catch (error) {
4107            console.info('logMessage abnormal_contactCard_insert_data_5400 raw_contact insert error = ' + error);
4108            done();
4109        }
4110
4111        async function ContactDataAimInsert()
4112        {
4113            var contactDataValues = {"raw_contact_id" : rawContactId, "detail_info" : "aaaa"};
4114            try {
4115                var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
4116                console.info('logMessage abnormal_contactCard_insert_data_5400 ; = ' + contactDataId);
4117                expect(contactDataId == -1).assertTrue();
4118            } catch (error) {
4119                console.info('logMessage abnormal_contactCard_insert_data_5400 contact_data insert error = ' + error);
4120                done();
4121            }
4122        }
4123    });
4124
4125    /**
4126     * @tc.number  contactCard_delete_test_5500
4127     * @tc.name    batchDelete
4128     * @tc.desc    Function test
4129     */
4130    it("contactCard_delete_test_5500", 0, async function(done) {
4131        console.info("--------logMessage contactCard_delete_test_5500 is starting!------------");
4132        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4133        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4134        try {
4135            var rawContactId = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
4136            console.info("logMessage contactCard_delete_test_5500: rawContactId = " + rawContactId);
4137            expect(rawContactId > 0).assertTrue();
4138            var map = common.getProfileRawContactMap();
4139            map.set("id", rawContactId.toString());
4140            await contactsQuery(map, "contactCard_delete_test_5500", profileRawContactUri);
4141            await executeBatch();
4142        } catch (error) {
4143            console.info("logMessage contactCard_delete_test_5500:  insert error = " + error);
4144            done();
4145        }
4146        async function executeBatch()
4147        {
4148            let condition = new dataShare.DataSharePredicates();
4149            condition.equalTo("id", rawContactId.toString());
4150            dataShareHelper.executeBatch(URI_CONTACTS, [ {
4151                uri : profileRawContactUri,
4152                type : featureAbility.DataAbilityOperationType.TYPE_DELETE,
4153                predicates : condition,
4154                expectedCount : 0,
4155                PredicatesBackReferences : {},
4156                interrupted : true,
4157            } ],
4158                (error, data) => {
4159                    console.info(
4160                        "logMessage contactCard_delete_test_5500: executeBatch data = " + JSON.stringify(data));
4161                    console.info("logMessage contactCard_delete_test_5500: data_3 = " + data);
4162                    console.info("logMessage contactCard_delete_test_5500:  data_1= " + data[0].count);
4163                    expect(data[0].count == 0).assertTrue();
4164                    done();
4165                });
4166        }
4167    });
4168
4169    /**
4170     * @tc.number  contactCard_update_test_5600
4171     * @tc.name    batchUpdate
4172     * @tc.desc    Function test
4173     */
4174    it("contactCard_update_test_5600", 0, async function(done) {
4175        console.info("--------logMessage contactCard_update_test_5600 is starting!------------");
4176        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4177        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4178        try {
4179            var rawContactId = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
4180            console.info("logMessage contactCard_update_test_5600: rawContactId = " + rawContactId);
4181            expect(rawContactId > 0).assertTrue();
4182            var map = common.getProfileRawContactMap();
4183            map.set("id", rawContactId.toString());
4184            await contactsQuery(map, "contactCard_update_test_5600", profileRawContactUri);
4185            await executeBatch();
4186        } catch (error) {
4187            console.info("logMessage contactCard_update_test_5600:  insert error = " + error);
4188            done();
4189        }
4190
4191        async function executeBatch()
4192        {
4193            var updateValues = {"display_name" : "xiaoxiaoxiao"};
4194            let condition = new dataShare.DataSharePredicates();
4195            condition.equalTo("id", rawContactId.toString());
4196            dataShareHelper.executeBatch(URI_CONTACTS, [ {
4197                uri : profileRawContactUri,
4198                type : featureAbility.DataAbilityOperationType.TYPE_UPDATE,
4199                valuesBucket : updateValues,
4200                predicates : condition,
4201                expectedCount : 0,
4202                PredicatesBackReferences : {},
4203                interrupted : true,
4204            } ],
4205                (error, data) => {
4206                    console.info(
4207                        "logMessage contactCard_update_test_5600: executeBatch data = " + JSON.stringify(data));
4208                    console.info("logMessage contactCard_update_test_5600: data_3 = " + data);
4209                    console.info("logMessage contactCard_update_test_5600:  data_1= " + data[0].count);
4210                    expect(data[0].count == 0).assertTrue();
4211                    done();
4212                });
4213        }
4214    });
4215
4216    /**
4217     * @tc.number  contactCard_insert_test_5700
4218     * @tc.name    Insert Multiple raw_contact essential information
4219     * @tc.desc    Function test
4220     */
4221    it("contactCard_insert_test_5700", 0, async function(done) {
4222        console.info("------logMessage contactCard_insert_test_5700 is starting!-----");
4223        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4224        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4225        try {
4226            var rawContactId = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
4227            sleep(sleep_one);
4228            console.info('logMessage contactCard_insert_test_5700: rawContactId = ' + rawContactId);
4229            expect(rawContactId > 0).assertTrue();
4230            var map = common.getProfileRawContactMap();
4231            map.set("id", rawContactId.toString());
4232            await contactsQuery(map, "contactCard_insert_test_5700", profileRawContactUri);
4233            var rawContactIdOne = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
4234            sleep(sleep_one);
4235            console.info('logMessage contactCard_insert_test_5700: rawContactIdOne = ' + rawContactIdOne);
4236            expect(rawContactIdOne > 0).assertTrue();
4237            var map = common.getProfileRawContactMap();
4238            map.set("id", rawContactIdOne.toString());
4239            await contactsQuery(map, "contactCard_insert_test_5700", profileRawContactUri);
4240            var rawContactIdTwo = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
4241            sleep(sleep_one);
4242            console.info('logMessage contactCard_insert_test_5700: rawContactIdTwo = ' + rawContactIdTwo);
4243            expect(rawContactIdTwo > 0).assertTrue();
4244            var map = common.getProfileRawContactMap();
4245            map.set("id", rawContactIdTwo.toString());
4246            await contactsQuery(map, "contactCard_insert_test_5700", profileRawContactUri);
4247            await deleteRawContact("contactCard_insert_test_5700");
4248            done();
4249        } catch (error) {
4250            console.info('logMessage contactCard_insert_test_5700: insert error = ' + error);
4251            done();
4252        }
4253    });
4254
4255    /**
4256     * @tc.number  contactCard_insert_test_5800
4257     * @tc.name    Add 20000 bytes of basic contact information and verify whether the text insertion is successful
4258     * @tc.desc    Function test
4259     */
4260    it("contactCard_insert_test_5800", 0, async function(done) {
4261        console.info("------logMessage contactCard_insert_test_5800 is starting!-----");
4262        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4263        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4264        var name;
4265        for (var i = 0; i < 20000; i++) {
4266            name += "i";
4267        }
4268        var contcatvalues = {"display_name" : name}
4269        try {
4270            var rawContactId = await dataShareHelper.insert(profileRawContactUri, contcatvalues);
4271            sleep(sleep_one);
4272            console.info('logMessage contactCard_insert_test_5800: rawContactId = ' + rawContactId);
4273            expect(rawContactId > 0).assertTrue();
4274            var map = new Map();
4275            map.set("id", rawContactId.toString());
4276            map.set("display_name", name);
4277            await contactsQuery(map, "contactCard_insert_test_5800", profileRawContactUri);
4278            await deleteRawContact("contactCard_insert_test_5800");
4279            done();
4280        } catch (error) {
4281            console.info('logMessage contactCard_insert_test_5800: insert error = ' + error);
4282            done();
4283        }
4284    });
4285
4286    /**
4287     * @tc.number  contactCard_insert_test_5900
4288     * @tc.name    Add multiple contact details and verify that the insertion was successful
4289     * @tc.desc    Function test
4290     */
4291    it("contactCard_insert_test_5900", 0, async function(done) {
4292        console.info("------logMessage contactCard_insert_test_5900 is starting!-----");
4293        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4294        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4295        var contcatvalues = {"display_name" : "xiao5900"}
4296        try {
4297            var rawContactId = await dataShareHelper.insert(profileRawContactUri, contcatvalues);
4298            console.info('logMessage contactCard_insert_test_5900: rawContactId = ' + rawContactId);
4299            expect(rawContactId > 0).assertTrue();
4300            var contactDataValues1 = {
4301                "raw_contact_id" : rawContactId,
4302                "content_type" : "phone",
4303                "detail_info" : "19960229"
4304            };
4305            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues1);
4306            console.info('logMessage contactCard_insert_test_5900: contactDataId = ' + contactDataId);
4307            expect(contactDataId > 0).assertTrue();
4308
4309            var map = new Map();
4310            map.set("id", contactDataId.toString());
4311            map.set("detail_info", "19960229");
4312            await contactsQuery(map, "contactCard_insert_test_5900", profileContactDataUri);
4313
4314            var rawContactIdOne = await dataShareHelper.insert(profileRawContactUri, contcatvalues);
4315            console.info('logMessage contactCard_insert_test_5900: rawContactId = ' + rawContactIdOne);
4316            expect(rawContactIdOne > 0).assertTrue();
4317            var contactDataValues2 = {
4318                "raw_contact_id" : rawContactIdOne,
4319                "content_type" : "phone",
4320                "detail_info" : "111111032"
4321            };
4322            var contactDataId1 = await dataShareHelper.insert(profileContactDataUri, contactDataValues2);
4323            console.info('logMessage contactCard_insert_test_5900: contactDataId = ' + contactDataId1);
4324            expect(contactDataId1 > 0).assertTrue();
4325
4326            var map = new Map();
4327            map.set("id", contactDataId1.toString());
4328            map.set("detail_info", "111111032");
4329            await contactsQuery(map, "contactCard_insert_test_5900", profileContactDataUri);
4330
4331            await deleteRawContact("contactCard_insert_test_5900");
4332            await deleteAll(profileContactDataUri, "contactCard_insert_test_5900");
4333            done();
4334        } catch (error) {
4335            console.info('logMessage contactCard_insert_test_5900: insert error = ' + error);
4336            done();
4337        }
4338    });
4339
4340    /**
4341     * @tc.number  contactCard_insert_test_6000
4342     * @tc.name    Add the basic information of a single contact and verify whether the insertion is successful (name,
4343     * Pinyin, company, position, favorite)
4344     * @tc.desc    Function test
4345     */
4346    it("contactCard_insert_test_6000", 0, async function(done) {
4347        console.info("------logMessage contactCard_insert_test_6000 is starting!-----");
4348        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4349        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4350
4351        var insertRawContactValues = {
4352            "display_name" : "licheng",
4353            "company" : "TT",
4354            "position" : "developer",
4355            "favorite" : 1,
4356            "phonetic_name" : "licheng||lc"
4357        };
4358        try {
4359            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4360            console.info("logMessage contactCard_insert_test_6000: rawContactId = " + rawContactId);
4361            expect(rawContactId > 0).assertTrue();
4362
4363            var map = new Map();
4364            map.set("id", rawContactId.toString());
4365            map.set("display_name", "licheng");
4366            map.set("company", "TT");
4367            map.set("position", "developer");
4368            map.set("favorite", "1");
4369            map.set("phonetic_name", "licheng||lc");
4370            await contactsQuery(map, "contactCard_insert_test_6000", profileRawContactUri);
4371            await deleteRawContact("contactCard_insert_test_6000");
4372            await deleteAll(profileContactDataUri, "contactCard_insert_test_6000");
4373            done();
4374        } catch (error) {
4375            console.info("logMessage contactCard_insert_test_6000: raw_contact insert error = " + error);
4376            done();
4377        }
4378    });
4379
4380    /**
4381     * @tc.number  contactCard_insertData_test_6100
4382     * @tc.name    To contact_data Add a full field data to the data table and verify whether the insertion is
4383     * successful
4384     * @tc.desc    Function test
4385     */
4386    it("contactCard_insertData_test_6100", 0, async function(done) {
4387        console.info("------logMessage contactCard_insertData_test_6100 is starting!-----");
4388        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4389        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4390
4391        var insertRawContactValues = {
4392            "display_name" : "xiaocai",
4393        };
4394        try {
4395            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4396            console.info("logMessage contactCard_insertData_test_6100: rawContactId = " + rawContactId);
4397            expect(rawContactId > 0).assertTrue();
4398            var contactDataValues = common.getProfileContactData();
4399            contactDataValues["raw_contact_id"] = rawContactId;
4400            console.info('logMessage contactCard_insertData_test_6100: contactDataValues["raw_contact_id"] = ' +
4401                         contactDataValues.raw_contact_id);
4402            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
4403            console.info('logMessage contactCard_insertData_test_6100: contactDataId = ' + contactDataId);
4404            expect(contactDataId > 0).assertTrue();
4405            var map = common.getProfileContactDataMap();
4406            map.set("id", contactDataId.toString());
4407            map.set("raw_contact_id", rawContactId.toString());
4408            await contactsQuery(map, "contactCard_insertData_test_6100", profileContactDataUri);
4409            await deleteRawContact("contactCard_insertData_test_6100");
4410            await deleteAll(profileContactDataUri, "contactCard_insertData_test_6100");
4411            done();
4412        } catch (error) {
4413            console.info("logMessage contactCard_insertData_test_6100: raw_contact insert error = " + error);
4414            done();
4415        }
4416    });
4417
4418    /**
4419     * @tc.number  contactCard_update_test_6200
4420     * @tc.name    Modify the basic information of multiple contacts and verify whether the modification is successful
4421     * @tc.desc    Function test
4422     */
4423    it("contactCard_update_test_6200", 0, async function(done) {
4424        console.info("--------logMessage contactCard_update_test_6200 is starting!------------");
4425        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4426        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4427        try {
4428            var insertRawContactValues = {
4429                "display_name" : "xiaocai",
4430            };
4431            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4432            expect(rawContactId > 0).assertTrue();
4433            console.info("logMessage contactCard_update_test_6200: rawContactId = " + rawContactId);
4434            var insertRawContactValuesOne = {
4435                "display_name" : "xiaocai1",
4436            };
4437            var rawContactIdOne = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesOne);
4438            expect(rawContactIdOne > 0).assertTrue();
4439            console.info("logMessage contactCard_update_test_6200: rawContactIdOne = " + rawContactIdOne);
4440            var insertRawContactValuesTwo = {
4441                "display_name" : "xiaocai1",
4442            };
4443            var rawContactIdTwo = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesTwo);
4444            expect(rawContactIdTwo > 0).assertTrue();
4445            console.info("logMessage contactCard_update_test_6200: rawContactIdTwo = " + rawContactIdTwo);
4446
4447            var updateValues = {"display_name" : "xiaosan"};
4448            let condition = new dataShare.DataSharePredicates();
4449            condition.equalTo("id", rawContactId.toString());
4450            condition.or();
4451            condition.equalTo("id", rawContactIdOne.toString());
4452            condition.or();
4453            condition.equalTo("id", rawContactIdTwo.toString());
4454            var updataCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition);
4455            console.info("logMessage contactCard_update_test_6200: updataCode = " + updataCode);
4456            expect(updataCode == 0).assertTrue();
4457            sleep(sleep_one);
4458            await queryUpdateThree(
4459                "contactCard_update_test_6200", dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo);
4460            await deleteRawContact("contactCard_update_test_6200");
4461            done();
4462        } catch (error) {
4463            console.info("logMessage contactCard_update_test_6200:  insert error = " + error);
4464            done();
4465        }
4466    });
4467
4468    async function queryUpdateThree(tag, dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo)
4469    {
4470
4471        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4472        console.info(tag + ': contactsQuery start ! dataShareHelper = ' + dataShareHelper);
4473        var resultColumns = [ "display_name" ];
4474        let condition = new dataShare.DataSharePredicates();
4475        condition.equalTo("id", rawContactId.toString());
4476        condition.or();
4477        condition.equalTo("id", rawContactIdOne.toString());
4478        condition.or();
4479        condition.equalTo("id", rawContactIdTwo.toString());
4480        try {
4481            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
4482            if (resultSet.rowCount > 0) {
4483                if (resultSet.goToFirstRow()) {
4484                    do {
4485                        var name = resultSet.getString(resultSet.getColumnIndex("display_name"));
4486                        expect(name == "xiaosan").assertEqual(true);
4487                    } while (resultSet.goToNextRow());
4488                }
4489            }
4490            resultSet.close();
4491        } catch (error) {
4492            console.info(tag + "logMessage contactsQuery: error = " + error);
4493        }
4494    }
4495
4496    /**
4497     * @tc.number  contactCard_UpdateRawContcat_test_6300
4498     * @tc.name    Update raw_contact The full field data of the contact table and verify whether the modification is
4499     * successful
4500     * @tc.desc    Function test
4501     */
4502    it("contactCard_UpdateRawContcat_test_6300", 0, async function(done) {
4503        console.info("------logMessage contactCard_UpdateRawContcat_test_6300 is starting!-----");
4504        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4505        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4506        try {
4507            var rawContactId = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
4508            console.info("logMessage contactCard_UpdateRawContcat_test_6300: rawContactId = " + rawContactId);
4509            expect(rawContactId > 0).assertTrue();
4510            sleep(sleep_two);
4511            var updateValues = common.getProfileRawContactUpdate();
4512            let condition = new dataShare.DataSharePredicates();
4513            condition.equalTo("id", rawContactId.toString());
4514            var updataCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition);
4515            console.info('logMessage contactCard_UpdateRawContcat_test_6300: updataCode = ' + updataCode);
4516            sleep(sleep_one);
4517            var map = common.getProfileRawContactUpdateMap();
4518            map.set("id", rawContactId.toString());
4519            await contactsQuery(map, "contactCard_UpdateRawContcat_test_6300", profileRawContactUri);
4520            await deleteRawContact("contactCard_UpdateRawContcat_test_6300");
4521            await deleteAll(profileContactDataUri, "contactCard_UpdateRawContcat_test_6300");
4522            done();
4523        } catch (error) {
4524            console.info("logMessage contactCard_UpdateRawContcat_test_6300: raw_contact insert error = " + error);
4525            done();
4526        }
4527    });
4528
4529    /**
4530     * @tc.number  contactCard_insertDataUpdate_test_6400
4531     * @tc.name    Update contact_data table, and verify whether the modification is successful
4532     * @tc.desc    Function test
4533     */
4534    it("contactCard_insertDataUpdate_test_6400", 0, async function(done) {
4535        console.info("------logMessage contactCard_insertDataUpdate_test_6400 is starting!-----");
4536        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4537        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4538
4539        var insertRawContactValues = {
4540            "display_name" : "xiaocai",
4541        };
4542        try {
4543            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4544            console.info("logMessage contactCard_insertDataUpdate_test_6400: rawContactId = " + rawContactId);
4545            expect(rawContactId > 0).assertTrue();
4546
4547            var contactDataValues = common.getProfileContactData();
4548            contactDataValues["raw_contact_id"] = rawContactId;
4549            console.info('logMessage contactCard_insertDataUpdate_test_6400: contactDataValues.raw_contact_id = ' +
4550                         contactDataValues.raw_contact_id);
4551            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
4552            console.info('logMessage contactCard_insertDataUpdate_test_6400: contactDataId = ' + contactDataId);
4553            expect(contactDataId > 0).assertTrue();
4554
4555            var updateValues = common.getProfileContactDataUpdate();
4556            let condition = new dataShare.DataSharePredicates();
4557            condition.equalTo("id", contactDataId.toString());
4558            var updataCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
4559            console.info('logMessage contactCard_insertDataUpdate_test_6400: updataCode = ' + updataCode);
4560            sleep(sleep_one);
4561            var map = common.getProfileContactDataUpdateMap();
4562            map.set("id", contactDataId.toString());
4563            map.set("raw_contact_id", rawContactId.toString());
4564            await contactsQuery(map, "contactCard_insertDataUpdate_test_6400", profileContactDataUri);
4565            await deleteRawContact("contactCard_insertDataUpdate_test_6400");
4566            await deleteAll(profileContactDataUri, "contactCard_insertDataUpdate_test_6400");
4567            done();
4568        } catch (error) {
4569            console.info("logMessage contactCard_insertDataUpdate_test_6400: raw_contact insert error = " + error);
4570            done();
4571        }
4572    });
4573
4574    /**
4575     * @tc.number  contactCard_insertDataUpdateAll_test_6500
4576     * @tc.name    Update all contact details and verify that the modification was successful
4577     * @tc.desc    Function test
4578     */
4579    it("contactCard_insertDataUpdateAll_test_6500", 0, async function(done) {
4580        console.info("------logMessage contactCard_insertDataUpdateAll_test_6500 is starting!-----");
4581        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4582        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4583
4584        var insertRawContactValues = {
4585            "display_name" : "xiaocai",
4586        };
4587        try {
4588            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4589            console.info("logMessage contactCard_insertDataUpdateAll_test_6500: rawContactId = " + rawContactId);
4590            expect(rawContactId > 0).assertTrue();
4591            await insertData(rawContactId, "name", "xiaocai", "");
4592            await insertData(rawContactId, "phone", "6500", "");
4593            await insertData(rawContactId, "organization", "TTTTT", "Deve");
4594            await insertData(rawContactId, "nickname", "xxxxcai", "");
4595            await insertData(rawContactId, "email", "111@fox.com", "");
4596            await insertData(rawContactId, "postal_address", "dddd", "");
4597            await insertData(rawContactId, "note", "caicai", "");
4598            await insertData(rawContactId, "im", "999999999", "");
4599            await insertData(rawContactId, "contact_event", "1125", "");
4600            await insertData(rawContactId, "website", "wwww.xxx.com", "");
4601            await insertData(rawContactId, "relation", "xiaobai", "");
4602            await insertData(rawContactId, "group_membership", 1, "");
4603            await insertData(rawContactId, "contact_misc", "5678", "");
4604            var updateValues = {"detail_info" : "xiaocai"};
4605            let condition = new dataShare.DataSharePredicates();
4606            condition.equalTo("raw_contact_id", rawContactId.toString());
4607            var updataCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
4608            console.info('logMessage contactCard_insertDataUpdateAll_test_6500: updataCode = ' + updataCode);
4609            sleep(sleep_one);
4610            await queryUpdateAllData("contactCard_insertDataUpdateAll_test_6500", dataShareHelper, rawContactId);
4611            await deleteRawContact("contactCard_insertDataUpdateAll_test_6500");
4612            await deleteAll(profileContactDataUri, "contactCard_insertDataUpdateAll_test_6500");
4613            done();
4614        } catch (error) {
4615            console.info("logMessage contactCard_insertDataUpdateAll_test_6500: raw_contact insert error = " + error);
4616            done();
4617        }
4618    });
4619
4620    async function queryUpdateAllData(tag, dataShareHelper, rawContactId)
4621    {
4622
4623        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4624        console.info(tag + ': contactsQuery start ! dataShareHelper = ' + dataShareHelper);
4625        var resultColumns = [ "detail_info" ];
4626        let condition = new dataShare.DataSharePredicates();
4627        condition.equalTo("row_contact_id", rawContactId.toString());
4628        try {
4629            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
4630            if (resultSet.rowCount > 0) {
4631                if (resultSet.goToFirstRow()) {
4632                    do {
4633                        var detail_info = resultSet.getString(resultSet.getColumnIndex("detail_info"));
4634                        expect(detail_info == "xiaocai").assertEqual(true);
4635                    } while (resultSet.goToNextRow());
4636                }
4637            }
4638            resultSet.close();
4639        } catch (error) {
4640            console.info(tag + "logMessage contactsQuery: error = " + error);
4641        }
4642    }
4643
4644    /**
4645     * @tc.number  contactCard_insertFavorite_test_6600
4646     * @tc.name    Add multiple contacts to favorites and verify that the favorites field is changed
4647     * @tc.desc    Function test
4648     */
4649    it("contactCard_insertFavorite_test_6600", 0, async function(done) {
4650        console.info("------logMessage contactCard_insertFavorite_test_6600 is starting!-----");
4651        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4652        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4653
4654        try {
4655            var insertRawContactValues = {"display_name" : "xiaocai", "favorite" : 1};
4656            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4657            console.info("logMessage contactCard_insertFavorite_test_6600: rawContactId = " + rawContactId);
4658
4659            var insertRawContactValuesOne = {"display_name" : "xiaotian", "favorite" : 1};
4660            var rawContactIdOne = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesOne);
4661            console.info("logMessage contactCard_insertFavorite_test_6600: rawContactId = " + rawContactIdOne);
4662
4663            var insertRawContactValuesTwo = {"display_name" : "xiaoli", "favorite" : 1};
4664            var rawContactIdTwo = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesTwo);
4665            console.info("logMessage contactCard_insertFavorite_test_6600: rawContactId = " + rawContactIdTwo);
4666
4667            sleep(sleep_one);
4668            await queryThreeFavorite(
4669                "contactCard_insertFavorite_test_6600", dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo, 1);
4670            await deleteRawContact("contactCard_insertFavorite_test_6600");
4671            done();
4672        } catch (error) {
4673            console.info("logMessage contactCard_insertFavorite_test_6600: raw_contact insert error = " + error);
4674            done();
4675        }
4676    });
4677
4678    async function queryThreeFavorite(tag, dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo, favoritevalue)
4679    {
4680
4681        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4682        console.info(tag + ': queryThreeFavorite start ! dataShareHelper = ' + dataShareHelper);
4683        var resultColumns = [ "favorite" ];
4684        let condition = new dataShare.DataSharePredicates();
4685        condition.equalTo("id", rawContactId.toString());
4686        condition.or();
4687        condition.equalTo("id", rawContactIdOne.toString());
4688        condition.or();
4689        condition.equalTo("id", rawContactIdTwo.toString());
4690        try {
4691            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
4692            if (resultSet.rowCount > 0) {
4693                if (resultSet.goToFirstRow()) {
4694                    do {
4695                        var favorite = resultSet.getInt(resultSet.getColumnIndex("favorite"));
4696                        expect(favorite == favoritevalue).assertEqual(true);
4697                    } while (resultSet.goToNextRow());
4698                }
4699            }
4700            resultSet.close();
4701        } catch (error) {
4702            console.info(tag + "logMessage queryThreeFavorite: error = " + error);
4703        }
4704    }
4705
4706    /**
4707     * @tc.number  contactCard_unFavorite_test_6700
4708     * @tc.name    Remove favorites from multiple contacts and verify that the favorites field has changed
4709     * @tc.desc    Function test
4710     */
4711    it("contactCard_unFavorite_test_6700", 0, async function(done) {
4712        console.info("------logMessage contactCard_unFavorite_test_6700 is starting!-----");
4713        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4714        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4715
4716        try {
4717            var insertRawContactValues = {"display_name" : "xiaocai", "favorite" : 1};
4718            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4719            console.info("logMessage contactCard_unFavorite_test_6700: rawContactId = " + rawContactId);
4720
4721            var insertRawContactValuesOne = {"display_name" : "xiaotian", "favorite" : 1};
4722            var rawContactIdOne = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesOne);
4723            console.info("logMessage contactCard_unFavorite_test_6700: rawContactId = " + rawContactIdOne);
4724
4725            var insertRawContactValuesTwo = {"display_name" : "xiaoli", "favorite" : 1};
4726            var rawContactIdTwo = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesTwo);
4727            console.info("logMessage contactCard_unFavorite_test_6700: rawContactId = " + rawContactIdTwo);
4728
4729            var updateValues = {"favorite" : 0};
4730            let condition = new dataShare.DataSharePredicates();
4731            condition.equalTo("id", rawContactId.toString());
4732            condition.or();
4733            condition.equalTo("id", rawContactIdOne.toString());
4734            condition.or();
4735            condition.equalTo("id", rawContactIdTwo.toString());
4736            var updataCode = await dataShareHelper.update(profileRawContactUri, updateValues, condition);
4737            console.info("logMessage contactCard_unFavorite_test_6700: updataCode = " + updataCode);
4738            sleep(sleep_one);
4739            await queryThreeFavorite(
4740                "contactCard_unFavorite_test_6700", dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo, 0);
4741            await deleteRawContact("contactCard_unFavorite_test_6700");
4742            done();
4743        } catch (error) {
4744            console.info("logMessage contactCard_unFavorite_test_6700: raw_contact insert error = " + error);
4745            done();
4746        }
4747    });
4748
4749    /**
4750     * @tc.number  contactCard_insertContactBlocklist_test_6800
4751     * @tc.name    Add multiple records to the blocklist and verify whether the insertion is successful
4752     * @tc.desc    Function test
4753     */
4754    it("contactCard_insertContactBlocklist_test_6800", 0, async function(done) {
4755        console.info("--------logMessage contactCard_insertContactBlocklist_test_6800 is starting!-------");
4756        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4757        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4758        try {
4759            var batchInsertCode = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
4760            console.info("logMessage contactCard_insertContactBlocklist_test_6800: insert = " + batchInsertCode);
4761            var batchInsertCodeOne = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
4762            console.info("logMessage contactCard_insertContactBlocklist_test_6800: insert = " + batchInsertCodeOne);
4763            var batchInsertCodeTwo = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
4764            console.info("logMessage contactCard_insertContactBlocklist_test_6800: insert = " + batchInsertCodeTwo);
4765            sleep(sleep_one);
4766            expect(batchInsertCode > 0).assertTrue();
4767            await query(array_three);
4768            await deleteAll(profileBlocklistUri, "contactCard_insertContactBlocklist_test_6800");
4769            done();
4770        } catch (error) {
4771            console.info("logMessage contactCard_insertContactBlocklist_test_6800: batchInsert error = " + error);
4772            done();
4773        }
4774
4775        async function query(size)
4776        {
4777            var resultColumns = [];
4778            let condition = new dataShare.DataSharePredicates();
4779            var phoneNumber = randomNum(8);
4780            condition.equalTo("phone_number", phoneNumber);
4781            try {
4782                var resultSet = await dataShareHelper.query(profileBlocklistUri, resultColumns, condition);
4783                sleep(sleep_one);
4784                console.info('contactCard_insertContactBlocklist_test_6800 :resultSet.goToFirstRow()  = ' +
4785                             resultSet.goToFirstRow());
4786                console.info(
4787                    'contactCard_insertContactBlocklist_test_6800 : query result is  = ' + resultSet.rowCount == size);
4788                expect(resultSet.rowCount == size).assertEqual(true);
4789                resultSet.close();
4790            } catch (error) {
4791                console.info(" contactCard_insertContactBlocklist_test_6800  error = " + error);
4792            }
4793        }
4794    });
4795
4796    /**
4797     * @tc.number  contactCard_removeContactBlocklist_test_6900
4798     * @tc.name    Delete multiple records from the blocklist and verify whether the deletion is successful
4799     * @tc.desc    Function test
4800     */
4801    it("contactCard_removeContactBlocklist_test_6900", 0, async function(done) {
4802        console.info("--------logMessage contactCard_removeContactBlocklist_test_6900 is starting!-------");
4803        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4804        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4805        try {
4806            var batchInsertCode = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
4807            console.info(
4808                "logMessage contactCard_removeContactBlocklist_test_6900: batchInsertCode = " + batchInsertCode);
4809            var batchInsertCodeOne = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
4810            console.info("logMessage contactCard_removeContactBlocklist_test_6900: insert = " + batchInsertCodeOne);
4811            var batchInsertCodeTwo = await dataShareHelper.insert(profileBlocklistUri, common.getProfileBlockList());
4812            console.info("logMessage contactCard_removeContactBlocklist_test_6900: insert = " + batchInsertCodeTwo);
4813            sleep(sleep_one);
4814            expect(batchInsertCode > 0).assertTrue();
4815            await deleteAll(profileBlocklistUri, "contactCard_removeContactBlocklist_test_6900");
4816            await query(0);
4817            done();
4818        } catch (error) {
4819            console.info("logMessage contactCard_removeContactBlocklist_test_6900: batchInsert error = " + error);
4820            done();
4821        }
4822        async function query(size)
4823        {
4824            var resultColumns = [];
4825            let condition = new dataShare.DataSharePredicates();
4826            var phoneNumber = randomNum(8);
4827            condition.equalTo("phone_number", phoneNumber);
4828            try {
4829                var resultSet = await dataShareHelper.query(profileBlocklistUri, resultColumns, condition);
4830                console.info('contactCard_removeContactBlocklist_test_6900 : resultSet  = ' + resultSet);
4831                expect(resultSet.rowCount == size).assertEqual(true);
4832                resultSet.close();
4833            } catch (error) {
4834                console.info(" contactCard_removeContactBlocklist_test_6900  error = " + error);
4835            }
4836        }
4837    });
4838
4839    /**
4840     * @tc.number  contactCard_insertGroup_test_7000
4841     * @tc.name    Add multiple contacts to favorites and verify that the favorites field is changed
4842     * @tc.desc    Function test
4843     */
4844    it("contactCard_insertGroup_test_7000", 0, async function(done) {
4845        console.info("------logMessage contactCard_insertGroup_test_7000 is starting!-----");
4846        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4847        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4848
4849        try {
4850            var insertRawContactValues = {
4851                "display_name" : "xiaocai",
4852            };
4853            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4854            console.info("logMessage contactCard_insertGroup_test_7000: rawContactId = " + rawContactId);
4855            await insertData(rawContactId, "group_membership", 1, "");
4856
4857            var insertRawContactValuesOne = {
4858                "display_name" : "xiaotian",
4859            };
4860            var rawContactIdOne = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesOne);
4861            console.info("logMessage contactCard_insertGroup_test_7000: rawContactId = " + rawContactIdOne);
4862            await insertData(rawContactIdOne, "group_membership", 1, "");
4863            var insertRawContactValuesTwo = {
4864                "display_name" : "xiaoli",
4865            };
4866            var rawContactIdTwo = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesTwo);
4867            console.info("logMessage contactCard_insertGroup_test_7000: rawContactId = " + rawContactIdTwo);
4868            await insertData(rawContactIdTwo, "group_membership", 1, "");
4869            sleep(sleep_one);
4870            await queryThreeGroup(
4871                "contactCard_insertGroup_test_7000", dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo, 1);
4872            await deleteRawContact("contactCard_insertGroup_test_7000");
4873            done();
4874        } catch (error) {
4875            console.info("logMessage contactCard_insertGroup_test_7000: raw_contact insert error = " + error);
4876            done();
4877        }
4878    });
4879
4880    async function queryThreeGroup(tag, dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo, groupId)
4881    {
4882        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4883        console.info(tag + ': queryThreeGroup start ! dataShareHelper = ' + dataShareHelper);
4884        var resultColumns = [ "detail_info" ];
4885        let condition = new dataShare.DataSharePredicates();
4886        condition.equalTo("id", rawContactId.toString());
4887        condition.or();
4888        condition.equalTo("id", rawContactIdOne.toString());
4889        condition.or();
4890        condition.equalTo("id", rawContactIdTwo.toString());
4891        try {
4892            var resultSet = await dataShareHelper.query(profileRawContactUri, resultColumns, condition);
4893            if (resultSet.rowCount > 0) {
4894                if (resultSet.goToFirstRow()) {
4895                    do {
4896                        var group = resultSet.getInt(resultSet.getColumnIndex("detail_info"));
4897                        expect(group == groupId).assertEqual(true);
4898                    } while (resultSet.goToNextRow());
4899                }
4900            }
4901            resultSet.close();
4902        } catch (error) {
4903            console.info(tag + "logMessage queryThreeGroup: error = " + error);
4904        }
4905    }
4906
4907    /**
4908     * @tc.number  contactCard_insert_test_7100
4909     * @tc.name    Add a full field data to the groups table and verify whether the insertion is successful
4910     * @tc.desc    Function test
4911     */
4912    it("contactCard_insert_test_7100", 0, async function(done) {
4913        console.info("---------logMessage contactCard_insert_test_7100 is starting!----------");
4914        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4915        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4916        try {
4917            var groupId = await dataShareHelper.insert(profileGroupUri, common.getProfileGroup());
4918            console.info("logMessage contactCard_insert_test_7100: groupId = " + groupId);
4919            expect(groupId > 0).assertTrue();
4920            var map = common.getProfileGroupMap();
4921            map.set("id", groupId.toString());
4922            await contactsQuery(map, "contactCard_insert_test_7100", profileGroupUri);
4923            await deleteAll(profileGroupUri, "contactCard_insert_test_7100");
4924            done();
4925        } catch (error) {
4926            console.info("logMessage contactCard_insert_test_7100: group insert error = " + error);
4927            done();
4928        }
4929    });
4930
4931    /**
4932     * @tc.number  contactCard_delete_test_7200
4933     * @tc.name    Add a full field data to the groups table and verify whether the insertion is successful
4934     * @tc.desc    Function test
4935     */
4936    it("contactCard_delete_test_7200", 0, async function(done) {
4937        console.info("------logMessage contactCard_delete_test_7200 is starting!-----");
4938        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4939        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
4940
4941        try {
4942            var insertRawContactValues = {
4943                "display_name" : "xiaocai",
4944            };
4945            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
4946            console.info("logMessage contactCard_delete_test_7200: rawContactId = " + rawContactId);
4947            await insertData(rawContactId, "group_membership", 1, "");
4948
4949            var insertRawContactValuesOne = {
4950                "display_name" : "xiaotian",
4951            };
4952            var rawContactIdOne = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesOne);
4953            console.info("logMessage contactCard_delete_test_7200: rawContactId = " + rawContactIdOne);
4954            await insertData(rawContactIdOne, "group_membership", 1, "");
4955            var insertRawContactValuesTwo = {
4956                "display_name" : "xiaoli",
4957            };
4958            var rawContactIdTwo = await dataShareHelper.insert(profileRawContactUri, insertRawContactValuesTwo);
4959            console.info("logMessage contactCard_delete_test_7200: rawContactId = " + rawContactIdTwo);
4960            await insertData(rawContactIdTwo, "group_membership", 1, "");
4961            sleep(sleep_one);
4962            await deleteAll(profileContactDataUri, "contactCard_delete_test_7200");
4963            sleep(sleep_one);
4964            await queryZeroGroup(
4965                "contactCard_delete_test_7200", dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo);
4966            await deleteRawContact("contactCard_delete_test_7200");
4967            done();
4968        } catch (error) {
4969            console.info("logMessage contactCard_delete_test_7200: raw_contact insert error = " + error);
4970            done();
4971        }
4972    });
4973
4974    async function queryZeroGroup(tag, dataShareHelper, rawContactId, rawContactIdOne, rawContactIdTwo)
4975    {
4976
4977        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
4978        console.info(tag + ': queryZeroGroup start ! dataShareHelper = ' + dataShareHelper);
4979        var resultColumns = [ "detail_info" ];
4980        let condition = new dataShare.DataSharePredicates();
4981        condition.equalTo("raw_contact_id", rawContactId.toString());
4982        condition.or();
4983        condition.equalTo("raw_contact_id", rawContactIdOne.toString());
4984        condition.or();
4985        condition.equalTo("raw_contact_id", rawContactIdTwo.toString());
4986        try {
4987            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
4988            console.info(tag + ': queryZeroGroup! resultSet.rowCount  = ' + resultSet.rowCount);
4989            expect(resultSet.rowCount == 0).assertEqual(true);
4990            resultSet.close();
4991        } catch (error) {
4992            console.info(tag + "logMessage queryZeroGroup: error = " + error);
4993        }
4994    }
4995
4996    /**
4997     * @tc.number  contactCard_delete_test_7300
4998     * @tc.name    Delete the full field data of a groups table and verify whether the deletion is successful
4999     * @tc.desc    Function test
5000     */
5001    it("contactCard_delete_test_7300", 0, async function(done) {
5002        console.info("---------logMessage contactCard_delete_test_7300 is starting!----------");
5003        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5004        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
5005        try {
5006            var groupId = await dataShareHelper.insert(profileGroupUri, common.getProfileGroup());
5007            console.info("logMessage contactCard_delete_test_7300: groupId = " + groupId);
5008            expect(groupId > 0).assertTrue();
5009            var map = common.getProfileGroupMap();
5010            map.set("id", groupId.toString());
5011            await contactsQuery(map, "contactCard_delete_test_7300", profileGroupUri);
5012            await deleteAll(profileGroupUri, "contactCard_delete_test_7300");
5013            done();
5014        } catch (error) {
5015            console.info("logMessage contactCard_delete_test_7300: group insert error = " + error);
5016            done();
5017        }
5018    });
5019
5020    /**
5021     * @tc.number  contactCard_delete_test_7400
5022     * @tc.name    Add a raw_contact all fields, delete raw_contact
5023     * @tc.desc    Function test
5024     */
5025    it("contactCard_delete_test_7400", 0, async function(done) {
5026        console.info("------logMessage contactCard_delete_test_7400 is starting!-----");
5027        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5028        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
5029        try {
5030            var rawContactId = await dataShareHelper.insert(profileRawContactUri, common.getProfileRawContact());
5031            sleep(sleep_one);
5032            console.info('logMessage contactCard_delete_test_7400: rawContactId = ' + rawContactId);
5033            expect(rawContactId > 0).assertTrue();
5034            var map = common.getProfileRawContactMap();
5035            map.set("id", rawContactId.toString());
5036            map.set("version", "2");
5037            map.set("is_deleted", "1");
5038            await deleteAll(profileRawContactUri, "contactCard_delete_test_7400");
5039            sleep(sleep_one);
5040            await contactsQuery(map, "contactCard_delete_test_7400", profileRawContactUri);
5041            var conditionAll = new dataShare.DataSharePredicates();
5042            conditionAll.greaterThan("id", "0");
5043            var code = await dataShareHelper.delete(profileDeletedContactsUri, conditionAll);
5044            console.info('contactCard_delete_test_7400 : Completely delete code = ' + code);
5045            expect(code == 0).assertTrue();
5046            done();
5047        } catch (error) {
5048            console.info('logMessage contactCard_delete_test_7400: insert error = ' + error);
5049            done();
5050        }
5051    });
5052
5053    /**
5054     * @tc.number  contactCard_delete_test_7500
5055     * @tc.name    Delete contact_data Single full field data in data table
5056     * @tc.desc    Function test
5057     */
5058    it("contactCard_delete_test_7500", 0, async function(done) {
5059        console.info("------logMessage contactCard_delete_test_7500 is starting!-----");
5060        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5061        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
5062
5063        var insertRawContactValues = {
5064            "display_name" : "xiaocai",
5065        };
5066        try {
5067            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
5068            console.info("logMessage contactCard_delete_test_7500: rawContactId = " + rawContactId);
5069            expect(rawContactId > 0).assertTrue();
5070            var contactDataValues = common.getProfileContactData();
5071            contactDataValues["raw_contact_id"] = rawContactId;
5072            var contactDataId = await dataShareHelper.insert(profileContactDataUri, contactDataValues);
5073            console.info('logMessage contactCard_delete_test_7500: contactDataId = ' + contactDataId);
5074            expect(contactDataId > 0).assertTrue();
5075            await deleteAll(profileContactDataUri, "contactCard_delete_test_7500");
5076            var map = new Map();
5077            map.set("id", contactDataId.toString());
5078            await queryIdForDelete(map, "contactCard_delete_test_7500", profileContactDataUri);
5079            await deleteRawContact("contactCard_delete_test_7500");
5080            done();
5081        } catch (error) {
5082            console.info("logMessage contactCard_delete_test_7500: raw_contact insert error = " + error);
5083            done();
5084        }
5085    });
5086
5087    /**
5088     * @tc.number  contactCard_insertDataAll_test_7600
5089     * @tc.name    Add all details of a single contact and verify whether the insertion is successful (name, mobile
5090     * number, company, position, nickname, email, home, remarks, aim)
5091     * @tc.desc    Function test
5092     */
5093    it("contactCard_insertDataAll_test_7600", 0, async function(done) {
5094        console.info("------logMessage contactCard_insertDataAll_test_7600 is starting!-----");
5095        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5096        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
5097
5098        var insertRawContactValues = {
5099            "display_name" : "xiaocai",
5100        };
5101        try {
5102            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
5103            console.info("logMessage contactCard_insertDataAll_test_7600: rawContactId = " + rawContactId);
5104            expect(rawContactId > 0).assertTrue();
5105            var contactdata1 = await insertData(rawContactId, "name", "xiaocai", "");
5106            await queryAlldata("contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdata1, "xiaocai");
5107            var contactdata2 = await insertData(rawContactId, "phone", "6500", "");
5108            await queryAlldata("contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdata2, "6500");
5109            var contactdatd3 = await insertData(rawContactId, "organization", "TTTTT", "Deve");
5110            await queryAlldata("contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdatd3, "TTTTT");
5111            var contactdatd4 = await insertData(rawContactId, "nickname", "xxxxcai", "");
5112            await queryAlldata("contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdatd4, "xxxxcai");
5113            var contactdatd5 = await insertData(rawContactId, "email", "111@fox.com", "");
5114            await queryAlldata(
5115                "contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdatd5, "111@fox.com");
5116            var contactdatd6 = await insertData(rawContactId, "postal_address", "dddd", "");
5117            await queryAlldata("contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdatd6, "dddd");
5118            var contactdatd7 = await insertData(rawContactId, "note", "caicai", "");
5119            await queryAlldata("contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdatd7, "caicai");
5120            var contactdatd8 = await insertData(rawContactId, "im", "999999999", "");
5121            await queryAlldata(
5122                "contactCard_insertDataAll_test_7600", dataShareHelper, rawContactId, contactdatd8, "999999999");
5123            sleep(sleep_one);
5124            await deleteRawContact("contactCard_insertDataAll_test_7600");
5125            await deleteAll(profileContactDataUri, "contactCard_insertDataAll_test_7600");
5126            done();
5127        } catch (error) {
5128            console.info("logMessage contactCard_insertDataAll_test_7600: raw_contact insert error = " + error);
5129            done();
5130        }
5131    });
5132
5133    async function queryAlldata(tag, dataShareHelper, rawContactId, contactdata, values)
5134    {
5135        var resultColumns = [ "raw_contact_id", "detail_info" ];
5136        let condition = new dataShare.DataSharePredicates();
5137        condition.equalTo("id", contactdata.toString());
5138        try {
5139            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
5140            if (resultSet.rowCount > 0) {
5141                if (resultSet.goToFirstRow()) {
5142                    do {
5143                        var id = resultSet.getString(resultSet.getColumnIndex("raw_contact_id"));
5144                        console.info(tag + " result raw_contact_id = " + id);
5145                        expect(id == rawContactId).assertEqual(true);
5146                        var info = resultSet.getString(resultSet.getColumnIndex("detail_info"));
5147                        console.info(tag + "result info = " + info + " value = " + values);
5148                        expect(info == values).assertEqual(true);
5149                    } while (resultSet.goToNextRow());
5150                }
5151            }
5152            resultSet.close();
5153        } catch (error) {
5154            console.info(tag + " :logMessage queryIdForDelete: error = " + error);
5155        }
5156    }
5157
5158    /**
5159     * @tc.number  contactCard_insertDataAll_test_7700
5160     * @tc.name    Add all details of a single contact and verify whether the insertion is successful (name, mobile
5161     * number, company, position, nickname, email, home, remarks, aim, birthday, website, assistant, group, phone ring)
5162     * @tc.desc    Function test
5163     */
5164    it("contactCard_insertDataAll_test_7700", 0, async function(done) {
5165        console.info("------logMessage contactCard_insertDataAll_test_7700 is starting!-----");
5166        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5167        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
5168
5169        var insertRawContactValues = {
5170            "display_name" : "xiaocai",
5171        };
5172        try {
5173            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
5174            console.info("logMessage contactCard_insertDataAll_test_7700: rawContactId = " + rawContactId);
5175            expect(rawContactId > 0).assertTrue();
5176            var contactdata1 = await insertData(rawContactId, "name", "xiaocai", "");
5177            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdata1, "xiaocai");
5178            var contactdata2 = await insertData(rawContactId, "phone", "6500", "");
5179            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdata2, "6500");
5180            var contactdatd3 = await insertData(rawContactId, "organization", "TTTTT", "Deve");
5181            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd3, "TTTTT");
5182            var contactdatd4 = await insertData(rawContactId, "nickname", "xxxxcai", "");
5183            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd4, "xxxxcai");
5184            var contactdatd5 = await insertData(rawContactId, "email", "111@fox.com", "");
5185            await queryAlldata(
5186                "contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd5, "111@fox.com");
5187            var contactdatd6 = await insertData(rawContactId, "postal_address", "dddd", "");
5188            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd6, "dddd");
5189            var contactdatd7 = await insertData(rawContactId, "note", "caicai", "");
5190            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd7, "caicai");
5191            var contactdatd8 = await insertData(rawContactId, "im", "999999999", "");
5192            await queryAlldata(
5193                "contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd8, "999999999");
5194            var contactdatd9 = await insertData(rawContactId, "contact_event", "1125", "");
5195            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd9, "1125");
5196            var contactdatd10 = await insertData(rawContactId, "website", "wwww.xxx.com", "");
5197            await queryAlldata(
5198                "contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd10, "wwww.xxx.com");
5199            var contactdatd11 = await insertData(rawContactId, "relation", "xiaobai", "");
5200            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd11, "xiaobai");
5201            var contactdatd12 = await insertData(rawContactId, "group_membership", 1, "");
5202            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd12, 1);
5203            var contactdatd13 = await insertData(rawContactId, "contact_misc", "5678", "");
5204            await queryAlldata("contactCard_insertDataAll_test_7700", dataShareHelper, rawContactId, contactdatd13, "5678");
5205            sleep(sleep_one);
5206            await deleteRawContact("contactCard_insertDataAll_test_7700");
5207            await deleteAll(profileContactDataUri, "contactCard_insertDataAll_test_7700");
5208            done();
5209        } catch (error) {
5210            console.info("logMessage contactCard_insertDataAll_test_7700: raw_contact insert error = " + error);
5211            done();
5212        }
5213    });
5214
5215    /**
5216     * @tc.number  contactCard_insertDataUpdateMore_test_7800
5217     * @tc.name    Modify multiple contact details and verify whether the modification is successful
5218     * @tc.desc    Function test
5219     */
5220    it("contactCard_insertDataUpdateMore_test_7800", 0, async function(done) {
5221        console.info("------logMessage contactCard_insertDataUpdateMore_test_7800 is starting!-----");
5222        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5223        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
5224        try {
5225            var insertRawContactValues = {"display_name" : "xiaocai"};
5226            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
5227            console.info("logMessage contactCard_insertDataUpdateMore_test_7800: rawContactId = " + rawContactId);
5228            expect(rawContactId > 0).assertTrue();
5229
5230            var insertRawContactValues = {"display_name" : "xiaotian"};
5231            var rawContactId1 = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
5232            console.info("logMessage contactCard_insertDataUpdateMore_test_7800: rawContactId1 = " + rawContactId1);
5233            expect(rawContactId1 > 0).assertTrue();
5234            await insertData(rawContactId, "name", "xiaotian", "");
5235
5236            var updateValues = {"detail_info" : "xiaocai7800"};
5237            let condition = new dataShare.DataSharePredicates();
5238            condition.equalTo("raw_contact_id", rawContactId.toString());
5239            condition.or();
5240            condition.equalTo("raw_contact_id", rawContactId1.toString())
5241            var updataCode = await dataShareHelper.update(profileContactDataUri, updateValues, condition);
5242            console.info('logMessage contactCard_insertDataUpdateMore_test_7800: updataCode = ' + updataCode);
5243            sleep(sleep_one);
5244            await insertDataUpdateMoreQuery(
5245                "contactCard_insertDataUpdateMore_test_7800", dataShareHelper, rawContactId, rawContactId1);
5246            await deleteRawContact("contactCard_insertDataUpdateMore_test_7800");
5247            await deleteAll(profileContactDataUri, "contactCard_insertDataUpdateMore_test_7800");
5248            done();
5249        } catch (error) {
5250            console.info("logMessage contactCard_insertDataUpdateMore_test_7800: raw_contact insert error = " + error);
5251            done();
5252        }
5253    });
5254
5255    async function insertDataUpdateMoreQuery(tag, dataShareHelper, rawContactId, rawContactId1)
5256    {
5257        var resultColumns = [ "detail_info" ];
5258        let condition = new dataShare.DataSharePredicates();
5259        condition.equalTo("raw_contact_id", rawContactId.toString());
5260        condition.or();
5261        condition.equalTo("raw_contact_id", rawContactId1.toString())
5262        try {
5263            var resultSet = await dataShareHelper.query(profileContactDataUri, resultColumns, condition);
5264            if (resultSet.rowCount > 0) {
5265                if (resultSet.goToFirstRow()) {
5266                    do {
5267                        var info = resultSet.getString(resultSet.getColumnIndex("detail_info"));
5268                        console.info(tag + "result info = " + info);
5269                        expect(info == "xiaocai7800").assertEqual(true);
5270                    } while (resultSet.goToNextRow());
5271                }
5272            }
5273            resultSet.close();
5274        } catch (error) {
5275            console.info(tag + " :logMessage : error = " + error);
5276        }
5277    }
5278
5279    /**
5280     * @tc.number  contactCard_deleterestore_test_7900
5281     * @tc.name    Modify multiple contact details and verify whether the modification is successful
5282     * @tc.desc    Function test
5283     */
5284    it("contactCard_deleterestore_test_7900", 0, async function(done) {
5285        console.info("------logMessage contactCard_deleterestore_test_7900 is starting!-----");
5286        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5287        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
5288        try {
5289            var insertRawContactValues = {"display_name" : "xaioli7900"};
5290            var rawContactId = await dataShareHelper.insert(profileRawContactUri, insertRawContactValues);
5291            console.info("logMessage contactCard_deleterestore_test_7900: rawContactId = " + rawContactId);
5292            expect(rawContactId > 0).assertTrue();
5293            sleep(sleep_one);
5294            var condition1 = new dataShare.DataSharePredicates();
5295            condition1.equalTo("id", rawContactId.toString());
5296            var deleteCode = await dataShareHelper.delete(profileRawContactUri, condition1);
5297            console.info("contactCard_deleterestore_test_7900 : deleteCode = " + deleteCode);
5298            expect(deleteCode == 0).assertTrue();
5299            sleep(sleep_one);
5300
5301            var condition2 = new dataShare.DataSharePredicates();
5302            condition2.equalTo("id", rawContactId.toString());
5303            var updatevalue = {"is_deleted" : 0};
5304            var updateCode = await dataShareHelper.update(profileRawContactUri, updatevalue, condition2);
5305            console.info('contactCard_deleterestore_test_7900 : update = ' + updateCode);
5306            sleep(sleep_one);
5307
5308            var condition3 = new dataShare.DataSharePredicates();
5309            condition3.equalTo("id", rawContactId.toString());
5310            var deleteCode = await dataShareHelper.delete(profile_deleted_raw_contact_record, condition3);
5311
5312            var map = new Map();
5313            map.set("id", rawContactId.toString());
5314            map.set("is_deleted", "0");
5315            await contactsQuery(map, "contactCard_deleterestore_test_7900", profileRawContactUri);
5316            done();
5317        } catch (error) {
5318            console.info("logMessage contactCard_deleterestore_test_7900: raw_contact insert error = " + error);
5319            done();
5320        }
5321    });
5322
5323    afterAll(async function() {
5324        var tag = "Contacts_test_start_deleted";
5325        let condition = new dataShare.DataSharePredicates();
5326        condition.greaterThan("id", "0");
5327        let dataShareHelper = dataShare.createDataShareHelper(URI_CONTACTS);
5328        console.info(tag + ': start ! dataShareHelper = ' + dataShareHelper);
5329        var deleteBlockList = await dataShareHelper.delete(profileBlocklistUri, condition);
5330        console.info(tag + " : logMessage : deleteBlockList = " + deleteBlockList);
5331        var deletedGroup = await dataShareHelper.delete(profileGroupUri, condition);
5332        console.info(tag + " : logMessage : deletedGroup = " + deletedGroup);
5333        var dataDeletedCode = await dataShareHelper.delete(profileContactDataUri, condition);
5334        sleep(sleep_two);
5335        console.info(tag + " : logMessage : dataDeletedCode = " + dataDeletedCode);
5336        var rawContactDeleted = await dataShareHelper.delete(profileRawContactUri, condition);
5337        sleep(sleep_two);
5338        console.info(tag + " : logMessage : rawContactDeleted = " + rawContactDeleted);
5339        var deleted = await dataShareHelper.delete(profileDeletedContactsUri, condition);
5340        sleep(sleep_two);
5341        console.info(tag + " : logMessage : deleted = " + deleted);
5342    });
5343});
5344
5345function randomNum (num) {
5346    let number = toString(Math.floor(Math.random() * (9 * Math.pow(10, num))) + (1 * Math.pow(10, num)));
5347    return number ;
5348}
5349