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 16jest.mock('../../../../src/trace/component/SpSystemTrace', () => { 17 return {}; 18}); 19import { SpAbilityMonitorChart } from '../../../../src/trace/component/chart/SpAbilityMonitorChart'; 20import '../../../../src/trace/component/chart/SpAbilityMonitorChart'; 21const sqlit = require('../../../../src/trace/database/sql/Ability.sql'); 22jest.mock('../../../../src/trace/database/sql/Ability.sql'); 23const MemorySqlite = require('../../../../src/trace/database/sql/Memory.sql'); 24jest.mock('../../../../src/trace/database/sql/Memory.sql'); 25const sqlite = require('../../../../src/trace/database/sql/SqlLite.sql'); 26jest.mock('../../../../src/trace/database/sql/SqlLite.sql'); 27jest.mock('../../../../src/trace/component/chart/SpNativeMemoryChart', () => { 28 return {}; 29}); 30const intersectionObserverMock = () => ({ 31 observe: () => null, 32}); 33jest.mock('../../../../src/js-heap/model/DatabaseStruct'); 34jest.mock('../../../../src/trace/component/trace/base/TraceSheet', () => { 35 return true; 36}); 37window.IntersectionObserver = jest.fn().mockImplementation(intersectionObserverMock); 38// @ts-ignore 39window.ResizeObserver = window.ResizeObserver || 40 jest.fn().mockImplementation(() => ({ 41 observe: jest.fn(), 42 unobserve: jest.fn(), 43 disconnect: jest.fn(), 44 })); 45describe('SpAbilityMonitorChart Test', () => { 46 let MockqueryAbilityExits = sqlit.queryAbilityExits; 47 MockqueryAbilityExits.mockResolvedValue([ 48 { 49 event_name: 'trace_cpu_usage', 50 stat_type: 'received', 51 count: 1, 52 }, 53 { 54 event_name: 'sys_memory', 55 stat_type: 'received', 56 count: 1, 57 }, 58 { 59 event_name: 'trace_diskio', 60 stat_type: 'received', 61 count: 1, 62 }, 63 { 64 event_name: 'trace_diskio', 65 stat_type: 'received', 66 count: 1, 67 }, 68 ]); 69 let cpudata = sqlit.queryCPuAbilityMaxData; 70 cpudata.mockResolvedValue([ 71 { 72 totalLoad: 1, 73 userLoad: 1, 74 systemLoad: 1, 75 }, 76 ]); 77 let memorydata = MemorySqlite.queryMemoryMaxData; 78 memorydata.mockResolvedValue([ 79 { 80 maxValue: 1, 81 filter_id: 1, 82 }, 83 ]); 84 let queryDiskIo = sqlite.queryDiskIoMaxData; 85 queryDiskIo.mockResolvedValue([ 86 { 87 bytesRead: 1, 88 bytesWrite: 1, 89 readOps: 1, 90 writeOps: 1, 91 }, 92 ]); 93 94 let netWorkDiskIo = sqlite.queryNetWorkMaxData; 95 netWorkDiskIo.mockResolvedValue([ 96 { 97 maxIn: 1, 98 maxOut: 1, 99 maxPacketIn: 1, 100 maxPacketOut: 1, 101 }, 102 ]); 103 let queryDmaAbilityData = sqlit.queryDmaAbilityData; 104 queryDmaAbilityData.mockResolvedValue([ 105 { 106 startNs: 1, 107 value: 1, 108 flag: 1, 109 ipid: 1, 110 expTaskComm: '', 111 }, 112 ]); 113 let queryGpuMemoryAbilityData = sqlit.queryGpuMemoryAbilityData; 114 queryGpuMemoryAbilityData.mockResolvedValue([ 115 { 116 startNs: 1, 117 value: 1, 118 }, 119 ]); 120 let queryPurgeableSysData = sqlit.queryPurgeableSysData; 121 queryPurgeableSysData.mockResolvedValue([ 122 { 123 startNs: 1, 124 value: 1, 125 }, 126 ]); 127 128 let purgeableSysData = sqlit.queryPurgeableSysData; 129 purgeableSysData.mockResolvedValue([ 130 { 131 name: 'test', 132 startNs: 15255, 133 value: 0, 134 }, 135 ]); 136 137 let dmaAbilityData = sqlit.queryDmaAbilityData; 138 dmaAbilityData.mockResolvedValue([ 139 { 140 startNs: 15255, 141 value: 2, 142 expTaskComm: 'allocator_host', 143 flag: 0, 144 name: 'test', 145 }, 146 ]); 147 148 let gpuMemoryAbilityData = sqlit.queryGpuMemoryAbilityData; 149 gpuMemoryAbilityData.mockResolvedValue([ 150 { 151 name: 'test', 152 startNs: 15255, 153 value: 0, 154 }, 155 ]); 156 it('SpAbilityMonitorChart01', function () { 157 let htmlElement: any = document.createElement('sp-system-trace'); 158 let spAbilityMonitor = new SpAbilityMonitorChart(htmlElement); 159 spAbilityMonitor.init(); 160 expect(spAbilityMonitor).toBeDefined(); 161 }); 162}); 163