1/* 2 * Copyright (C) 2023-2025 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 hiAppEvent from "@ohos.hiviewdfx.hiAppEvent" 17import { fileIo as fs } from '@ohos.file.fs'; 18 19import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' 20 21describe('HiAppEventJsTest', function () { 22 let isConfigFileExist = false; 23 beforeAll(function() { 24 /* 25 * @tc.setup: setup invoked before all test cases 26 */ 27 console.info('HiAppEventJsTest beforeAll called') 28 isConfigFileExist = fs.accessSync("/system/etc/hiappevent/processor.json") 29 }) 30 31 afterAll(function() { 32 /* 33 * @tc.teardown: teardown invoked after all test cases 34 */ 35 console.info('HiAppEventJsTest afterAll called') 36 }) 37 38 beforeEach(function() { 39 /* 40 * @tc.setup: setup invoked before each test case 41 */ 42 console.info('HiAppEventJsTest beforeEach called') 43 }) 44 45 afterEach(function() { 46 /* 47 * @tc.teardown: teardown invoked after each test case 48 */ 49 console.info('HiAppEventJsTest afterEach called') 50 }) 51 52 function createError1(name, type) { 53 return { code: "401", message: "Parameter error. The type of " + name + " must be " + type + "." }; 54 } 55 56 function createError2(message) { 57 return { code: "401", message: message }; 58 } 59 60 function createError3(message) { 61 return { code: "11105001", message: message }; 62 } 63 64 function assertErrorEqual(actualErr, expectErr) { 65 expect(actualErr.code).assertEqual(expectErr.code) 66 expect(actualErr.message).assertEqual(expectErr.message) 67 } 68 69 function validProcessorTest(processor, done) { 70 let processorId = hiAppEvent.addProcessor(processor); 71 expect(processorId).assertLarger(0); 72 setTimeout(() => { 73 hiAppEvent.removeProcessor(processorId); 74 done(); 75 }, 1000); 76 } 77 78 function invalidProcessorTest(processor, expectErr) { 79 let processorId = 0; 80 try { 81 processorId = hiAppEvent.addProcessor(processor); 82 } catch (err) { 83 assertErrorEqual(err, expectErr); 84 } 85 hiAppEvent.removeProcessor(processorId); 86 } 87 88 function assertAddProcessorResult(processor1, processor2, isEqual) { 89 let processorId1 = hiAppEvent.addProcessor(processor1); 90 expect(processorId1).assertLarger(0); 91 let processorId2 = hiAppEvent.addProcessor(processor2); 92 expect(processorId2).assertLarger(0); 93 if (isEqual) { 94 expect(processorId1 == processorId2).assertTrue(); 95 } else { 96 expect(processorId1 != processorId2).assertTrue(); 97 } 98 hiAppEvent.removeProcessor(processorId1); 99 hiAppEvent.removeProcessor(processorId2); 100 } 101 102 /** 103 * @tc.name: AddProcessorTest001 104 * @tc.desc: Add processor when all configs were set. 105 * @tc.type: FUNC 106 * @tc.require: issueI8U2VO 107 */ 108 it('AddProcessorTest001', 0, async function (done) { 109 let processor1 = { 110 name: "test_processor", 111 debugMode: true, 112 routeInfo: "routeInfo", 113 appId: "appId", 114 onStartReport: true, 115 onBackgroundReport: true, 116 periodReport: 0, 117 batchReport: 0, 118 userIds: ["id1", "id2"], 119 userProperties: ["prop1", "props"], 120 eventConfigs: [ 121 { 122 domain: "test_domain", 123 name: "test_name", 124 isRealTime: true, 125 } 126 ], 127 configId: 1, 128 customConfigs: { 129 "str_key": "str_value" 130 }, 131 configName: "test_configName" 132 }; 133 validProcessorTest(processor1, done); 134 }); 135 136 /** 137 * @tc.name: AddProcessorTest002 138 * @tc.desc: Add processor when param is not processor types. 139 * @tc.type: FUNC 140 * @tc.require: issueI8U2VO 141 */ 142 it('AddProcessorTest002', 0, function () { 143 let expectErr = createError1("config", "Processor"); 144 invalidProcessorTest("str", expectErr); 145 invalidProcessorTest(0, expectErr); 146 invalidProcessorTest(true, expectErr); 147 invalidProcessorTest(null, expectErr); 148 invalidProcessorTest(undefined, expectErr); 149 }); 150 151 /** 152 * @tc.name: AddProcessorTest003_1 153 * @tc.desc: Add processor when param name with type error. 154 * @tc.type: FUNC 155 * @tc.require: issueI8U2VO 156 */ 157 it('AddProcessorTest003_1', 0, function () { 158 let expectErr1 = createError1("name", "string"); 159 let processor1 = { 160 name: 0, 161 }; 162 invalidProcessorTest(processor1, expectErr1); 163 164 let processor2 = { 165 name: true, 166 }; 167 invalidProcessorTest(processor2, expectErr1); 168 169 let processor3 = { 170 name: {}, 171 }; 172 invalidProcessorTest(processor3, expectErr1); 173 174 let processor4 = { 175 name: null, 176 }; 177 invalidProcessorTest(processor4, expectErr1); 178 179 let processor5 = { 180 name: undefined, 181 }; 182 invalidProcessorTest(processor5, expectErr1); 183 }); 184 185 /** 186 * @tc.name: AddProcessorTest003_2 187 * @tc.desc: Add processor when param name with invalid format. 188 * @tc.type: FUNC 189 * @tc.require: issueI8U2VO 190 */ 191 it('AddProcessorTest003_2', 0, function () { 192 let expectErr = createError2("Invalid processor name."); 193 let processor1 = { 194 name: "", 195 }; 196 invalidProcessorTest(processor1, expectErr); 197 198 let processor2 = { 199 name: "xxx***", 200 }; 201 invalidProcessorTest(processor2, expectErr); 202 203 let processor3 = { 204 name: "123_processor", 205 }; 206 invalidProcessorTest(processor3, expectErr); 207 208 const maxLen = 256; 209 let processor4 = { 210 name: 'a'.repeat(maxLen + 1), 211 }; 212 invalidProcessorTest(processor4, expectErr); 213 }); 214 215 /** 216 * @tc.name: AddProcessorTest004 217 * @tc.desc: Add processor for test param debugMode. 218 * @tc.type: FUNC 219 * @tc.require: issueI8U2VO 220 */ 221 it('AddProcessorTest004', 0, function () { 222 let processor0 = { 223 name: "test_processor", 224 }; 225 let processor1 = { 226 name: "test_processor", 227 debugMode: null, 228 }; 229 assertAddProcessorResult(processor0, processor1, true); 230 231 let processor2 = { 232 name: "test_processor", 233 debugMode: 0, 234 }; 235 assertAddProcessorResult(processor1, processor2, true); 236 237 let processor3 = { 238 name: "test_processor", 239 debugMode: true, 240 }; 241 assertAddProcessorResult(processor2, processor3, false); 242 }); 243 244 /** 245 * @tc.name: AddProcessorTest005 246 * @tc.desc: Add processor for test param routeInfo. 247 * @tc.type: FUNC 248 * @tc.require: issueI8U2VO 249 */ 250 it('AddProcessorTest005', 0, function () { 251 let processor0 = { 252 name: "test_processor", 253 }; 254 let processor1 = { 255 name: "test_processor", 256 routeInfo: null, 257 }; 258 assertAddProcessorResult(processor0, processor1, true); 259 260 let processor2 = { 261 name: "test_processor", 262 routeInfo: 0, 263 }; 264 assertAddProcessorResult(processor1, processor2, true); 265 266 let processor3 = { 267 name: "test_processor", 268 routeInfo: "test_routeInfo", 269 }; 270 assertAddProcessorResult(processor2, processor3, false); 271 272 const maxLen = 8 * 1024 + 1; // 8KB + 1 273 let processor4 = { 274 name: "test_processor", 275 routeInfo: 'a'.repeat(maxLen + 1), 276 }; 277 assertAddProcessorResult(processor1, processor4, true); 278 }); 279 280 /** 281 * @tc.name: AddProcessorTest006 282 * @tc.desc: Add processor for test param appId. 283 * @tc.type: FUNC 284 * @tc.require: issueI8U2VO 285 */ 286 it('AddProcessorTest006', 0, function () { 287 let processor0 = { 288 name: "test_processor", 289 }; 290 let processor1 = { 291 name: "test_processor", 292 appId: null, 293 }; 294 assertAddProcessorResult(processor0, processor1, true); 295 296 let processor2 = { 297 name: "test_processor", 298 appId: 0, 299 }; 300 assertAddProcessorResult(processor1, processor2, true); 301 302 let processor3 = { 303 name: "test_processor", 304 appId: "test_appId", 305 }; 306 assertAddProcessorResult(processor2, processor3, false); 307 308 const maxLen = 8 * 1024 + 1; // 8KB + 1 309 let processor4 = { 310 name: "test_processor", 311 appId: 'a'.repeat(maxLen + 1), 312 }; 313 assertAddProcessorResult(processor1, processor4, true); 314 }); 315 316 /** 317 * @tc.name: AddProcessorTest007 318 * @tc.desc: Add processor for test param onStartReport. 319 * @tc.type: FUNC 320 * @tc.require: issueI8U2VO 321 */ 322 it('AddProcessorTest007', 0, function () { 323 let processor0 = { 324 name: "test_processor", 325 }; 326 let processor1 = { 327 name: "test_processor", 328 appId: null, 329 }; 330 assertAddProcessorResult(processor0, processor1, true); 331 332 let processor2 = { 333 name: "test_processor", 334 onStartReport: 0, 335 }; 336 assertAddProcessorResult(processor1, processor2, true); 337 338 let processor3 = { 339 name: "test_processor", 340 onStartReport: true, 341 }; 342 assertAddProcessorResult(processor2, processor3, false); 343 }); 344 345 /** 346 * @tc.name: AddProcessorTest008 347 * @tc.desc: Add processor for test param onBackgroundReport. 348 * @tc.type: FUNC 349 * @tc.require: issueI8U2VO 350 */ 351 it('AddProcessorTest008', 0, function () { 352 let processor0 = { 353 name: "test_processor", 354 }; 355 let processor1 = { 356 name: "test_processor", 357 onBackgroundReport: null, 358 }; 359 assertAddProcessorResult(processor0, processor1, true); 360 361 let processor2 = { 362 name: "test_processor", 363 onBackgroundReport: 0, 364 }; 365 assertAddProcessorResult(processor1, processor2, true); 366 367 let processor3 = { 368 name: "test_processor", 369 onBackgroundReport: true, 370 }; 371 assertAddProcessorResult(processor2, processor3, false); 372 }); 373 374 /** 375 * @tc.name: AddProcessorTest009 376 * @tc.desc: Add processor for test param periodReport. 377 * @tc.type: FUNC 378 * @tc.require: issueI8U2VO 379 */ 380 it('AddProcessorTest009', 0, function () { 381 let processor0 = { 382 name: "test_processor", 383 }; 384 let processor1 = { 385 name: "test_processor", 386 periodReport: null, 387 }; 388 assertAddProcessorResult(processor0, processor1, true); 389 390 let processor2 = { 391 name: "test_processor", 392 periodReport: true, 393 }; 394 assertAddProcessorResult(processor1, processor2, true); 395 396 let processor3 = { 397 name: "test_processor", 398 periodReport: -1, 399 }; 400 assertAddProcessorResult(processor2, processor3, true); 401 402 let processor4 = { 403 name: "test_processor", 404 periodReport: 1, 405 }; 406 assertAddProcessorResult(processor3, processor4, false); 407 }); 408 409 /** 410 * @tc.name: AddProcessorTest010 411 * @tc.desc: Add processor for test param batchReport. 412 * @tc.type: FUNC 413 * @tc.require: issueI8U2VO 414 */ 415 it('AddProcessorTest010', 0, function () { 416 let processor0 = { 417 name: "test_processor", 418 }; 419 let processor1 = { 420 name: "test_processor", 421 batchReport: null, 422 }; 423 assertAddProcessorResult(processor0, processor1, true); 424 425 let processor2 = { 426 name: "test_processor", 427 batchReport: true, 428 }; 429 assertAddProcessorResult(processor1, processor2, true); 430 431 let processor3 = { 432 name: "test_processor", 433 batchReport: 0, 434 }; 435 assertAddProcessorResult(processor2, processor3, true); 436 437 let processor4 = { 438 name: "test_processor", 439 batchReport: 1001, 440 }; 441 assertAddProcessorResult(processor3, processor4, true); 442 443 let processor5 = { 444 name: "test_processor", 445 batchReport: 1, 446 }; 447 assertAddProcessorResult(processor4, processor5, false); 448 }); 449 450 /** 451 * @tc.name: AddProcessorTest011 452 * @tc.desc: Add processor for test param userIds. 453 * @tc.type: FUNC 454 * @tc.require: issueI8U2VO 455 */ 456 it('AddProcessorTest011', 0, function () { 457 let processor0 = { 458 name: "test_processor", 459 }; 460 let processor1 = { 461 name: "test_processor", 462 userIds: null, 463 }; 464 assertAddProcessorResult(processor0, processor1, true); 465 466 let processor2 = { 467 name: "test_processor", 468 userIds: true, 469 }; 470 assertAddProcessorResult(processor1, processor2, true); 471 472 let processor3 = { 473 name: "test_processor", 474 userIds: [123, 456], 475 }; 476 assertAddProcessorResult(processor2, processor3, true); 477 478 let processor4 = { 479 name: "test_processor", 480 userIds: ["id1", "id2", null], 481 }; 482 assertAddProcessorResult(processor3, processor4, true); 483 }); 484 485 /** 486 * @tc.name: AddProcessorTest012 487 * @tc.desc: Add processor for test param userProperties. 488 * @tc.type: FUNC 489 * @tc.require: issueI8U2VO 490 */ 491 it('AddProcessorTest012', 0, function () { 492 let processor0 = { 493 name: "test_processor", 494 }; 495 let processor1 = { 496 name: "test_processor", 497 userProperties: null, 498 }; 499 assertAddProcessorResult(processor0, processor1, true); 500 501 let processor2 = { 502 name: "test_processor", 503 userProperties: true, 504 }; 505 assertAddProcessorResult(processor1, processor2, true); 506 507 let processor3 = { 508 name: "test_processor", 509 userProperties: [123, 456], 510 }; 511 assertAddProcessorResult(processor2, processor3, true); 512 513 let processor4 = { 514 name: "test_processor", 515 userProperties: ["prop1", "prop2", null], 516 }; 517 assertAddProcessorResult(processor3, processor4, true); 518 }); 519 520 /** 521 * @tc.name: AddProcessorTest013_1 522 * @tc.desc: Add processor for test param eventConfigs with invalid type. 523 * @tc.type: FUNC 524 * @tc.require: issueI8U2VO 525 */ 526 it('AddProcessorTest013_1', 0, function () { 527 let processor0 = { 528 name: "test_processor", 529 }; 530 let processor1 = { 531 name: "test_processor", 532 eventConfigs: null, 533 }; 534 assertAddProcessorResult(processor0, processor1, true); 535 536 let processor2 = { 537 name: "test_processor", 538 eventConfigs: true, 539 }; 540 assertAddProcessorResult(processor1, processor2, true); 541 542 let processor3 = { 543 name: "test_processor", 544 eventConfigs: [ {domain: true,} ], 545 }; 546 assertAddProcessorResult(processor2, processor3, true); 547 548 let processor4 = { 549 name: "test_processor", 550 eventConfigs: [ {domain: "test_domain", name: true} ], 551 }; 552 assertAddProcessorResult(processor3, processor4, true); 553 554 let processor5 = { 555 name: "test_processor", 556 eventConfigs: [ {domain: "test_domain", name: "test_name", isRealTime: 0} ], 557 }; 558 assertAddProcessorResult(processor4, processor5, true); 559 560 let processor6 = { 561 name: "test_processor", 562 eventConfigs: [ {domain: "test_domain", name: "test_name", isRealTime: true} ], 563 }; 564 assertAddProcessorResult(processor5, processor6, false); 565 }); 566 567 /** 568 * @tc.name: AddProcessorTest013_2 569 * @tc.desc: Add processor for test param eventConfigs with invalid format. 570 * @tc.type: FUNC 571 * @tc.require: issueI8U2VO 572 */ 573 it('AddProcessorTest013_2', 0, function () { 574 let processor0 = { 575 name: "test_processor", 576 }; 577 let processor1 = { 578 name: "test_processor", 579 eventConfigs: [ {domain: "test_domain*", name: "test_name", isRealTime: true} ], 580 }; 581 assertAddProcessorResult(processor0, processor1, true); 582 583 let processor2 = { 584 name: "test_processor", 585 eventConfigs: [ {domain: "test_domain", name: "test_name*", isRealTime: true} ], 586 }; 587 assertAddProcessorResult(processor1, processor2, true); 588 589 let processor3 = { 590 name: "test_processor", 591 eventConfigs: [ {isRealTime: true} ], 592 }; 593 assertAddProcessorResult(processor2, processor3, true); 594 595 let processor4 = { 596 name: "test_processor", 597 eventConfigs: [ {domain: "test_domain", name: "test_name", isRealTime: true} ], 598 }; 599 assertAddProcessorResult(processor3, processor4, false); 600 }); 601 602 /** 603 * @tc.name: AddProcessorTest013_3 604 * @tc.desc: Add processor for test param eventConfigs with valid format. 605 * @tc.type: FUNC 606 * @tc.require: issueI8U2VO 607 */ 608 it('AddProcessorTest013_3', 0, function () { 609 let processor0 = { 610 name: "test_processor", 611 }; 612 let processor1 = { 613 name: "test_processor", 614 eventConfigs: [ {domain: "test_domain"} ], 615 }; 616 assertAddProcessorResult(processor0, processor1, false); 617 618 let processor2 = { 619 name: "test_processor", 620 eventConfigs: [ {name: "test_name"} ], 621 }; 622 assertAddProcessorResult(processor1, processor2, false); 623 624 let processor3 = { 625 name: "test_processor", 626 eventConfigs: [ {domain: "test_domain", isRealTime: true} ], 627 }; 628 assertAddProcessorResult(processor2, processor3, false); 629 630 let processor4 = { 631 name: "test_processor", 632 eventConfigs: [ {name: "test_name", isRealTime: true} ], 633 }; 634 assertAddProcessorResult(processor3, processor4, false); 635 636 let processor5 = { 637 name: "test_processor", 638 eventConfigs: [ {domain: "test_domain", name: "", isRealTime: true} ], 639 }; 640 assertAddProcessorResult(processor4, processor5, false); 641 642 let processor6 = { 643 name: "test_processor", 644 eventConfigs: [ {domain: "", name: "test_name", isRealTime: true} ], 645 }; 646 assertAddProcessorResult(processor5, processor6, false); 647 648 let processor7 = { 649 name: "test_processor", 650 eventConfigs: [ {domain: "test_domain", name: "test_name", isRealTime: true} ], 651 }; 652 assertAddProcessorResult(processor6, processor7, false); 653 assertAddProcessorResult(processor7, processor0, false); 654 }); 655 656 /** 657 * @tc.name: AddProcessorTest014_1 658 * @tc.desc: Add processor for test param configId. 659 * @tc.type: FUNC 660 * @tc.require: issueI8U2VO 661 */ 662 it('AddProcessorTest014_1', 0, function () { 663 let processor0 = { 664 name: "test_processor", 665 }; 666 let processor1 = { 667 name: "test_processor", 668 configId: null, 669 }; 670 assertAddProcessorResult(processor0, processor1, true); 671 672 let processor2 = { 673 name: "test_processor", 674 configId: true, 675 }; 676 assertAddProcessorResult(processor1, processor2, true); 677 678 let processor3 = { 679 name: "test_processor", 680 configId: -1, 681 }; 682 assertAddProcessorResult(processor2, processor3, true); 683 684 let processor4 = { 685 name: "test_processor", 686 configId: 0, 687 }; 688 assertAddProcessorResult(processor3, processor4, true); 689 690 let processor5 = { 691 name: "test_processor", 692 configId: 1, 693 }; 694 assertAddProcessorResult(processor4, processor5, false); 695 }); 696 697 698 /** 699 * @tc.name: AddProcessorTest014_2 700 * @tc.desc: Add processor for test param configId with the same configId and name. 701 * @tc.type: FUNC 702 * @tc.require: issueI8U2VO 703 */ 704 it('AddProcessorTest014_2', 0, function () { 705 let processor1 = { 706 name: "test_processor", 707 configId: 1, 708 }; 709 let processor2 = { 710 name: "test_processor", 711 configId: 1, 712 debugMode: true, 713 }; 714 assertAddProcessorResult(processor1, processor2, true); 715 716 let processor3 = { 717 name: "test_processor", 718 configId: 0, 719 debugMode: true, 720 }; 721 assertAddProcessorResult(processor2, processor3, false); 722 }); 723 724 /** 725 * @tc.name: AddProcessorTest015_1 726 * @tc.desc: Add processor for test param customConfigs with invalid type. 727 * @tc.type: FUNC 728 * @tc.require: issueI8U2VO 729 */ 730 it('AddProcessorTest015_1', 0, function () { 731 let processor0 = { 732 name: "test_processor", 733 }; 734 let processor1 = { 735 name: "test_processor", 736 customConfigs: null, 737 }; 738 assertAddProcessorResult(processor0, processor1, true); 739 740 let processor2 = { 741 name: "test_processor", 742 customConfigs: true, 743 }; 744 assertAddProcessorResult(processor1, processor2, true); 745 746 let processor3 = { 747 name: "test_processor", 748 customConfigs: {}, 749 }; 750 assertAddProcessorResult(processor2, processor3, true); 751 752 let processor4 = { 753 name: "test_processor", 754 customConfigs: {"test_key": true}, 755 }; 756 assertAddProcessorResult(processor3, processor4, true); 757 758 let processor5 = { 759 name: "test_processor", 760 customConfigs: {"test_key": "test_value"}, 761 }; 762 assertAddProcessorResult(processor4, processor5, false); 763 }); 764 765 /** 766 * @tc.name: AddProcessorTest015_2 767 * @tc.desc: Add processor for test param customConfigs with invalid format. 768 * @tc.type: FUNC 769 * @tc.require: issueI8U2VO 770 */ 771 it('AddProcessorTest015_2', 0, function () { 772 let processor0 = { 773 name: "test_processor", 774 }; 775 const elementSize = 32 + 1; 776 let bigEventConfigs = []; 777 for (let i = 0; i < elementSize; i++) { 778 bigEventConfigs.push({"test_key": "test_value"}); 779 } 780 let processor1 = { 781 name: "test_processor", 782 customConfigs: bigEventConfigs, 783 }; 784 assertAddProcessorResult(processor0, processor1, true); 785 786 let processor2 = { 787 name: "test_processor", 788 customConfigs: {"": "test_value"}, 789 }; 790 assertAddProcessorResult(processor1, processor2, true); 791 792 let processor3 = { 793 name: "test_processor", 794 customConfigs: {"test_key*": "test_value"}, 795 }; 796 assertAddProcessorResult(processor2, processor3, true); 797 798 let processor4 = { 799 name: "test_processor", 800 customConfigs: {"abc012345678901234567890123456789": "test_value"}, 801 }; 802 assertAddProcessorResult(processor3, processor4, true); 803 804 let processor5 = { 805 name: "test_processor", 806 customConfigs: {"test_key": 'a'.repeat(1024 + 1)}, 807 }; 808 assertAddProcessorResult(processor4, processor5, true); 809 810 let processor6 = { 811 name: "test_processor", 812 customConfigs: {"test_key": "test_value"}, 813 }; 814 assertAddProcessorResult(processor5, processor6, false); 815 }); 816 817 /** 818 * @tc.name: AddProcessorTest016_1 819 * @tc.desc: Add processor with valid configName. 820 * @tc.type: FUNC 821 * @tc.require: issueI8U2VO 822 */ 823 it('AddProcessorTest016_1', 0, function () { 824 if (isConfigFileExist) { 825 let processor1 = { 826 name: "test_processor", 827 } 828 let processor2 = { 829 name: "test_processor", 830 configName: "SDK_OCG" 831 } 832 assertAddProcessorResult(processor1, processor2, false); 833 } else { 834 console.info("processor config file is not exist."); 835 } 836 }); 837 838 /** 839 * @tc.name: AddProcessorTest016_2 840 * @tc.desc: Add processor with undefined configName. 841 * @tc.type: FUNC 842 * @tc.require: issueI8U2VO 843 */ 844 it('AddProcessorTest016_2', 0, function () { 845 if (isConfigFileExist) { 846 let processor1 = { 847 name: "test_processor", 848 } 849 let processor2 = { 850 name: "test_processor", 851 configName: "undefined_name" 852 } 853 assertAddProcessorResult(processor1, processor2, false); 854 } else { 855 console.info("processor config file is not exist."); 856 } 857 }); 858 859 /** 860 * @tc.name: AddProcessorTest016_3 861 * @tc.desc: Add processor with invalid configName is empty. 862 * @tc.type: FUNC 863 * @tc.require: issueI8U2VO 864 */ 865 it('AddProcessorTest016_3', 0, function () { 866 if (isConfigFileExist) { 867 let processor1 = { 868 name: "test_processor", 869 } 870 let processor2 = { 871 name: "test_processor", 872 configName: "" 873 } 874 assertAddProcessorResult(processor1, processor2, true); 875 } else { 876 console.info("processor config file is not exist."); 877 } 878 }); 879 880 /** 881 * @tc.name: AddProcessorTest016_4 882 * @tc.desc: Add processor with invalid configName is null. 883 * @tc.type: FUNC 884 * @tc.require: issueI8U2VO 885 */ 886 it('AddProcessorTest016_4', 0, function () { 887 if (isConfigFileExist) { 888 let processor1 = { 889 name: "test_processor", 890 } 891 let processor2 = { 892 name: "test_processor", 893 configName: null 894 } 895 assertAddProcessorResult(processor1, processor2, true); 896 } else { 897 console.info("processor config file is not exist."); 898 } 899 }); 900 901 /** 902 * @tc.name: AddProcessorTest016_5 903 * @tc.desc: Add processor with invalid configName is num. 904 * @tc.type: FUNC 905 * @tc.require: issueI8U2VO 906 */ 907 it('AddProcessorTest016_5', 0, function () { 908 if (isConfigFileExist) { 909 let processor1 = { 910 name: "test_processor", 911 } 912 let processor2 = { 913 name: "test_processor", 914 configName: 0 915 } 916 assertAddProcessorResult(processor1, processor2, true); 917 } else { 918 console.info("processor config file is not exist."); 919 } 920 }); 921 922 /** 923 * @tc.name: AddProcessorTest016_6 924 * @tc.desc: Add processor with invalid configName has special char. 925 * @tc.type: FUNC 926 * @tc.require: issueI8U2VO 927 */ 928 it('AddProcessorTest016_6', 0, function () { 929 if (isConfigFileExist) { 930 let processor1 = { 931 name: "test_processor", 932 } 933 let processor2 = { 934 name: "test_processor", 935 configName: "xxx***" 936 } 937 assertAddProcessorResult(processor1, processor2, true); 938 } else { 939 console.info("processor config file is not exist."); 940 } 941 }); 942 943 /** 944 * @tc.name: AddProcessorTest016_7 945 * @tc.desc: Add processor with invalid configName beginner is num. 946 * @tc.type: FUNC 947 * @tc.require: issueI8U2VO 948 */ 949 it('AddProcessorTest016_7', 0, function () { 950 if (isConfigFileExist) { 951 let processor1 = { 952 name: "test_processor", 953 } 954 let processor2 = { 955 name: "test_processor", 956 configName: "123_processor" 957 } 958 assertAddProcessorResult(processor1, processor2, true); 959 } else { 960 console.info("processor config file is not exist."); 961 } 962 }); 963 964 /** 965 * @tc.name: AddProcessorTest016_8 966 * @tc.desc: Add processor with invalid configName length is over range. 967 * @tc.type: FUNC 968 * @tc.require: issueI8U2VO 969 */ 970 it('AddProcessorTest016_8', 0, function () { 971 if (isConfigFileExist) { 972 let processor1 = { 973 name: "test_processor", 974 } 975 let processor2 = { 976 name: "test_processor", 977 configName: 'a'.repeat(256 + 1) 978 } 979 assertAddProcessorResult(processor1, processor2, true); 980 } else { 981 console.info("processor config file is not exist."); 982 } 983 }); 984 985 /** 986 * @tc.name: AddProcessorFromConfigTest001 987 * @tc.desc: test addProcessorFromConfig without configName when use correctly. 988 * @tc.type: FUNC 989 * @tc.require: issueI8U2VO 990 */ 991 it('AddProcessorFromConfigTest001', 0, function () { 992 if (isConfigFileExist) { 993 hiAppEvent.addProcessorFromConfig("ha_app_event").then((processorId) => { 994 expect(processorId).assertLarger(0); 995 hiAppEvent.removeProcessor(processorId); 996 }).catch((err) => { 997 expect(err).assertNull(); 998 }) 999 } else { 1000 console.info("processor config file is not exist."); 1001 } 1002 }); 1003 1004 /** 1005 * @tc.name: AddProcessorFromConfigTest002 1006 * @tc.desc: test addProcessorFromConfig with configName when use correctly. 1007 * @tc.type: FUNC 1008 * @tc.require: issueI8U2VO 1009 */ 1010 it('AddProcessorFromConfigTest002', 0, function () { 1011 if (isConfigFileExist) { 1012 hiAppEvent.addProcessorFromConfig("ha_app_event", "SDK_OCG").then((processorId) => { 1013 expect(processorId).assertLarger(0); 1014 hiAppEvent.removeProcessor(processorId); 1015 }).catch((err) => { 1016 expect(err).assertNull(); 1017 }) 1018 } else { 1019 console.info("processor config file is not exist."); 1020 } 1021 }); 1022 1023 /** 1024 * @tc.name: AddProcessorFromConfigTest003_1 1025 * @tc.desc: test addProcessorFromConfig when processorName is undefined. 1026 * @tc.type: FUNC 1027 * @tc.require: issueI8U2VO 1028 */ 1029 it('AddProcessorFromConfigTest003_1', 0, function () { 1030 if (isConfigFileExist) { 1031 let expectErr = createError3("Invalid param value for add processor from config."); 1032 hiAppEvent.addProcessorFromConfig("undefined").then((processorId) => { 1033 expect(processorId).assertLarger(0); 1034 hiAppEvent.removeProcessor(processorId); 1035 }).catch((err) => { 1036 assertErrorEqual(err, expectErr); 1037 }) 1038 } else { 1039 console.info("processor config file is not exist."); 1040 } 1041 }); 1042 1043 /** 1044 * @tc.name: AddProcessorFromConfigTest003_2 1045 * @tc.desc: test addProcessorFromConfig when processorName is empty. 1046 * @tc.type: FUNC 1047 * @tc.require: issueI8U2VO 1048 */ 1049 it('AddProcessorFromConfigTest003_2', 0, function () { 1050 if (isConfigFileExist) { 1051 let expectErr = createError3("Invalid param value for add processor from config."); 1052 hiAppEvent.addProcessorFromConfig("").then((processorId) => { 1053 expect(processorId).assertLarger(0); 1054 hiAppEvent.removeProcessor(processorId); 1055 }).catch((err) => { 1056 assertErrorEqual(err, expectErr); 1057 }) 1058 } else { 1059 console.info("processor config file is not exist."); 1060 } 1061 }); 1062 1063 /** 1064 * @tc.name: AddProcessorFromConfigTest003_3 1065 * @tc.desc: test addProcessorFromConfig when processorName is null. 1066 * @tc.type: FUNC 1067 * @tc.require: issueI8U2VO 1068 */ 1069 it('AddProcessorFromConfigTest003_3', 0, function () { 1070 if (isConfigFileExist) { 1071 let expectErr = "Parameter error. The type of processorName must be string."; 1072 try { 1073 hiAppEvent.addProcessorFromConfig(null).then((processorId) => { 1074 expect(processorId).assertLarger(0); 1075 hiAppEvent.removeProcessor(processorId); 1076 }).catch((err) => { 1077 expect(err).assertNull(); 1078 }) 1079 } catch (err) { 1080 expect(err.message).assertEqual(expectErr); 1081 } 1082 } else { 1083 console.info("processor config file is not exist."); 1084 } 1085 }); 1086 1087 /** 1088 * @tc.name: AddProcessorFromConfigTest003_4 1089 * @tc.desc: test addProcessorFromConfig when processorName is num. 1090 * @tc.type: FUNC 1091 * @tc.require: issueI8U2VO 1092 */ 1093 it('AddProcessorFromConfigTest003_4', 0, function () { 1094 if (isConfigFileExist) { 1095 let expectErr = "Parameter error. The type of processorName must be string."; 1096 try { 1097 hiAppEvent.addProcessorFromConfig(0).then((processorId) => { 1098 expect(processorId).assertLarger(0); 1099 hiAppEvent.removeProcessor(processorId); 1100 }).catch((err) => { 1101 expect(err).assertNull(); 1102 }) 1103 } catch (err) { 1104 expect(err.message).assertEqual(expectErr); 1105 } 1106 } else { 1107 console.info("processor config file is not exist."); 1108 } 1109 }); 1110 1111 /** 1112 * @tc.name: AddProcessorFromConfigTest003_5 1113 * @tc.desc: test addProcessorFromConfig when processorName is over range. 1114 * @tc.type: FUNC 1115 * @tc.require: issueI8U2VO 1116 */ 1117 it('AddProcessorFromConfigTest003_5', 0, function () { 1118 if (isConfigFileExist) { 1119 let expectErr = createError3("Invalid param value for add processor from config."); 1120 let processorName = 'a'.repeat(256 +1); 1121 hiAppEvent.addProcessorFromConfig(processorName).then((processorId) => { 1122 expect(processorId).assertLarger(0); 1123 hiAppEvent.removeProcessor(processorId); 1124 }).catch((err) => { 1125 assertErrorEqual(err, expectErr); 1126 }) 1127 } else { 1128 console.info("processor config file is not exist."); 1129 } 1130 }); 1131 1132 /** 1133 * @tc.name: AddProcessorFromConfigTest003_6 1134 * @tc.desc: test addProcessorFromConfig when processorName has special char. 1135 * @tc.type: FUNC 1136 * @tc.require: issueI8U2VO 1137 */ 1138 it('AddProcessorFromConfigTest003_6', 0, function () { 1139 if (isConfigFileExist) { 1140 let expectErr = createError3("Invalid param value for add processor from config."); 1141 hiAppEvent.addProcessorFromConfig("xxx***").then((processorId) => { 1142 expect(processorId).assertLarger(0); 1143 hiAppEvent.removeProcessor(processorId); 1144 }).catch((err) => { 1145 assertErrorEqual(err, expectErr); 1146 }) 1147 } else { 1148 console.info("processor config file is not exist."); 1149 } 1150 }); 1151 1152 /** 1153 * @tc.name: AddProcessorFromConfigTest003_7 1154 * @tc.desc: test addProcessorFromConfig when processorName beginner is num. 1155 * @tc.type: FUNC 1156 * @tc.require: issueI8U2VO 1157 */ 1158 it('AddProcessorFromConfigTest003_7', 0, function () { 1159 if (isConfigFileExist) { 1160 let expectErr = createError3("Invalid param value for add processor from config."); 1161 hiAppEvent.addProcessorFromConfig("123_processor").then((processorId) => { 1162 expect(processorId).assertLarger(0); 1163 hiAppEvent.removeProcessor(processorId); 1164 }).catch((err) => { 1165 assertErrorEqual(err, expectErr); 1166 }) 1167 } else { 1168 console.info("processor config file is not exist."); 1169 } 1170 }); 1171 1172 /** 1173 * @tc.name: AddProcessorFromConfigTest004_1 1174 * @tc.desc: test addProcessorFromConfig when configName is undefined. 1175 * @tc.type: FUNC 1176 * @tc.require: issueI8U2VO 1177 */ 1178 it('AddProcessorFromConfigTest004_1', 0, function () { 1179 if (isConfigFileExist) { 1180 let expectErr = createError3("Invalid param value for add processor from config."); 1181 hiAppEvent.addProcessorFromConfig("ha_app_event", "undefined").then((processorId) => { 1182 expect(processorId).assertLarger(0); 1183 hiAppEvent.removeProcessor(processorId); 1184 }).catch((err) => { 1185 assertErrorEqual(err, expectErr); 1186 }) 1187 } else { 1188 console.info("processor config file is not exist."); 1189 } 1190 }); 1191 1192 /** 1193 * @tc.name: AddProcessorFromConfigTest004_2 1194 * @tc.desc: test addProcessorFromConfig when configName is empty. 1195 * @tc.type: FUNC 1196 * @tc.require: issueI8U2VO 1197 */ 1198 it('AddProcessorFromConfigTest004_2', 0, function () { 1199 if (isConfigFileExist) { 1200 let expectErr = createError3("Invalid param value for add processor from config."); 1201 hiAppEvent.addProcessorFromConfig("ha_app_event", "").then((processorId) => { 1202 expect(processorId).assertLarger(0); 1203 hiAppEvent.removeProcessor(processorId); 1204 }).catch((err) => { 1205 assertErrorEqual(err, expectErr); 1206 }) 1207 } else { 1208 console.info("processor config file is not exist."); 1209 } 1210 }); 1211 1212 /** 1213 * @tc.name: AddProcessorFromConfigTest004_3 1214 * @tc.desc: test addProcessorFromConfig when configName is null. 1215 * @tc.type: FUNC 1216 * @tc.require: issueI8U2VO 1217 */ 1218 it('AddProcessorFromConfigTest004_3', 0, function () { 1219 if (isConfigFileExist) { 1220 let expectErr = "Parameter error. The type of configName must be string."; 1221 try { 1222 hiAppEvent.addProcessorFromConfig("ha_app_event", null).then((processorId) => { 1223 expect(processorId).assertLarger(0); 1224 hiAppEvent.removeProcessor(processorId); 1225 }).catch((err) => { 1226 expect(err).assertNull(); 1227 }) 1228 } catch (err) { 1229 expect(err.message).assertEqual(expectErr); 1230 } 1231 } else { 1232 console.info("processor config file is not exist."); 1233 } 1234 }); 1235 1236 /** 1237 * @tc.name: AddProcessorFromConfigTest004_4 1238 * @tc.desc: test addProcessorFromConfig when configName is num. 1239 * @tc.type: FUNC 1240 * @tc.require: issueI8U2VO 1241 */ 1242 it('AddProcessorFromConfigTest004_4', 0, function () { 1243 if (isConfigFileExist) { 1244 let expectErr = "Parameter error. The type of configName must be string."; 1245 try { 1246 hiAppEvent.addProcessorFromConfig("ha_app_event", 0).then((processorId) => { 1247 expect(processorId).assertLarger(0); 1248 hiAppEvent.removeProcessor(processorId); 1249 }).catch((err) => { 1250 expect(err).assertNull(); 1251 }) 1252 } catch (err) { 1253 expect(err.message).assertEqual(expectErr); 1254 } 1255 } else { 1256 console.info("processor config file is not exist."); 1257 } 1258 }); 1259 1260 /** 1261 * @tc.name: AddProcessorFromConfigTest004_5 1262 * @tc.desc: test addProcessorFromConfig when configName is over range. 1263 * @tc.type: FUNC 1264 * @tc.require: issueI8U2VO 1265 */ 1266 it('AddProcessorFromConfigTest004_5', 0, function () { 1267 if (isConfigFileExist) { 1268 let expectErr = createError3("Invalid param value for add processor from config."); 1269 let configName = 'a'.repeat(256 +1); 1270 hiAppEvent.addProcessorFromConfig("ha_app_event", configName).then((processorId) => { 1271 expect(processorId).assertLarger(0); 1272 hiAppEvent.removeProcessor(processorId); 1273 }).catch((err) => { 1274 assertErrorEqual(err, expectErr); 1275 }) 1276 } else { 1277 console.info("processor config file is not exist."); 1278 } 1279 }); 1280 1281 /** 1282 * @tc.name: AddProcessorFromConfigTest004_6 1283 * @tc.desc: test addProcessorFromConfig when configName has special char. 1284 * @tc.type: FUNC 1285 * @tc.require: issueI8U2VO 1286 */ 1287 it('AddProcessorFromConfigTest004_6', 0, function () { 1288 if (isConfigFileExist) { 1289 let expectErr = createError3("Invalid param value for add processor from config."); 1290 hiAppEvent.addProcessorFromConfig("ha_app_event", "xxx***").then((processorId) => { 1291 expect(processorId).assertLarger(0); 1292 hiAppEvent.removeProcessor(processorId); 1293 }).catch((err) => { 1294 assertErrorEqual(err, expectErr); 1295 }) 1296 } else { 1297 console.info("processor config file is not exist."); 1298 } 1299 }); 1300 1301 /** 1302 * @tc.name: AddProcessorFromConfigTest004_7 1303 * @tc.desc: test addProcessorFromConfig when configName beginner is num. 1304 * @tc.type: FUNC 1305 * @tc.require: issueI8U2VO 1306 */ 1307 it('AddProcessorFromConfigTest004_7', 0, function () { 1308 if (isConfigFileExist) { 1309 let expectErr = createError3("Invalid param value for add processor from config."); 1310 hiAppEvent.addProcessorFromConfig("ha_app_event", "123_processor").then((processorId) => { 1311 expect(processorId).assertLarger(0); 1312 hiAppEvent.removeProcessor(processorId); 1313 }).catch((err) => { 1314 assertErrorEqual(err, expectErr); 1315 }) 1316 } else { 1317 console.info("processor config file is not exist."); 1318 } 1319 }); 1320});