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});