• 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'
18import common from './common.js';
19
20const URI_VOICEMAIL = "datashare:///com.ohos.voicemailability";
21const voicemailUri = "datashare:///com.ohos.voicemailability/calls/voicemail";
22
23describe('VoicemailTest', function() {
24    console.log("----------VoicemailTest is starting!----------");
25
26    async function voicemailQuery(map, tag)
27    {
28        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
29        console.info(tag + ':calllogInsertQuery start ! dataShareHelper = ' + dataShareHelper);
30        var resultColumns = [];
31        let condition = new dataShare.DataSharePredicates();
32        condition.equalTo("id", map.get("id"));
33        try {
34            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
35            if (resultSet.rowCount > 0) {
36                if (resultSet.goToFirstRow()) {
37                    do {
38                        for (var [key, value] of map) {
39                            let dbresult = resultSet.getString(resultSet.getColumnIndex(key));
40                            console.info(tag + ' :logMessage voicemailQuery key = ' + key + ' dbresult :' + dbresult +
41                                         ' value : ' + value);
42                            expect(value == dbresult).assertTrue();
43                        }
44                    } while (resultSet.goToNextRow());
45                }
46            }
47            resultSet.close();
48        } catch (error) {
49            console.info(tag + ":logMessage voicemailQuery: error = " + error);
50        }
51    }
52
53    async function voicemailQueryForDelete(map, tag)
54    {
55        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
56        console.info(tag + ': voicemailQueryForDelete start ! dataShareHelper = ' + dataShareHelper);
57        let resultColumns = common.getCallLogResultColumns();
58        let condition = new dataShare.DataSharePredicates();
59        condition.equalTo("id", map.get("id"));
60        try {
61            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
62            expect(resultSet.goToFirstRow() == false).assertTrue();
63            console.info(tag + " :logMessage voicemailQueryForDelete: goToFirstRow " + resultSet.goToFirstRow());
64            resultSet.close();
65        } catch (error) {
66            console.info(tag + " :logMessage voicemailQueryForDelete: error = " + error);
67        }
68    }
69
70    async function voicemailQueryError(map, tag)
71    {
72        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
73        console.info(tag + ': voicemailQueryError start ! dataShareHelper = ' + dataShareHelper);
74        let resultColumns = common.getCallLogResultColumns();
75        let condition = new dataShare.DataSharePredicates();
76        condition.equalTo("phone_number", map.get("phone_number"));
77        try {
78            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
79            expect(resultSet.goToFirstRow() == false).assertTrue();
80            console.info(tag + " :logMessage voicemailQueryError: goToFirstRow " + resultSet.goToFirstRow());
81            resultSet.close();
82        } catch (error) {
83            console.info(tag + " :logMessage voicemailQueryError: error = " + error);
84        }
85    }
86
87    async function voicemailQueryForBatchInsert(array, tag)
88    {
89        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
90        console.info(tag + ': voicemailQueryForBatchInsert start ! dataShareHelper = ' + dataShareHelper);
91        let resultColumns = common.getCallLogResultColumns();
92        let condition = new dataShare.DataSharePredicates();
93        condition.equalTo("phone_number", array[0].get("phone_number"));
94        try {
95            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
96            var size = array.size();
97            console.info(tag + ' : logMessage voicemailQueryForBatchInsert: size' + size);
98            expect(resultSet.rowCount == size).assertEqual(true);
99            var i = 0;
100            if (resultSet.rowCount > 0) {
101                if (resultSet.goToFirstRow()) {
102                    do {
103                        for (var [key, value] of array[i]) {
104                            let dbresult = resultSet.getString(resultSet.getColumnIndex(key));
105                            console.info(tag + ' : logMessage voicemailQueryForBatchInsert dbresult :' + dbresult +
106                                         ' value : ' + value);
107                            console.info(
108                                tag + ' : logMessage voicemailQueryForBatchInsert value ' + (value == dbresult));
109                            expect(value == dbresult).assertTrue();
110                        }
111                        i++;
112                    } while (resultSet.goToNextRow());
113                }
114            }
115            resultSet.close();
116        } catch (error) {
117            console.info(tag + " :logMessage calllogQueryByInsert: error = " + error);
118        }
119    }
120
121    async function voiceMailDelete(tag)
122    {
123        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
124        let condition = new dataShare.DataSharePredicates();
125        condition.greaterThan("id", "0");
126        var deleteCode = await dataShareHelper.delete(voicemailUri, condition);
127        console.info(tag + ': voiceMailDelete deleteCode = ' + deleteCode);
128        expect(deleteCode == 0).assertTrue();
129    }
130
131    /**
132     * @tc.number  voicemail_insert_test_100
133     * @tc.name    Insert voicemail data
134     * @tc.desc    Function test
135     */
136    it("voicemail_insert_test_100", 0, async function(done) {
137        console.info("---------logMessage voicemail_insert_test_100 is starting!---------")
138        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
139        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
140        console.info('logMessage uri = ' + URI_VOICEMAIL)
141        try {
142            var voicemailId = await dataShareHelper.insert(voicemailUri, common.getVoiceMail());
143            console.info("logMessage voicemail_insert_test_100: voicemailId = " + voicemailId);
144            expect(voicemailId > 0).assertTrue();
145            var map = common.getVoiceMailMap();
146            map.set("id", voicemailId.toString());
147            await voicemailQuery(map, "voicemail_insert_test_100");
148            await voiceMailDelete("voicemail_insert_test_100");
149            done();
150        } catch (error) {
151            console.info("logMessage voicemail_insert_test_100: voicemail insert error = " + error);
152            done();
153        }
154    });
155
156    /**
157     * @tc.number  voicemail_insert_test_200
158     * @tc.name    Insert voicemail status
159     * @tc.desc    Function test
160     */
161    it("voicemail_insert_test_200", 0, async function(done) {
162        console.info("---------logMessage voicemail_insert_test_200 is starting!---------")
163        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
164        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
165        console.info('logMessage uri = ' + URI_VOICEMAIL)
166        var phoneNumber = randomNum(6);
167        var stringValue = {"phone_number" : phoneNumber, "voice_status" : 1};
168        try {
169            var voicemailId = await dataShareHelper.insert(voicemailUri, stringValue)
170            console.info("logMessage voicemail_insert_test_200: voicemailId = " + voicemailId);
171            expect(voicemailId > 0).assertTrue();
172            var map = new Map();
173            map.set("id", voicemailId.toString());
174            map.set("phone_number", phoneNumber);
175            map.set("voice_status", "1");
176            await voicemailQuery(map, "voicemail_insert_test_200");
177            await voiceMailDelete("voicemail_insert_test_200");
178            done();
179        } catch (error) {
180            console.info("logMessage voicemail_insert_test_200: voicemail insert error = " + error);
181            done();
182        }
183    });
184
185    /**
186     * @tc.number  voicemail_insert_test_100000
187     * @tc.name    Insert voicemail status
188     * @tc.desc    Function test
189     */
190    it("voicemail_insert_test_100000", 0, async function(done) {
191        console.info("---------logMessage voicemail_insert_test_100000 is starting!---------")
192        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
193        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
194        console.info('logMessage uri = ' + URI_VOICEMAIL)
195        var phoneNumber = randomNum(6);
196        var stringValue = {"phone_number" : phoneNumber, "voice_status" : 0};
197        try {
198            var voicemailId = await dataShareHelper.insert(voicemailUri, stringValue)
199            console.info("logMessage voicemail_insert_test_100000: voicemailId = " + voicemailId);
200            expect(voicemailId > 0).assertTrue();
201            var map = new Map();
202            map.set("id", voicemailId.toString());
203            map.set("phone_number", phoneNumber);
204            map.set("voice_status", "0");
205            await voicemailQuery(map, "voicemail_insert_test_100000");
206            await voiceMailDelete("voicemail_insert_test_100000");
207            done();
208        } catch (error) {
209            console.info("logMessage voicemail_insert_test_100000: voicemail insert error = " + error);
210            done();
211        }
212    });
213
214    /**
215     * @tc.number  voicemail_update_test_1000
216     * @tc.name    Update voicemail data
217     * @tc.desc    Function test
218     */
219    it("voicemail_update_test_1000", 0, async function(done) {
220        console.info("------------logMessage voicemail_update_test_1000 is starting!----------");
221        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
222        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
223
224        try {
225            var voicemailId = await dataShareHelper.insert(voicemailUri, common.getVoiceMail());
226            console.info("logMessage voicemail_update_test_1000: voicemailId = " + voicemailId);
227            expect(voicemailId > 0).assertTrue();
228            await VoicemailUpdate();
229            await voiceMailDelete("voicemail_update_test_1000");
230            done();
231        } catch (error) {
232            console.info("logMessage voicemail_update_test_1000: voicemail insert error = " + error);
233            done();
234        }
235
236        async function VoicemailUpdate()
237        {
238            let condition = new dataShare.DataSharePredicates();
239            condition.equalTo("id", voicemailId.toString());
240            try {
241                var updateCode = await dataShareHelper.update(voicemailUri, common.getVoiceMailUpdate(), condition);
242                console.info("logMessage voicemail_update_test_1000: updateCode = " + updateCode);
243                expect(updateCode == 0).assertTrue();
244                var map = common.getVoiceMailUpdateMap();
245                map.set("id", voicemailId.toString());
246                await voicemailQuery(map, "voicemail_update_test_1000");
247            } catch (error) {
248                console.info("logMessage voicemail_update_test_1000: update error = " + error);
249                done();
250            }
251        }
252    });
253
254    /**
255     * @tc.number  voicemail_update_test_900
256     * @tc.name    Update voicemail status
257     * @tc.desc    Function test
258     */
259    it("voicemail_update_test_900", 0, async function(done) {
260        console.info("------------logMessage voicemail_update_test_900 is starting!----------");
261        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
262        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
263        var phoneNumber = randomNum(7);
264        var insertValues = {"phone_number" : phoneNumber, "voice_status" : 0};
265        try {
266            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
267            console.info("logMessage voicemail_update_test_900: voicemailId = " + voicemailId);
268            expect(voicemailId > 0).assertTrue();
269            await VoicemailUpdate();
270            await voiceMailDelete("voicemail_update_test_900");
271            done();
272        } catch (error) {
273            console.info("logMessage voicemail_update_test_900: voicemail insert error = " + error);
274            done();
275        }
276
277        async function VoicemailUpdate()
278        {
279            var updateValues = {"voice_status" : 1};
280            let condition = new dataShare.DataSharePredicates();
281            condition.equalTo("id", voicemailId.toString());
282            try {
283                var updateCode = await dataShareHelper.update(voicemailUri, updateValues, condition);
284                console.info("logMessage voicemail_update_test_900: updateCode = " + updateCode);
285                expect(updateCode == 0).assertTrue();
286                var map = new Map();
287                map.set("id", voicemailId.toString());
288                map.set("voice_status", "1");
289                await voicemailQuery(map, "voicemail_update_test_900");
290            } catch (error) {
291                console.info("logMessage voicemail_update_test_900: update error = " + error);
292                done();
293            }
294        }
295    });
296
297    /**
298     * @tc.number  voicemail_delete_test_500
299     * @tc.name    Delete voicemail data
300     * @tc.desc    Function test
301     */
302    it("voicemail_delete_test_500", 0, async function(done) {
303        console.info("-------------logMessage voicemail_delete_test_500 is starting!-----------");
304        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
305        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
306        var phoneNumber = randomNum(8);
307        var insertValues = {"phone_number" : phoneNumber, "display_name" : "zhangming"};
308        try {
309            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
310            console.info("logMessage voicemail_delete_test_500: voicemailId = " + voicemailId);
311            expect(voicemailId > 0).assertTrue();
312            await VoicemailDelete();
313            await voiceMailDelete("voicemail_delete_test_500");
314            done();
315        } catch (error) {
316            console.info("logMessage voicemail_delete_test_500: voicemail insert error = " + error);
317            done();
318        }
319
320        async function VoicemailDelete()
321        {
322            let condition = new dataShare.DataSharePredicates();
323            condition.equalTo("id", voicemailId.toString());
324            try {
325                var deleteCode = await dataShareHelper.delete(voicemailUri, condition);
326                console.info('logMessage voicemail_delete_test_500: deleteCode = ' + deleteCode);
327                expect(deleteCode == 0).assertTrue();
328                var map = new Map();
329                map.set("id", voicemailId.toString());
330                await voicemailQueryForDelete(map, "voicemail_delete_test_500");
331            } catch (error) {
332                console.info("logMessage voicemail_delete_test_500: delete error = " + error);
333                done();
334            }
335        }
336    });
337
338    /**
339     * @tc.number  voicemail_update_test_600
340     * @tc.name    Delete voicemail status
341     * @tc.desc    Function test
342     */
343    it("voicemail_update_test_600", 0, async function(done) {
344        console.info("-------------logMessage voicemail_update_test_600 is starting!-----------");
345        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
346        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
347        var phoneNumber = randomNum(8);
348        var insertValues1 = {"phone_number" : phoneNumber, "voice_status" : 1};
349        try {
350            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues1);
351            console.info("logMessage voicemail_update_test_600: voicemailId = " + voicemailId);
352            expect(voicemailId > 0).assertTrue();
353            await VoicemailUpdate();
354            await voiceMailDelete("voicemail_update_test_600");
355            done();
356        } catch (error) {
357            console.info("logMessage voicemail_update_test_600: voicemail insert error = " + error);
358            done();
359        }
360
361        async function VoicemailUpdate()
362        {
363            var updateValues = {"voice_status" : 0};
364            let condition = new dataShare.DataSharePredicates();
365            condition.equalTo("id", voicemailId.toString());
366            try {
367                var updateCode = await dataShareHelper.update(voicemailUri, updateValues, condition);
368                console.info('logMessage voicemail_update_test_600: deleteCode = ' + updateCode);
369                expect(updateCode == 0).assertTrue();
370                var map = new Map();
371                map.set("id", voicemailId.toString());
372                map.set("voice_status", "0");
373                await voicemailQuery(map, "voicemail_update_test_600");
374            } catch (error) {
375                console.info("logMessage voicemail_update_test_600: update error = " + error);
376                done();
377            }
378        }
379    });
380
381    /**
382     * @tc.number  voicemail_batchInsert_test_1800
383     * @tc.name    Insert voicemail data in batches
384     * @tc.desc    Function test
385     */
386    it("voicemail_batchInsert_test_1800", 0, async function(done) {
387        console.info("-------------logMessage voicemail_batchInsert_test_1800 is starting!-----------");
388        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
389        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
390        var phoneNumber = randomNum(4);
391        var insertValuesOne = {"phone_number" : phoneNumber, "display_name" : "xiaoming"};
392        var insertValuesTwo = {"phone_number" : phoneNumber, "display_name" : "xiaohei"};
393        var insertValuesThree = {"phone_number" : phoneNumber, "display_name" : "xiaohong"};
394        var insertValuesFour = {"phone_number" : phoneNumber, "display_name" : "xiaohei"};
395        var insertValuesFive = {"phone_number" : phoneNumber, "display_name" : "xiaofen"};
396        var listAddBluk = [];
397        listAddBluk[0] = insertValuesOne;
398        listAddBluk[1] = insertValuesTwo;
399        listAddBluk[2] = insertValuesThree;
400        listAddBluk[3] = insertValuesFour;
401        listAddBluk[4] = insertValuesFive;
402        try {
403            var batchInsertCode = await dataShareHelper.batchInsert(voicemailUri, listAddBluk);
404            console.info("logMessage voicemail_batchInsert_test_1800: batchInsertCode = " + batchInsertCode);
405            expect(batchInsertCode == 0).assertTrue();
406            await voiceMailDelete("voicemail_batchInsert_test_1800");
407            done();
408        } catch (error) {
409            console.info("logMessage voicemail_batchInsert_test_1800: batchInsert error = " + error);
410            done();
411        }
412    });
413
414    /**
415     * @tc.number  voicemail_batchInsert_test_1700
416     * @tc.name    Insert voicemail status in batches
417     * @tc.desc    Function test
418     */
419    it("voicemail_batchInsert_test_1700", 0, async function(done) {
420        console.info("-------------logMessage voicemail_batchInsert_test_1700 is starting!-----------");
421        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
422        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
423        var phoneNumber = randomNum(3);
424        var insertValuesOne = {"phone_number" : phoneNumber, "display_name" : "xiaoming", "voice_status" : 0};
425        var insertValuesTwo = {"phone_number" : phoneNumber, "display_name" : "xiaohei", "voice_status" : 1};
426        var insertValuesThree = {"phone_number" : phoneNumber, "display_name" : "xiaohong", "voice_status" : 0};
427        var insertValuesFour = {"phone_number" : phoneNumber, "display_name" : "xiaohei", "voice_status" : 0};
428        var insertValuesFive = {"phone_number" : phoneNumber, "display_name" : "xiaofen", "voice_status" : 1};
429        var listAddBluk = [];
430        listAddBluk[0] = insertValuesOne;
431        listAddBluk[1] = insertValuesTwo;
432        listAddBluk[2] = insertValuesThree;
433        listAddBluk[3] = insertValuesFour;
434        listAddBluk[4] = insertValuesFive;
435        try {
436            var batchInsertCode = await dataShareHelper.batchInsert(voicemailUri, listAddBluk);
437            console.info("logMessage voicemail_batchInsert_test_1700: batchInsertCode = " + batchInsertCode);
438            expect(batchInsertCode == 0).assertTrue();
439            var array = common.getVoiceMailBatchInsert();
440            await voicemailQueryForBatchInsert(array, "voicemail_batchInsert_test_1700");
441            await voiceMailDelete("voicemail_batchInsert_test_1700");
442            done();
443        } catch (error) {
444            console.info("logMessage voicemail_batchInsert_test_1700: batchInsert error = " + error);
445            done();
446        }
447    });
448
449    /**
450     * @tc.number  voicemail_query_test_1400
451     * @tc.name    Query voicemail data
452     * @tc.desc    Function test
453     */
454    it("voicemail_query_test_1400", 0, async function(done) {
455        console.info("------------voicemail_query_test_1400 is starting!-----------");
456        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
457        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
458        var phoneNumber = randomNum(9);
459        var insertValues = {"phone_number" : phoneNumber, "display_name" : "daming"};
460        try {
461            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
462            console.info("logMessage voicemail_query_test_1400: voicemailId = " + voicemailId);
463            expect(voicemailId > 0).assertTrue();
464            await VoicemailQuery();
465            await voiceMailDelete("voicemail_query_test_1400");
466            done();
467        } catch (error) {
468            console.info("logMessage voicemail_query_test_1400: voicemial insert error = " + error);
469            done();
470        }
471        async function VoicemailQuery()
472        {
473            var resultColumns = [ "id", "display_name", "phone_number" ];
474            let condition = new dataShare.DataSharePredicates();
475            condition.equalTo("id", voicemailId.toString());
476            try {
477                var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
478                if (resultSet.goToFirstRow()) {
479                    do {
480                        console.info('voicemail_query_test_1400 id = ' + resultSet.getString(0));
481                        expect(resultSet.getString(0) == voicemailId.toString()).assertTrue();
482                        console.info('voicemail_query_test_1400 display_name = ' + resultSet.getString(1));
483                        expect(resultSet.getString(1) == "daming").assertTrue();
484                        console.info('voicemail_query_test_1400 phone_number = ' + resultSet.getString(2));
485                        expect(resultSet.getString(2) == phoneNumber).assertTrue();
486                    } while (resultSet.goToNextRow());
487                }
488                resultSet.close();
489            } catch (error) {
490                console.info("voicemail_query_test_1400 query error = " + error);
491                done();
492            }
493        }
494    });
495
496    /**
497     * @tc.number  voicemail_query_test_1300
498     * @tc.name    Query voicemail's status
499     * @tc.desc    Function test
500     */
501    it("voicemail_query_test_1300", 0, async function(done) {
502        console.info("------------voicemail_query_test_1300  is starting!-----------");
503        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
504        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
505        var phoneNumber = randomNum(9);
506        var insertValues = {"phone_number" : phoneNumber, "display_name" : "xiaoming", "voice_status" : 1};
507        try {
508            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
509            console.info("logMessage voicemail_query_test_1300: voicemailId = " + voicemailId);
510            expect(voicemailId > 0).assertTrue();
511            await VoicemailQuery();
512            await voiceMailDelete("voicemail_query_test_1300");
513            done();
514        } catch (error) {
515            console.info("logMessage voicemail_query_test_1300: voicemial insert error = " + error);
516            done();
517        }
518        async function VoicemailQuery()
519        {
520            var resultColumns = [ "id", "display_name", "phone_number" ];
521            let condition = new dataShare.DataSharePredicates();
522            condition.equalTo("voice_status", "1");
523            condition.and();
524            condition.equalTo("phone_number", phoneNumber);
525            try {
526                var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
527                if (resultSet.goToFirstRow()) {
528                    do {
529                        console.info('voicemail_query_test_1300 id = ' + resultSet.getString(0));
530                        expect(resultSet.getString(0) == voicemailId.toString()).assertTrue();
531                        console.info('voicemail_query_test_1300 display_name = ' + resultSet.getString(1));
532                        expect(resultSet.getString(1) == "xiaoming").assertTrue();
533                        console.info('voicemail_query_test_1300 phone_number = ' + resultSet.getString(2));
534                        expect(resultSet.getString(2) == phoneNumber).assertTrue();
535                    } while (resultSet.goToNextRow());
536                }
537                resultSet.close();
538            } catch (error) {
539                console.info("voicemail_query_test_1300 query error = " + error);
540                done();
541            }
542        }
543    });
544
545    /**
546     * @tc.number  abnormal_voicemail_insert_test_300
547     * @tc.name    Abnormal use case, an incorrect field is passed in when inserting data
548     * @tc.desc    Function test
549     */
550    it("abnormal_voicemail_insert_test_300", 0, async function(done) {
551        console.info("------------abnormal_voicemail_insert_test_300 is starting!-----------");
552        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
553        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
554        var phoneNumber = randomNum(10);
555        var insertValues = {"phone_numbers" : phoneNumber, "display_name" : "xiaoming"};
556        try {
557            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
558            console.info("logMessage abnormal_voicemail_insert_test_300: voicemialId = " + voicemailId);
559            expect(voicemailId == -1).assertTrue();
560            done();
561        } catch (error) {
562            console.info("abnormal_voicemail_insert_test_300 insert error = " + error);
563            done();
564        }
565    });
566
567    /**
568     * @tc.number  abnormal_voicemail_insert_test_400
569     * @tc.name    Exception use case, an incorrect table name is passed in when inserting data
570     * @tc.desc    Function test
571     */
572    it("abnormal_voicemail_insert_test_400", 0, async function(done) {
573        console.info("------------abnormal_voicemail_insert_test_400 is starting!-----------");
574        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
575        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
576        var errorUri = "datashare:///com.ohos.calllogability/calls/voicemails";
577
578        var phoneNumber = randomNum(9);
579        var insertValues = {"phone_number" : phoneNumber, "display_name" : "xiaoming"};
580        try {
581            var voicemialId = await dataShareHelper.insert(errorUri, insertValues)
582            console.info("logMessage abnormal_voicemail_insert_test_400: voicemialId = " + voicemialId);
583            expect(voicemialId == -1).assertTrue();
584            var map = new Map();
585            map.set("phone_number", phoneNumber);
586            await voicemailQueryError(map, "abnormal_voicemail_insert_test_400");
587            done();
588        } catch (error) {
589            console.info("abnormal_voicemail_insert_test_400 insert error = " + error);
590            done();
591        }
592    });
593
594    /**
595     * @tc.number  abnormal_voicemail_update_test_1100
596     * @tc.name    Abnormal use case, passing in a wrong field when updating data
597     * @tc.desc    Function test
598     */
599    it("abnormal_voicemail_update_test_1100", 0, async function(done) {
600        console.info("------------abnormal_voicemail_update_test_1100 is starting!-----------");
601        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
602        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
603        var phoneNumber = randomNum(10);
604        var insertValues = {"phone_number" : phoneNumber};
605        try {
606            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
607            console.info("logMessage abnormal_voicemail_update_test_1100: voicemailId = " + voicemailId);
608            expect(voicemailId > 0).assertTrue();
609            await AbnormalUpdate();
610            await voiceMailDelete("abnormal_voicemail_update_test_1100");
611            done();
612        } catch (error) {
613            console.info("abnormal_voicemail_update_test_1100 insert error = " + error);
614            done();
615        }
616        async function AbnormalUpdate()
617        {
618            var phoneNumber_Test = randomNum(15);
619            var updateValues = {"phone_numbers" : phoneNumber_Test};
620            let condition = new dataShare.DataSharePredicates();
621            condition.equalTo("ids", voicemailId.toString());
622            try {
623                var updataCode = await dataShareHelper.update(voicemailUri, updateValues, condition);
624                console.info("logMessage abnormal_voicemail_update_test_1100: updataCode = " + updataCode);
625                expect(updataCode == -1).assertTrue();
626                var map = new Map();
627                map.set("phone_number", phoneNumber_Test);
628                await voicemailQueryError(map, "abnormal_voicemail_update_test_1100");
629            } catch (error) {
630                console.info("logMessage abnormal_voicemail_update_test_1100: update error = " + error);
631                done();
632            }
633        }
634    });
635
636    /**
637     * @tc.number  abnormal_voicemail_update_test_1200
638     * @tc.name    Abnormal use case, an incorrect table name is passed in when updating data
639     * @tc.desc    Function test
640     */
641    it("abnormal_voicemail_update_test_1200", 0, async function(done) {
642        console.info("------------abnormal_voicemail_update_test_1200 is starting!-----------");
643        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
644        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
645        var errorUri = "datashare:///com.ohos.calllogability/calls/voicemails";
646        var phoneNumber = randomNum(6);
647        var insertValues = {"phone_number" : phoneNumber};
648        try {
649            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
650            console.info("logMessage abnormal_voicemail_update_test_1200: voicemailId = " + voicemailId);
651            expect(voicemailId > 0).assertTrue();
652            await AbnormalUpdate();
653            await voiceMailDelete("abnormal_voicemail_update_test_1200");
654            done();
655        } catch (error) {
656            console.info("logMessage abnormal_voicemail_update_test_1200: insert error = " + error);
657            done();
658        }
659
660        async function AbnormalUpdate()
661        {
662            var phoneNumber_Test = randomNum(6);
663            var updateValues = {"phone_number" : phoneNumber_Test};
664            let condition = new dataShare.DataSharePredicates();
665            condition.equalTo("id", voicemailId.toString());
666            try {
667                var updataCode = await dataShareHelper.update(errorUri, updateValues, condition)
668                console.info("logMessage abnormal_voicemail_update_test_1200: updataCode = " + updataCode);
669                expect(updataCode == -1).assertTrue();
670                var map = new Map();
671                map.set("phone_number", phoneNumber_Test);
672                await voicemailQueryError(map, "abnormal_voicemail_update_test_1200");
673            } catch (error) {
674                console.info("logMessage abnormal_voicemail_update_test_1200: update error = " + error);
675                done();
676            }
677        }
678    });
679
680    /**
681     * @tc.number  abnormal_voicemail_delete_test_700
682     * @tc.name    Abnormal use case, passing in a wrong field when deleting data
683     * @tc.desc    Function test
684     */
685    it("abnormal_voicemail_delete_test_700", 0, async function(done) {
686        console.info("------------abnormal_voicemail_delete_test_700 is starting!-----------");
687        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
688        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
689        var phoneNumber = randomNum(6);
690        var insertValues = {"phone_number" : phoneNumber};
691        try {
692            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
693            console.info("logMessage abnormal_voicemail_delete_test_700: voicemailId = " + voicemailId);
694            expect(voicemailId > 0).assertTrue();
695            await AbnormalDelete();
696            await voiceMailDelete("abnormal_voicemail_delete_test_700");
697            done();
698        } catch (error) {
699            console.info("logMessage abnormal_voicemail_delete_test_700: insert error = " + error);
700            done();
701        }
702
703        async function AbnormalDelete()
704        {
705            let condition = new dataShare.DataSharePredicates();
706            condition.equalTo("ids", voicemailId.toString());
707            try {
708                var deleteCode = await dataShareHelper.delete(voicemailUri, condition);
709                console.info("logMessage abnormal_voicemail_delete_test_700: deleteCode = " + deleteCode);
710                expect(deleteCode == -1).assertTrue();
711            } catch (error) {
712                console.info("logMessage abnormal_voicemail_delete_test_700: delete error = " + error);
713                done();
714            }
715        }
716    });
717
718    /**
719     * @tc.number  abnormal_voicemail_delete_test_800
720     * @tc.name    Abnormal use case, passing in an incorrect table name when deleting data
721     * @tc.desc    Function test
722     */
723    it("abnormal_voicemail_delete_test_800", 0, async function(done) {
724        console.info("------------abnormal_voicemail_delete_test_800 is starting!-----------");
725        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
726        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
727        var errorUri = "datashare:///com.ohos.calllogability/calls/voicemails";
728        var phoneNumber = randomNum(6);
729        var insertValues = {"phone_number" : phoneNumber};
730        try {
731            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
732            console.info("logMessage abnormal_voicemail_delete_test_800: voicemailId = " + voicemailId);
733            expect(voicemailId > 0).assertTrue();
734            await AbnormalDelete();
735            await voiceMailDelete("abnormal_voicemail_delete_test_800");
736            done();
737        } catch (error) {
738            console.info("logMessage abnormal_voicemail_delete_test_800: insert error = " + error);
739            done();
740        }
741
742        async function AbnormalDelete()
743        {
744            let condition = new dataShare.DataSharePredicates();
745            condition.equalTo("id", voicemailId.toString());
746            try {
747                var deleteCode = await dataShareHelper.delete(errorUri, condition);
748                console.info("logMessage abnormal_voicemail_delete_test_800: deleteCode = " + deleteCode);
749                expect(deleteCode == -1).assertTrue();
750            } catch (error) {
751                console.info("logMessage abnormal_voicemail_delete_test_800: delete error = " + error);
752                done();
753            }
754        }
755    });
756
757    /**
758     * @tc.number  abnormal_voicemail_query_test_1500
759     * @tc.name    Abnormal use case, an incorrect field is passed in when querying
760     * @tc.desc    Function test
761     */
762    it("abnormal_voicemail_query_test_1500", 0, async function(done) {
763        console.info("------------abnormal_voicemail_query_test_1500 is starting!-----------");
764        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
765        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
766        var phoneNumber = randomNum(6);
767        var insertValues = {"phone_number" : phoneNumber};
768        try {
769            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
770            console.info("logMessage abnormal_voicemail_query_test_1500: voicemailId = " + voicemailId);
771            expect(voicemailId > 0).assertTrue();
772            await AbnormalQuery();
773            await voiceMailDelete("abnormal_voicemail_query_test_1500");
774            done();
775        } catch (error) {
776            console.info("logMessage abnormal_voicemail_query_test_1500: insert error = " + error);
777            done();
778        }
779
780        async function AbnormalQuery()
781        {
782            var resultColumns = [ "id", "phone_number" ];
783
784            let condition = new dataShare.DataSharePredicates();
785            condition.equalTo("ids", voicemailId.toString());
786            try {
787                var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition)
788                console.info('logMessage abnormal_voicemail_query_test_1500: goToFirstRow' + resultSet.goToFirstRow());
789                expect(resultSet.goToFirstRow()).assertEqual(false);
790                resultSet.close();
791            } catch (error) {
792                console.info('logMessage abnormal_voicemail_query_test_1500: query error = ' + error);
793                done();
794            }
795        }
796    });
797
798    /**
799     * @tc.number  abnormal_voicemail_batchinsert_test_1900
800     * @tc.name    Abnormal use cases, when inserting data in batches, some of them failed, check the processing logic
801     * @tc.desc    Function test
802     */
803    it("abnormal_voicemail_batchinsert_test_1900", 0, async function(done) {
804        console.info("--------logMessage abnormal_voicemail_batchinsert_test_1900 is starting!------------");
805        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
806        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
807        var phoneNumber = randomNum(9);
808        var phoneNumber_Test = randomNum(6);
809        var addBulk_value1 = {"phone_number" : phoneNumber, "ring_duration" : "500"};
810        var addBulk_value2 = {"phone_number" : phoneNumber_Test, "ring_duration" : "100"};
811        var addBulk_value3 = {"phone_numbers" : phoneNumber_Test, "ring_duration" : "100"};
812        var addBulk_value4 = {"phone_number" : phoneNumber_Test, "ring_durations" : "100"};
813        var addBulk_value5 = {"phone_number" : phoneNumber_Test, "ring_duration" : "100"};
814        var listAddBluk = [];
815        listAddBluk[0] = addBulk_value1;
816        listAddBluk[1] = addBulk_value2;
817        listAddBluk[2] = addBulk_value3;
818        listAddBluk[3] = addBulk_value4;
819        listAddBluk[4] = addBulk_value5;
820        try {
821            var batchInsertCode = await dataShareHelper.batchInsert(voicemailUri, listAddBluk)
822            console.info("logMessage abnormal_voicemail_batchinsert_test_1900: batchInsertCode = " + batchInsertCode);
823            expect(batchInsertCode == -1).assertTrue();
824            done();
825        } catch (error) {
826            console.info('logMessage abnormal_voicemail_batchinsert_test_1900: batchInsert error = ' + error);
827            done();
828        }
829    });
830
831    /**
832     * @tc.number  voiceMail_delete_test_2000
833     * @tc.name    batchDelete
834     * @tc.desc    Function test
835     */
836    it("voiceMail_delete_test_2000", 0, async function(done) {
837        console.info("--------logMessage voiceMail_delete_test_2000 is starting!------------");
838        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
839        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
840        try {
841            var voiceMailId = await dataShareHelper.insert(voicemailUri, common.getVoiceMail());
842            console.info("logMessage voiceMail_delete_test_2000: voiceMailId = " + voiceMailId);
843            expect(voiceMailId > 0).assertTrue();
844            var map = common.getVoiceMailMap()
845            map.set("id", voiceMailId.toString());
846            await voicemailQuery(map, "voiceMail_delete_test_2000");
847            await executeBatch();
848        } catch (error) {
849            console.info("logMessage voiceMail_delete_test_2000: voiceMailId insert error = " + error);
850            done();
851        }
852        async function executeBatch()
853        {
854            console.info("logMessage voiceMail_delete_test_2000:  executeBatch start ");
855            let condition = new dataShare.DataSharePredicates();
856            condition.equalTo("id", voiceMailId.toString());
857            dataShareHelper.executeBatch(URI_VOICEMAIL, [ {
858                uri : voicemailUri,
859                type : featureAbility.DataAbilityOperationType.TYPE_DELETE,
860                predicates : condition,
861                expectedCount : 0,
862                PredicatesBackReferences : {},
863                interrupted : true,
864            } ],
865                (error, data) => {
866                    console.info("logMessage voiceMail_delete_test_2000: executeBatch data = " + JSON.stringify(data));
867                    console.info("logMessage voiceMail_delete_test_2000: data_3 = " + data);
868                    console.info("logMessage voiceMail_delete_test_2000:  data_1= " + data[0].count);
869                    expect(data[0].count == 0).assertTrue();
870                    done();
871                });
872        }
873    });
874
875    /**
876     * @tc.number  voiceMail_update_test_2100
877     * @tc.name    batchUpdate
878     * @tc.desc    Function test
879     */
880    it("voiceMail_update_test_2100", 0, async function(done) {
881        console.info("--------logMessage voiceMail_update_test_2100 is starting!------------");
882        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
883        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
884        try {
885            var voiceMailId = await dataShareHelper.insert(voicemailUri, common.getVoiceMail());
886            console.info("logMessage voiceMail_update_test_2100: voiceMailId = " + voiceMailId);
887            expect(voiceMailId > 0).assertTrue();
888            var map = common.getVoiceMailMap();
889            map.set("id", voiceMailId.toString());
890            await voicemailQuery(map, "voiceMail_update_test_2100");
891            await executeBatch();
892        } catch (error) {
893            console.info("logMessage voiceMail_update_test_2100: calllog insert error = " + error);
894            done();
895        }
896        async function executeBatch()
897        {
898            var phoneNumber = randomNum(8);
899            var updateValues = {"phone_number" : phoneNumber};
900            console.info("logMessage voiceMail_update_test_2100:  executeBatch start ");
901            let condition = new dataShare.DataSharePredicates();
902            condition.equalTo("id", voiceMailId.toString());
903            dataShareHelper.executeBatch(URI_VOICEMAIL, [ {
904                uri : voicemailUri,
905                type : featureAbility.DataAbilityOperationType.TYPE_UPDATE,
906                valuesBucket : updateValues,
907                predicates : condition,
908                expectedCount : 0,
909                PredicatesBackReferences : {},
910                interrupted : true,
911            } ],
912                (error, data) => {
913                    console.info("logMessage voiceMail_update_test_2100: executeBatch data = " + JSON.stringify(data));
914                    console.info("logMessage voiceMail_update_test_2100: data_3 = " + data);
915                    console.info("logMessage voiceMail_update_test_2100:  data_1= " + data[0].count);
916                    expect(data[0].count == 0).assertTrue();
917                    done();
918                });
919        }
920    });
921
922    /**
923     * @tc.number  voicemail_insert_test_2200
924     * @tc.name    Insert voicemail status 0
925     * @tc.desc    Function test
926     */
927    it("voicemail_insert_test_2200", 0, async function(done) {
928        console.info("---------logMessage voicemail_insert_test_2200 is starting!---------")
929        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
930        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
931        console.info('logMessage uri = ' + URI_VOICEMAIL)
932        var phoneNumber = randomNum(15);
933        var stringValue = {"phone_number" : phoneNumber, "voice_status" : 0};
934        try {
935            var voicemailId = await dataShareHelper.insert(voicemailUri, stringValue)
936            console.info("logMessage voicemail_insert_test_2200: voicemailId = " + voicemailId);
937            expect(voicemailId > 0).assertTrue();
938            var map = new Map();
939            map.set("id", voicemailId.toString());
940            map.set("phone_number", phoneNumber);
941            map.set("voice_status", "0");
942            await voicemailQuery(map, "voicemail_insert_test_2200");
943            await voiceMailDelete("voicemail_insert_test_2200");
944            done();
945        } catch (error) {
946            console.info("logMessage voicemail_insert_test_2200: voicemail insert error = " + error);
947            done();
948        }
949    });
950
951    /**
952     * @tc.number  voicemail_insert_test_2300
953     * @tc.name    Insert 3 pieces of voice mail data first, then delete 2 pieces of data,
954     *             and verify whether the deletion is successful
955     * @tc.desc    Function test
956     */
957    it("voicemail_insert_test_2300", 0, async function(done) {
958        console.info("---------logMessage voicemail_insert_test_2300 is starting!---------")
959        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
960        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
961        console.info('logMessage uri = ' + URI_VOICEMAIL)
962        var phoneNumber = randomNum(11);
963        var stringValue = {"phone_number" : phoneNumber, "voice_status" : 0};
964        try {
965            var voicemailId = await dataShareHelper.insert(voicemailUri, stringValue)
966            var voicemailIdOne = await dataShareHelper.insert(voicemailUri, stringValue)
967            var voicemailIdTwo = await dataShareHelper.insert(voicemailUri, stringValue)
968            let condition = new dataShare.DataSharePredicates();
969            condition.equalTo("id", voicemailId.toString());
970            condition.or();
971            condition.equalTo("id", voicemailIdOne.toString());
972            var deleteCode = await dataShareHelper.delete(voicemailUri, condition);
973            console.info("logMessage voicemail_insert_test_2300: deleteCode = " + deleteCode);
974            var resultColumns = [];
975            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
976            expect(resultSet.rowCount == 0).assertTrue();
977            resultSet.close();
978            await voiceMailDelete("voicemail_insert_test_2300");
979            done();
980        } catch (error) {
981            console.info("logMessage voicemail_insert_test_2300: voicemail insert error = " + error);
982            done();
983        }
984    });
985
986    /**
987     * @tc.number  voicemail_insert_test_2400
988     * @tc.name    Insert 3 pieces of voice mail data first, then update 2 pieces of data,
989     *             and verify whether the deletion is successful
990     * @tc.desc    Function test
991     */
992    it("voicemail_insert_test_2400", 0, async function(done) {
993        console.info("---------logMessage voicemail_insert_test_2400 is starting!---------")
994        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
995        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
996        console.info('logMessage uri = ' + URI_VOICEMAIL)
997        var phoneNumber_Test = randomNum(8);
998        var stringValue = {"phone_number" : phoneNumber_Test, "voice_status" : 0};
999        try {
1000            var voicemailId = await dataShareHelper.insert(voicemailUri, stringValue)
1001            var voicemailIdOne = await dataShareHelper.insert(voicemailUri, stringValue)
1002            var voicemailIdTwo = await dataShareHelper.insert(voicemailUri, stringValue)
1003            let condition = new dataShare.DataSharePredicates();
1004            condition.equalTo("id", voicemailId.toString());
1005            condition.or();
1006            condition.equalTo("id", voicemailIdOne.toString());
1007            var phoneNumber = randomNum(13);
1008            var updateValue = {"phone_number" : phoneNumber, "voice_status" : 1};
1009            var updateCode = await dataShareHelper.update(voicemailUri, updateValue, condition);
1010            console.info("logMessage voicemail_insert_test_2400: deleteCode = " + updateCode);
1011
1012            var map = new Map();
1013            map.set("id", voicemailId.toString());
1014            map.set("phone_number", phoneNumber);
1015            map.set("voice_status", "1");
1016            await voicemailQuery(map, "voicemail_insert_test_2400");
1017
1018            var mapOne = new Map();
1019            mapOne.set("id", voicemailIdOne.toString());
1020            mapOne.set("phone_number", phoneNumber);
1021            mapOne.set("voice_status", "1");
1022            await voicemailQuery(mapOne, "voicemail_insert_test_2400");
1023            await voiceMailDelete("voicemail_insert_test_2400");
1024            done();
1025        } catch (error) {
1026            console.info("logMessage voicemail_insert_test_2400: voicemail insert error = " + error);
1027            done();
1028        }
1029    });
1030
1031    /**
1032     * @tc.number  voicemail_insert_test_2500
1033     * @tc.name    Query the voice mailbox with status 0 or id and return the query result
1034     * @tc.desc    Function test
1035     */
1036    it("voicemail_query_test_2500", 0, async function(done) {
1037        console.info("---------logMessage voicemail_query_test_2500 is starting!---------")
1038        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1039        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1040        console.info('logMessage uri = ' + URI_VOICEMAIL)
1041        var phoneNumber = randomNum(10);
1042        var stringValue = {"phone_number" : phoneNumber, "voice_status" : 0};
1043        try {
1044            var voicemailId = await dataShareHelper.insert(voicemailUri, stringValue)
1045            var voicemailIdOne = await dataShareHelper.insert(voicemailUri, stringValue)
1046            let condition = new dataShare.DataSharePredicates();
1047            condition.beginWrap();
1048            condition.equalTo("id", voicemailId.toString());
1049            condition.or();
1050            condition.equalTo("id", voicemailIdOne.toString());
1051            condition.endWrap();
1052            condition.and();
1053            condition.equalTo("voice_status", "0");
1054            var resultColumns = [];
1055            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
1056            expect(resultSet.rowCount == 2).assertTrue();
1057            resultSet.close();
1058            await voiceMailDelete("voicemail_query_test_2500");
1059            done();
1060        } catch (error) {
1061            console.info("logMessage voicemail_query_test_2500: voicemail insert error = " + error);
1062            done();
1063        }
1064    });
1065
1066    /**
1067     * @tc.number  voicemail_query_test_2600
1068     * @tc.name    Query the voice mailbox and return the query result
1069     * @tc.desc    Function test
1070     */
1071    it("voicemail_query_test_2600", 0, async function(done) {
1072        console.info("---------logMessage voicemail_query_test_2600 is starting!---------")
1073        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1074        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1075        console.info('logMessage uri = ' + URI_VOICEMAIL)
1076        var phoneNumber = randomNum(12);
1077        var stringValue = {"phone_number" : phoneNumber, "voice_status" : 0};
1078        try {
1079            var voicemailId = await dataShareHelper.insert(voicemailUri, stringValue);
1080            console.info('voicemail_query_test_2600 voicemailId = ' + voicemailId);
1081            var voicemailIdOne = await dataShareHelper.insert(voicemailUri, stringValue);
1082            console.info('voicemail_query_test_2600  voicemailIdOne = ' + voicemailIdOne);
1083            let condition = new dataShare.DataSharePredicates();
1084            var resultColumns = [];
1085            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
1086            expect(resultSet.rowCount == 2).assertTrue();
1087            resultSet.close();
1088            await voiceMailDelete("voicemail_query_test_2600");
1089            done();
1090        } catch (error) {
1091            console.info("logMessage voicemail_query_test_2600: voicemail insert error = " + error);
1092            done();
1093        }
1094    });
1095
1096    /**
1097     * @tc.number  abnormal_voicemail_insert_test_2700
1098     * @tc.name    When the voicemail status is added, a non-existent field is passed in
1099     * @tc.desc    Function test
1100     */
1101    it("abnormal_voicemail_insert_test_2700", 0, async function(done) {
1102        console.info("---------logMessage abnormal_voicemail_insert_test_2700 is starting!---------")
1103        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1104        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1105        console.info('logMessage uri = ' + URI_VOICEMAIL)
1106        try {
1107            var insertValues = {display_name : "2700name", voice_statuss : "1"};
1108            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
1109            expect(voicemailId == -1).assertTrue();
1110            let condition = new dataShare.DataSharePredicates();
1111            var resultColumns = [];
1112            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
1113            expect(resultSet.rowCount == 0).assertTrue();
1114            await voiceMailDelete("abnormal_voicemail_insert_test_2700");
1115            done();
1116        } catch (error) {
1117            done();
1118        }
1119    });
1120
1121    /**
1122     * @tc.number  abnormal_voicemail_delete_test_2800
1123     * @tc.name    When deleting the voicemail status, pass in a non-existent field
1124     * @tc.desc    Function test
1125     */
1126    it("abnormal_voicemail_delete_test_2800", 0, async function(done) {
1127        console.info("---------logMessage abnormal_voicemail_delete_test_2800 is starting!---------")
1128        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1129        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1130        console.info('logMessage uri = ' + URI_VOICEMAIL)
1131        try {
1132            var insertValues = {display_name : "2800name", voice_status : "1"};
1133            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
1134            expect(voicemailId > 0).assertTrue();
1135            let condition = new dataShare.DataSharePredicates();
1136            condition.equalTo("id", voicemailId.toString());
1137            var updateValues = {display_name : "2800name", voice_statuss : "0"};
1138            var updateCode = await dataShareHelper.update(voicemailUri, updateValues, condition);
1139            expect(updateCode == -1).assertTrue();
1140            var map = new Map();
1141            map.set("id", voicemailId.toString());
1142            map.set("display_name", "2800name");
1143            map.set("voice_status", "1");
1144            await voicemailQuery(map, "abnormal_voicemail_delete_test_2800");
1145            await voiceMailDelete("abnormal_voicemail_delete_test_2800");
1146            done();
1147        } catch (error) {
1148            done();
1149        }
1150    });
1151
1152    /**
1153     * @tc.number  abnormal_voicemail_update_test_2900
1154     * @tc.name    When update the voicemail status, pass in a non-existent field
1155     * @tc.desc    Function test
1156     */
1157    it("abnormal_voicemail_update_test_2900", 0, async function(done) {
1158        console.info("---------logMessage abnormal_voicemail_update_test_2900 is starting!---------")
1159        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1160        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1161        console.info('logMessage uri = ' + URI_VOICEMAIL)
1162        try {
1163            var insertValues = {display_name : "2900name", voice_status : "1"};
1164            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
1165            expect(voicemailId > 0).assertTrue();
1166            let condition = new dataShare.DataSharePredicates();
1167            condition.equalTo("id", voicemailId.toString());
1168            var updateValues = {display_name : "2900name", voice_statuss : "0"};
1169            var updateCode = await dataShareHelper.update(voicemailUri, updateValues, condition);
1170            expect(updateCode == -1).assertTrue();
1171            var map = new Map();
1172            map.set("id", voicemailId.toString());
1173            map.set("display_name", "2900name");
1174            map.set("voice_status", "1");
1175            await voicemailQuery(map, "abnormal_voicemail_update_test_2900");
1176            await voiceMailDelete("abnormal_voicemail_update_test_2900");
1177            done();
1178        } catch (error) {
1179            done();
1180        }
1181    });
1182
1183    /**
1184     * @tc.number  abnormal_voicemail_update_test_3000
1185     * @tc.name    When update the voicemail status, pass in a non-existent field
1186     * @tc.desc    Function test
1187     */
1188    it("abnormal_voicemail_update_test_3000", 0, async function(done) {
1189        console.info("---------logMessage abnormal_voicemail_update_test_3000 is starting!---------")
1190        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1191        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1192        console.info('logMessage uri = ' + URI_VOICEMAIL)
1193        try {
1194            var insertValues = {display_name : "2900name", voice_status : "1"};
1195            var voicemailId = await dataShareHelper.insert(voicemailUri, insertValues);
1196            expect(voicemailId > 0).assertTrue();
1197            let condition = new dataShare.DataSharePredicates();
1198            condition.equalTo("ids", voicemailId.toString());
1199            var resultColumns = [];
1200            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
1201            expect(resultSet.rowCount == -1).assertTrue();
1202            resultSet.close();
1203            await voiceMailDelete("abnormal_voicemail_update_test_3000");
1204            done();
1205        } catch (error) {
1206            done();
1207        }
1208    });
1209
1210    /**
1211     * @tc.number   abnormal_voicemail_batchInsert_test_3100
1212     * @tc.name    Insert voicemail data in batches , pass in a non-existent field
1213     * @tc.desc    Function test
1214     */
1215    it("abnormal_voicemail_batchInsert_test_3100", 0, async function(done) {
1216        console.info("-------------logMessage abnormal_voicemail_batchInsert_test_3100 is starting!-----------");
1217        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1218        console.info('logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1219
1220        var insertValuesOne = {"voice_status" : "0", "display_name" : "xiaoming"};
1221        var insertValuesTwo = {"voice_status" : "1", "display_name" : "xiaohei"};
1222        var insertValuesThree = {"voice_statusss" : "1", "display_name" : "xiaohong"};
1223        var insertValuesFour = {"voice_status" : "0", "display_name" : "xiaohei"};
1224        var insertValuesFive = {"voice_status" : "0", "display_name" : "xiaofen"};
1225        var listAddBluk = [];
1226        listAddBluk[0] = insertValuesOne;
1227        listAddBluk[1] = insertValuesTwo;
1228        listAddBluk[2] = insertValuesThree;
1229        listAddBluk[3] = insertValuesFour;
1230        listAddBluk[4] = insertValuesFive;
1231        try {
1232            var batchInsertCode = await dataShareHelper.batchInsert(voicemailUri, listAddBluk);
1233            console.info("logMessage abnormal_voicemail_batchInsert_test_3100: batchInsertCode = " + batchInsertCode);
1234            expect(batchInsertCode == -1).assertTrue();
1235            let condition = new dataShare.DataSharePredicates();
1236            var resultColumns = [];
1237            var resultSet = await dataShareHelper.query(voicemailUri, resultColumns, condition);
1238            expect(resultSet.rowCount == 0).assertTrue();
1239            resultSet.close();
1240            done();
1241        } catch (error) {
1242            console.info("logMessage abnormal_voicemail_batchInsert_test_3100: batchInsert error = " + error);
1243            done();
1244        }
1245    });
1246
1247    afterAll(async function() {
1248        let dataShareHelper = dataShare.createDataShareHelper(URI_VOICEMAIL);
1249        console.info('voicemai afterAll logMessage get dataShareHelper success! dataShareHelper = ' + dataShareHelper);
1250        let condition = new dataShare.DataSharePredicates();
1251        condition.greaterThan("id", "0");
1252        var deleteCode = await dataShareHelper.delete(voicemailUri, condition);
1253        console.info('voicemai afterAll logMessage deleteCode = ' + deleteCode);
1254    });
1255})
1256
1257function randomNum (num) {
1258    let number = toString(Math.floor(Math.random() * (9 * Math.pow(10, num))) + (1 * Math.pow(10, num)));
1259    return number ;
1260}
1261