1/* 2 * Copyright (C) 2022 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 16// @ts-ignore 17import {EnergyAnomalyStruct, EnergySystemStruct, EnergyPowerStruct, EnergyStateStruct, PowerDetailsEnergy, PowerBatteryEnergy, SystemDetailsEnergy} from "../../../dist/trace/bean/EnergyStruct.js"; 18 19describe('EnergyStruct Test', ()=> { 20 let energyAnomalyStruct = new EnergyAnomalyStruct(); 21 let energySystemStruct = new EnergySystemStruct(); 22 let energyPowerStruct = new EnergyPowerStruct(); 23 let energyStateStruct = new EnergyStateStruct(); 24 let powerDetailsEnergy = new PowerDetailsEnergy(); 25 let powerBatteryEnergy = new PowerBatteryEnergy(); 26 let systemDetailsEnergy = new SystemDetailsEnergy(); 27 28 it('energyAnomalyStructTest', function () { 29 energyAnomalyStruct = { 30 type: 0, 31 startNS: 0, 32 height: 0, 33 eventName: 'eventName' 34 }; 35 expect(energyAnomalyStruct).not.toBeUndefined() 36 expect(energyAnomalyStruct).toMatchInlineSnapshot({ 37 type: expect.any(Number), 38 startNS: expect.any(Number), 39 height: expect.any(Number), 40 eventName: expect.any(String) }, ` 41Object { 42 "eventName": Any<String>, 43 "height": Any<Number>, 44 "startNS": Any<Number>, 45 "type": Any<Number>, 46} 47`); 48 }); 49 50 it('energySystemStructTest', function () { 51 energySystemStruct = { 52 type: 0, 53 startNs: 0, 54 dur: 0, 55 workScheduler: "", 56 power: "", 57 location: "" 58 }; 59 expect(energySystemStruct).not.toBeUndefined() 60 expect(energySystemStruct).toMatchInlineSnapshot({ 61 type: expect.any(Number), 62 startNs: expect.any(Number), 63 dur: expect.any(Number), 64 workScheduler: expect.any(String), 65 power: expect.any(String), 66 location: expect.any(String) }, ` 67Object { 68 "dur": Any<Number>, 69 "location": Any<String>, 70 "power": Any<String>, 71 "startNs": Any<Number>, 72 "type": Any<Number>, 73 "workScheduler": Any<String>, 74} 75`); 76 }); 77 78 it('energyPowerStructTest', function () { 79 energyPowerStruct = { 80 type: 0, 81 name: "", 82 ts: 0, 83 cpu: 0, 84 location: 0, 85 gpu: 0, 86 display: 0, 87 camera: 0, 88 bluetooth: 0, 89 flashlight: 0, 90 audio: 0, 91 wifiscan: 0 92 }; 93 expect(energyPowerStruct).not.toBeUndefined() 94 expect(energyPowerStruct).toMatchInlineSnapshot({ 95 type: expect.any(Number), 96 name: expect.any(String), 97 ts: expect.any(Number), 98 cpu: expect.any(Number), 99 location: expect.any(Number), 100 gpu: expect.any(Number), 101 display: expect.any(Number), 102 camera: expect.any(Number), 103 bluetooth: expect.any(Number), 104 flashlight: expect.any(Number), 105 audio: expect.any(Number), 106 wifiscan: expect.any(Number) }, ` 107Object { 108 "audio": Any<Number>, 109 "bluetooth": Any<Number>, 110 "camera": Any<Number>, 111 "cpu": Any<Number>, 112 "display": Any<Number>, 113 "flashlight": Any<Number>, 114 "gpu": Any<Number>, 115 "location": Any<Number>, 116 "name": Any<String>, 117 "ts": Any<Number>, 118 "type": Any<Number>, 119 "wifiscan": Any<Number>, 120} 121`); 122 }); 123 124 it('energyStateStructTest', function () { 125 energyStateStruct = { 126 type: "", 127 startNs: 0, 128 dur: 0, 129 value: 0 130 }; 131 expect(energyStateStruct).not.toBeUndefined() 132 expect(energyStateStruct).toMatchInlineSnapshot({ 133 type: expect.any(String), 134 startNs: expect.any(Number), 135 dur: expect.any(Number), 136 value: expect.any(Number) }, ` 137Object { 138 "dur": Any<Number>, 139 "startNs": Any<Number>, 140 "type": Any<String>, 141 "value": Any<Number>, 142} 143`); 144 }); 145 146 147 it('powerDetailsEnergyTest', function () { 148 powerDetailsEnergy = { 149 event: "", 150 charge: 0, 151 background_time: 0, 152 screen_on_time: 0, 153 screen_off_time: 0, 154 load: "-", 155 usage: 0, 156 duration: 0, 157 camera_id: 0, 158 foreground_count: 0, 159 background_count: 0, 160 screen_on_count: 0, 161 screen_off_count: 0, 162 count: 0, 163 appName: "", 164 uid: 0, 165 foreground_duration: 0, 166 foreground_energy: 0, 167 background_duration: 0, 168 background_energy: 0, 169 screen_on_duration: 0, 170 screen_on_energy: 0, 171 screen_off_duration: 0, 172 screen_off_energy: 0, 173 energy: 0, 174 energyConsumptionRatio: "" 175 }; 176 expect(powerDetailsEnergy).not.toBeUndefined() 177 expect(powerDetailsEnergy).toMatchInlineSnapshot({ 178 event: expect.any(String), 179 charge: expect.any(Number), 180 background_time: expect.any(Number), 181 screen_on_time: expect.any(Number), 182 screen_off_time: expect.any(Number), 183 load: expect.any(String), 184 usage: expect.any(Number), 185 duration: expect.any(Number), 186 camera_id: expect.any(Number), 187 foreground_count: expect.any(Number), 188 background_count: expect.any(Number), 189 screen_on_count: expect.any(Number), 190 screen_off_count: expect.any(Number), 191 count: expect.any(Number), 192 appName: expect.any(String), 193 uid: expect.any(Number), 194 foreground_duration: expect.any(Number), 195 foreground_energy: expect.any(Number), 196 background_duration: expect.any(Number), 197 background_energy: expect.any(Number), 198 screen_on_duration: expect.any(Number), 199 screen_on_energy: expect.any(Number), 200 screen_off_duration: expect.any(Number), 201 screen_off_energy: expect.any(Number), 202 energy: expect.any(Number), 203 energyConsumptionRatio: expect.any(String) }, ` 204Object { 205 "appName": Any<String>, 206 "background_count": Any<Number>, 207 "background_duration": Any<Number>, 208 "background_energy": Any<Number>, 209 "background_time": Any<Number>, 210 "camera_id": Any<Number>, 211 "charge": Any<Number>, 212 "count": Any<Number>, 213 "duration": Any<Number>, 214 "energy": Any<Number>, 215 "energyConsumptionRatio": Any<String>, 216 "event": Any<String>, 217 "foreground_count": Any<Number>, 218 "foreground_duration": Any<Number>, 219 "foreground_energy": Any<Number>, 220 "load": Any<String>, 221 "screen_off_count": Any<Number>, 222 "screen_off_duration": Any<Number>, 223 "screen_off_energy": Any<Number>, 224 "screen_off_time": Any<Number>, 225 "screen_on_count": Any<Number>, 226 "screen_on_duration": Any<Number>, 227 "screen_on_energy": Any<Number>, 228 "screen_on_time": Any<Number>, 229 "uid": Any<Number>, 230 "usage": Any<Number>, 231} 232`); 233 }); 234 235 236 it('powerBatteryEnergyTest', function () { 237 powerBatteryEnergy = { 238 gasGauge: -1, 239 charge: -1, 240 screen: -1, 241 level: -1, 242 current: -1, 243 capacity: -1, 244 appName: "", 245 uid: -1 246 }; 247 expect(powerBatteryEnergy).not.toBeUndefined() 248 expect(powerBatteryEnergy).toMatchInlineSnapshot({ 249 gasGauge: expect.any(Number), 250 charge: expect.any(Number), 251 screen: expect.any(Number), 252 level: expect.any(Number), 253 current: expect.any(Number), 254 capacity: expect.any(Number), 255 appName: expect.any(String), 256 uid: expect.any(Number) }, ` 257Object { 258 "appName": Any<String>, 259 "capacity": Any<Number>, 260 "charge": Any<Number>, 261 "current": Any<Number>, 262 "gasGauge": Any<Number>, 263 "level": Any<Number>, 264 "screen": Any<Number>, 265 "uid": Any<Number>, 266} 267`); 268 }); 269 270 271 it('systemDetailsEnergyTest', function () { 272 systemDetailsEnergy = { 273 eventName: "", 274 type: "", 275 pid: -1, 276 uid: -1, 277 state: -1, 278 workId: "", 279 name: "", 280 interval: -1, 281 level: -1, 282 tag: "", 283 message: "", 284 log_level: "" 285 }; 286 expect(systemDetailsEnergy).not.toBeUndefined() 287 expect(systemDetailsEnergy).toMatchInlineSnapshot({ 288 eventName: expect.any(String), 289 type: expect.any(String), 290 pid: expect.any(Number), 291 uid: expect.any(Number), 292 state: expect.any(Number), 293 workId: expect.any(String), 294 name: expect.any(String), 295 interval: expect.any(Number), 296 level: expect.any(Number), 297 tag: expect.any(String), 298 message: expect.any(String), 299 log_level: expect.any(String) }, ` 300Object { 301 "eventName": Any<String>, 302 "interval": Any<Number>, 303 "level": Any<Number>, 304 "log_level": Any<String>, 305 "message": Any<String>, 306 "name": Any<String>, 307 "pid": Any<Number>, 308 "state": Any<Number>, 309 "tag": Any<String>, 310 "type": Any<String>, 311 "uid": Any<Number>, 312 "workId": Any<String>, 313} 314`); 315 }); 316 317})