1fb726d48Sopenharmony_ci/* 2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License. 5fb726d48Sopenharmony_ci * You may obtain a copy of the License at 6fb726d48Sopenharmony_ci * 7fb726d48Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fb726d48Sopenharmony_ci * 9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and 13fb726d48Sopenharmony_ci * limitations under the License. 14fb726d48Sopenharmony_ci */ 15fb726d48Sopenharmony_ci 16fb726d48Sopenharmony_ciimport { 17fb726d48Sopenharmony_ci systemDataSql, 18fb726d48Sopenharmony_ci chartEnergyAnomalyDataSql, 19fb726d48Sopenharmony_ci queryPowerValueSql, 20fb726d48Sopenharmony_ci queryStateDataSql, 21fb726d48Sopenharmony_ci queryStateProtoDataSql, 22fb726d48Sopenharmony_ci energySysEventReceiver, 23fb726d48Sopenharmony_ci hiSysEnergyAnomalyDataReceiver, 24fb726d48Sopenharmony_ci hiSysEnergyStateReceiver, 25fb726d48Sopenharmony_ci hiSysEnergyPowerReceiver 26fb726d48Sopenharmony_ci} from '../../../../src/trace/database/data-trafic/EnergySysEventReceiver'; 27fb726d48Sopenharmony_ciimport { TraficEnum } from '../../../../src/trace/database/data-trafic/utils/QueryEnum'; 28fb726d48Sopenharmony_ci 29fb726d48Sopenharmony_cidescribe('EnergySysEventReceiver Test', () => { 30fb726d48Sopenharmony_ci let data; 31fb726d48Sopenharmony_ci let proc; 32fb726d48Sopenharmony_ci beforeEach(() => { 33fb726d48Sopenharmony_ci data = { 34fb726d48Sopenharmony_ci params: { 35fb726d48Sopenharmony_ci trafic: TraficEnum.ProtoBuffer, 36fb726d48Sopenharmony_ci sharedArrayBuffers: { 37fb726d48Sopenharmony_ci id: new Uint16Array([1, 2, 3]), 38fb726d48Sopenharmony_ci }, 39fb726d48Sopenharmony_ci }, 40fb726d48Sopenharmony_ci }; 41fb726d48Sopenharmony_ci proc = jest.fn((sql) => [ 42fb726d48Sopenharmony_ci {energyData: {id: 1, startNs: 4.4, eventName: '', appKey: '', eventValue: ''}}, 43fb726d48Sopenharmony_ci {energyData: {id: 2, startNs: 5.5, eventName: '', appKey: '', eventValue: ''}}, 44fb726d48Sopenharmony_ci {energyData: {id: 3, startNs: 5.5, eventName: '', appKey: '', eventValue: ''}}, 45fb726d48Sopenharmony_ci {energyData: {id: 4, startNs: 5.5, eventName: '', appKey: '', eventValue: ''}}, 46fb726d48Sopenharmony_ci {energyData: {id: 5, startNs: 5.5, eventName: '', appKey: '', eventValue: ''}}, 47fb726d48Sopenharmony_ci ]); 48fb726d48Sopenharmony_ci }); 49fb726d48Sopenharmony_ci it('EnergySysEventReceiverTest01', () => { 50fb726d48Sopenharmony_ci let args = { 51fb726d48Sopenharmony_ci recordStartNS: 1000, 52fb726d48Sopenharmony_ci endNS: 3000, 53fb726d48Sopenharmony_ci startNS: 2000, 54fb726d48Sopenharmony_ci width: 10 55fb726d48Sopenharmony_ci }; 56fb726d48Sopenharmony_ci expect(systemDataSql(args)).toBeTruthy(); 57fb726d48Sopenharmony_ci expect(chartEnergyAnomalyDataSql(args)).toBeTruthy(); 58fb726d48Sopenharmony_ci expect(queryPowerValueSql(args)).toBeTruthy(); 59fb726d48Sopenharmony_ci expect(queryStateDataSql(args)).toBeTruthy(); 60fb726d48Sopenharmony_ci expect(queryStateProtoDataSql(args)).toBeTruthy(); 61fb726d48Sopenharmony_ci }); 62fb726d48Sopenharmony_ci it('EnergySysEventReceiverTest02', () => { 63fb726d48Sopenharmony_ci let mockPostMessage = jest.fn(); 64fb726d48Sopenharmony_ci global.postMessage = mockPostMessage; 65fb726d48Sopenharmony_ci hiSysEnergyAnomalyDataReceiver(data, proc); 66fb726d48Sopenharmony_ci hiSysEnergyPowerReceiver(data, proc); 67fb726d48Sopenharmony_ci hiSysEnergyStateReceiver(data, proc); 68fb726d48Sopenharmony_ci expect(mockPostMessage).toHaveBeenCalledTimes(3); 69fb726d48Sopenharmony_ci }); 70fb726d48Sopenharmony_ci it('EnergySysEventReceiverTest03', () => { 71fb726d48Sopenharmony_ci let systemData = { 72fb726d48Sopenharmony_ci params: { 73fb726d48Sopenharmony_ci trafic: TraficEnum.ProtoBuffer, 74fb726d48Sopenharmony_ci sharedArrayBuffers: { 75fb726d48Sopenharmony_ci id: new Uint16Array([1, 2, 3]), 76fb726d48Sopenharmony_ci }, 77fb726d48Sopenharmony_ci }, 78fb726d48Sopenharmony_ci }; 79fb726d48Sopenharmony_ci let systemEventvalue = { 80fb726d48Sopenharmony_ci 'LOG_LEVEL': 2, 81fb726d48Sopenharmony_ci 'MESSAGE': 'token=548210734912', 82fb726d48Sopenharmony_ci 'NAME': 'backGround', 83fb726d48Sopenharmony_ci 'PID': 4192, 84fb726d48Sopenharmony_ci 'STATE': 1, 85fb726d48Sopenharmony_ci 'TAG': 'DUBAI_TAG_RUNNINGLOCK_ADD', 86fb726d48Sopenharmony_ci 'TYPE': 1, 87fb726d48Sopenharmony_ci 'UID': 20010034 88fb726d48Sopenharmony_ci }; 89fb726d48Sopenharmony_ci let systemEventvalueJson = JSON.stringify(systemEventvalue); 90fb726d48Sopenharmony_ci let systemProc = jest.fn((sql) => [ 91fb726d48Sopenharmony_ci { 92fb726d48Sopenharmony_ci energyData: { 93fb726d48Sopenharmony_ci id: 1, 94fb726d48Sopenharmony_ci startNs: 4.4, 95fb726d48Sopenharmony_ci eventName: 'POWER_RUNNINGLOCK', 96fb726d48Sopenharmony_ci appKey: '1', 97fb726d48Sopenharmony_ci eventValue: systemEventvalueJson 98fb726d48Sopenharmony_ci } 99fb726d48Sopenharmony_ci }, 100fb726d48Sopenharmony_ci ]); 101fb726d48Sopenharmony_ci let mockPostMessage = jest.fn(); 102fb726d48Sopenharmony_ci global.postMessage = mockPostMessage; 103fb726d48Sopenharmony_ci energySysEventReceiver(systemData, systemProc); 104fb726d48Sopenharmony_ci expect(mockPostMessage).toHaveBeenCalledTimes(1); 105fb726d48Sopenharmony_ci }); 106fb726d48Sopenharmony_ci it('EnergySysEventReceiverTest04', () => { 107fb726d48Sopenharmony_ci let systemData = { 108fb726d48Sopenharmony_ci params: { 109fb726d48Sopenharmony_ci trafic: TraficEnum.ProtoBuffer, 110fb726d48Sopenharmony_ci sharedArrayBuffers: { 111fb726d48Sopenharmony_ci id: new Uint16Array([1, 2, 3]), 112fb726d48Sopenharmony_ci }, 113fb726d48Sopenharmony_ci }, 114fb726d48Sopenharmony_ci }; 115fb726d48Sopenharmony_ci let systemEventvalue = { 116fb726d48Sopenharmony_ci 'LOG_LEVEL': 2, 117fb726d48Sopenharmony_ci 'MESSAGE': 'token=548210734912', 118fb726d48Sopenharmony_ci 'NAME': 'backGround', 119fb726d48Sopenharmony_ci 'PID': 4192, 120fb726d48Sopenharmony_ci 'STATE': 1, 121fb726d48Sopenharmony_ci 'TAG': 'DUBAI_TAG_RUNNINGLOCK', 122fb726d48Sopenharmony_ci 'TYPE': 1, 123fb726d48Sopenharmony_ci 'UID': 20010034 124fb726d48Sopenharmony_ci }; 125fb726d48Sopenharmony_ci let systemEventvalueJson = JSON.stringify(systemEventvalue); 126fb726d48Sopenharmony_ci let systemProc = jest.fn((sql) => [ 127fb726d48Sopenharmony_ci { 128fb726d48Sopenharmony_ci energyData: { 129fb726d48Sopenharmony_ci id: 1, 130fb726d48Sopenharmony_ci startNs: 4.4, 131fb726d48Sopenharmony_ci eventName: 'POWER_RUNNINGLOCK', 132fb726d48Sopenharmony_ci appKey: '1', 133fb726d48Sopenharmony_ci eventValue: systemEventvalueJson 134fb726d48Sopenharmony_ci } 135fb726d48Sopenharmony_ci }, 136fb726d48Sopenharmony_ci ]); 137fb726d48Sopenharmony_ci let mockPostMessage = jest.fn(); 138fb726d48Sopenharmony_ci global.postMessage = mockPostMessage; 139fb726d48Sopenharmony_ci energySysEventReceiver(systemData, systemProc); 140fb726d48Sopenharmony_ci expect(mockPostMessage).toHaveBeenCalledTimes(1); 141fb726d48Sopenharmony_ci }); 142fb726d48Sopenharmony_ci it('EnergySysEventReceiverTest05', () => { 143fb726d48Sopenharmony_ci let systemData = { 144fb726d48Sopenharmony_ci params: { 145fb726d48Sopenharmony_ci trafic: TraficEnum.ProtoBuffer, 146fb726d48Sopenharmony_ci sharedArrayBuffers: { 147fb726d48Sopenharmony_ci id: new Uint16Array([1, 2, 3]), 148fb726d48Sopenharmony_ci }, 149fb726d48Sopenharmony_ci }, 150fb726d48Sopenharmony_ci }; 151fb726d48Sopenharmony_ci let systemEventvalue = { 152fb726d48Sopenharmony_ci 'LOG_LEVEL': 2, 153fb726d48Sopenharmony_ci 'MESSAGE': 'token=548210734912', 154fb726d48Sopenharmony_ci 'NAME': 'backGround', 155fb726d48Sopenharmony_ci 'PID': 4192, 156fb726d48Sopenharmony_ci 'STATE': 'stop', 157fb726d48Sopenharmony_ci 'TAG': 'DUBAI_TAG_RUNNINGLOCK', 158fb726d48Sopenharmony_ci 'TYPE': 1, 159fb726d48Sopenharmony_ci 'UID': 20010034 160fb726d48Sopenharmony_ci }; 161fb726d48Sopenharmony_ci let systemEventvalueJson = JSON.stringify(systemEventvalue); 162fb726d48Sopenharmony_ci let systemProc = jest.fn((sql) => [ 163fb726d48Sopenharmony_ci {energyData: {id: 1, startNs: 4.4, eventName: 'GNSS_STATE', appKey: '1', eventValue: systemEventvalueJson}}, 164fb726d48Sopenharmony_ci ]); 165fb726d48Sopenharmony_ci let mockPostMessage = jest.fn(); 166fb726d48Sopenharmony_ci global.postMessage = mockPostMessage; 167fb726d48Sopenharmony_ci energySysEventReceiver(systemData, systemProc); 168fb726d48Sopenharmony_ci expect(mockPostMessage).toHaveBeenCalledTimes(1); 169fb726d48Sopenharmony_ci }); 170fb726d48Sopenharmony_ci it('EnergySysEventReceiverTest06', () => { 171fb726d48Sopenharmony_ci let systemData = { 172fb726d48Sopenharmony_ci params: { 173fb726d48Sopenharmony_ci trafic: TraficEnum.ProtoBuffer, 174fb726d48Sopenharmony_ci sharedArrayBuffers: { 175fb726d48Sopenharmony_ci id: new Uint16Array([1, 2, 3]), 176fb726d48Sopenharmony_ci }, 177fb726d48Sopenharmony_ci }, 178fb726d48Sopenharmony_ci }; 179fb726d48Sopenharmony_ci let systemEventvalue = { 180fb726d48Sopenharmony_ci 'LOG_LEVEL': 2, 181fb726d48Sopenharmony_ci 'MESSAGE': 'token=548210734912', 182fb726d48Sopenharmony_ci 'NAME': 'backGround', 183fb726d48Sopenharmony_ci 'PID': 4192, 184fb726d48Sopenharmony_ci 'STATE': 'stop', 185fb726d48Sopenharmony_ci 'TAG': 'DUBAI_TAG_RUNNINGLOCK', 186fb726d48Sopenharmony_ci 'TYPE': 1, 187fb726d48Sopenharmony_ci 'UID': 20010034 188fb726d48Sopenharmony_ci }; 189fb726d48Sopenharmony_ci let systemEventvalueJson = JSON.stringify(systemEventvalue); 190fb726d48Sopenharmony_ci let systemProc = jest.fn((sql) => [ 191fb726d48Sopenharmony_ci {energyData: {id: 1, startNs: 4.4, eventName: 'GNSS_STATE', appKey: '1', eventValue: systemEventvalueJson}}, 192fb726d48Sopenharmony_ci ]); 193fb726d48Sopenharmony_ci let mockPostMessage = jest.fn(); 194fb726d48Sopenharmony_ci global.postMessage = mockPostMessage; 195fb726d48Sopenharmony_ci energySysEventReceiver(systemData, systemProc); 196fb726d48Sopenharmony_ci expect(mockPostMessage).toHaveBeenCalledTimes(1); 197fb726d48Sopenharmony_ci }); 198fb726d48Sopenharmony_ci it('EnergySysEventReceiverTest07', () => { 199fb726d48Sopenharmony_ci let systemData = { 200fb726d48Sopenharmony_ci params: { 201fb726d48Sopenharmony_ci trafic: TraficEnum.ProtoBuffer, 202fb726d48Sopenharmony_ci sharedArrayBuffers: { 203fb726d48Sopenharmony_ci id: new Uint16Array([1, 2, 3]), 204fb726d48Sopenharmony_ci }, 205fb726d48Sopenharmony_ci }, 206fb726d48Sopenharmony_ci }; 207fb726d48Sopenharmony_ci let systemEventvalue = { 208fb726d48Sopenharmony_ci 'LOG_LEVEL': 2, 209fb726d48Sopenharmony_ci 'MESSAGE': 'token=548210734912', 210fb726d48Sopenharmony_ci 'NAME': 'WORK_START', 211fb726d48Sopenharmony_ci 'PID': 4192, 212fb726d48Sopenharmony_ci 'STATE': 'stop', 213fb726d48Sopenharmony_ci 'TAG': 'DUBAI_TAG_RUNNINGLOCK', 214fb726d48Sopenharmony_ci 'TYPE': 1, 215fb726d48Sopenharmony_ci 'UID': 20010034 216fb726d48Sopenharmony_ci }; 217fb726d48Sopenharmony_ci let systemEventvalueJson = JSON.stringify(systemEventvalue); 218fb726d48Sopenharmony_ci let systemProc = jest.fn((sql) => [ 219fb726d48Sopenharmony_ci {energyData: {id: 1, startNs: 4.4, eventName: 'WORK_START', appKey: '1', eventValue: systemEventvalueJson}}, 220fb726d48Sopenharmony_ci ]); 221fb726d48Sopenharmony_ci let mockPostMessage = jest.fn(); 222fb726d48Sopenharmony_ci global.postMessage = mockPostMessage; 223fb726d48Sopenharmony_ci energySysEventReceiver(systemData, systemProc); 224fb726d48Sopenharmony_ci expect(mockPostMessage).toHaveBeenCalledTimes(1); 225fb726d48Sopenharmony_ci }); 226fb726d48Sopenharmony_ci});