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