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