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 { TraceRow } from '../../../../src/trace/component/trace/base/TraceRow'; 17fb726d48Sopenharmony_ciimport { 18fb726d48Sopenharmony_ci energySysEventSender, 19fb726d48Sopenharmony_ci hiSysEnergyAnomalyDataSender, 20fb726d48Sopenharmony_ci hiSysEnergyPowerSender, 21fb726d48Sopenharmony_ci hiSysEnergyStateSender 22fb726d48Sopenharmony_ci} from '../../../../src/trace/database/data-trafic/EnergySysEventSender'; 23fb726d48Sopenharmony_ciimport { EnergySystemStruct } from '../../../../src/trace/database/ui-worker/ProcedureWorkerEnergySystem'; 24fb726d48Sopenharmony_ciimport { threadPool } from '../../../../src/trace/database/SqlLite'; 25fb726d48Sopenharmony_ciimport { EnergyAnomalyStruct } from '../../../../src/trace/database/ui-worker/ProcedureWorkerEnergyAnomaly'; 26fb726d48Sopenharmony_ciimport { EnergyPowerStruct } from '../../../../src/trace/database/ui-worker/ProcedureWorkerEnergyPower'; 27fb726d48Sopenharmony_ciimport { EnergyStateStruct } from '../../../../src/trace/database/ui-worker/ProcedureWorkerEnergyState'; 28fb726d48Sopenharmony_cijest.mock('../../../../src/js-heap/model/DatabaseStruct', () => {}); 29fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/ui-worker/ProcedureWorker', () => { 30fb726d48Sopenharmony_ci return {}; 31fb726d48Sopenharmony_ci}); 32fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/ui-worker/ProcedureWorkerSnapshot', () => { 33fb726d48Sopenharmony_ci return {}; 34fb726d48Sopenharmony_ci}); 35fb726d48Sopenharmony_cidescribe('EnergySysEventSender Test', () => { 36fb726d48Sopenharmony_ci let systemData = { 37fb726d48Sopenharmony_ci count: 2, 38fb726d48Sopenharmony_ci dataType: 1, 39fb726d48Sopenharmony_ci dur: 13200, 40fb726d48Sopenharmony_ci frame: 41fb726d48Sopenharmony_ci {x: 70, y: 45, width: 11, height: 10}, 42fb726d48Sopenharmony_ci id: 73, 43fb726d48Sopenharmony_ci startNs: 89300, 44fb726d48Sopenharmony_ci token: 54668, 45fb726d48Sopenharmony_ci type: 1 46fb726d48Sopenharmony_ci } 47fb726d48Sopenharmony_ci 48fb726d48Sopenharmony_ci let anomalyData = 49fb726d48Sopenharmony_ci { 50fb726d48Sopenharmony_ci id: 126, 51fb726d48Sopenharmony_ci startNs: 23840, 52fb726d48Sopenharmony_ci eventName: "ANOMALY_SCREEN_OFF_ENERGY", 53fb726d48Sopenharmony_ci appKey: "APPNAME", 54fb726d48Sopenharmony_ci eventValue: "bt_switch" 55fb726d48Sopenharmony_ci } 56fb726d48Sopenharmony_ci 57fb726d48Sopenharmony_ci let powerData = { 58fb726d48Sopenharmony_ci appKey: "APPNAME", 59fb726d48Sopenharmony_ci eventName: "POWER_IDE_BLUETOOTH", 60fb726d48Sopenharmony_ci eventValue: "bt_switch", 61fb726d48Sopenharmony_ci id: 8940, 62fb726d48Sopenharmony_ci startNS: 1110 63fb726d48Sopenharmony_ci } 64fb726d48Sopenharmony_ci 65fb726d48Sopenharmony_ci let stateData = { 66fb726d48Sopenharmony_ci dur: 3000, 67fb726d48Sopenharmony_ci frame: {x: 394, y: 5, width: 1, height: 30}, 68fb726d48Sopenharmony_ci id: 5807, 69fb726d48Sopenharmony_ci startNs: 49686, 70fb726d48Sopenharmony_ci type: "WIFI_EVENT_RECEIVED", 71fb726d48Sopenharmony_ci value: 4 72fb726d48Sopenharmony_ci } 73fb726d48Sopenharmony_ci 74fb726d48Sopenharmony_ci it('EnergySysEventSenderTest01', () => { 75fb726d48Sopenharmony_ci threadPool.submitProto = jest.fn((query: number, params: any, callback: Function) => { 76fb726d48Sopenharmony_ci callback(systemData, 1, true); 77fb726d48Sopenharmony_ci }); 78fb726d48Sopenharmony_ci let systemTraceRow = TraceRow.skeleton<EnergySystemStruct>(); 79fb726d48Sopenharmony_ci energySysEventSender(systemTraceRow).then(result => { 80fb726d48Sopenharmony_ci expect(result).toHaveLength(1); 81fb726d48Sopenharmony_ci }) 82fb726d48Sopenharmony_ci }); 83fb726d48Sopenharmony_ci 84fb726d48Sopenharmony_ci it('EnergySysEventSenderTest02', () => { 85fb726d48Sopenharmony_ci threadPool.submitProto = jest.fn((query: number, params: any, callback: Function) => { 86fb726d48Sopenharmony_ci callback(anomalyData, 1, true); 87fb726d48Sopenharmony_ci }); 88fb726d48Sopenharmony_ci let anomalyTraceRow = TraceRow.skeleton<EnergyAnomalyStruct>(); 89fb726d48Sopenharmony_ci hiSysEnergyAnomalyDataSender(anomalyTraceRow).then(result => { 90fb726d48Sopenharmony_ci expect(result).toHaveLength(1); 91fb726d48Sopenharmony_ci }) 92fb726d48Sopenharmony_ci }); 93fb726d48Sopenharmony_ci 94fb726d48Sopenharmony_ci it('EnergySysEventSenderTest03', () => { 95fb726d48Sopenharmony_ci threadPool.submitProto = jest.fn((query: number, params: any, callback: Function) => { 96fb726d48Sopenharmony_ci callback(powerData, 1, true); 97fb726d48Sopenharmony_ci }); 98fb726d48Sopenharmony_ci let powerTraceRow = TraceRow.skeleton<EnergyPowerStruct>(); 99fb726d48Sopenharmony_ci hiSysEnergyPowerSender(powerTraceRow).then(result => { 100fb726d48Sopenharmony_ci expect(Array.isArray(result)).toBe(true); 101fb726d48Sopenharmony_ci }) 102fb726d48Sopenharmony_ci }); 103fb726d48Sopenharmony_ci 104fb726d48Sopenharmony_ci it('EnergySysEventSenderTest04', () => { 105fb726d48Sopenharmony_ci threadPool.submitProto = jest.fn((query: number, params: any, callback: Function) => { 106fb726d48Sopenharmony_ci callback(stateData, 1, true); 107fb726d48Sopenharmony_ci }); 108fb726d48Sopenharmony_ci let eventName = ['WIFI_EVENT_RECEIVED']; 109fb726d48Sopenharmony_ci let stateTraceRow = TraceRow.skeleton<EnergyStateStruct>(); 110fb726d48Sopenharmony_ci hiSysEnergyStateSender(eventName, 0, stateTraceRow).then(result => { 111fb726d48Sopenharmony_ci expect(result).toHaveLength(1); 112fb726d48Sopenharmony_ci }) 113fb726d48Sopenharmony_ci }); 114fb726d48Sopenharmony_ci});