node-os-utils 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README-zh.md +1291 -0
  3. package/README.md +3 -1
  4. package/dist/package.json +4 -2
  5. package/dist/src/adapters/linux-adapter.d.ts +17 -4
  6. package/dist/src/adapters/linux-adapter.d.ts.map +1 -1
  7. package/dist/src/adapters/linux-adapter.js +33 -13
  8. package/dist/src/adapters/linux-adapter.js.map +1 -1
  9. package/dist/src/adapters/macos-adapter.d.ts +17 -4
  10. package/dist/src/adapters/macos-adapter.d.ts.map +1 -1
  11. package/dist/src/adapters/macos-adapter.js +30 -12
  12. package/dist/src/adapters/macos-adapter.js.map +1 -1
  13. package/dist/src/adapters/windows-adapter.d.ts +13 -2
  14. package/dist/src/adapters/windows-adapter.d.ts.map +1 -1
  15. package/dist/src/adapters/windows-adapter.js +26 -3
  16. package/dist/src/adapters/windows-adapter.js.map +1 -1
  17. package/dist/src/monitors/process-monitor.d.ts +17 -4
  18. package/dist/src/monitors/process-monitor.d.ts.map +1 -1
  19. package/dist/src/monitors/process-monitor.js +30 -4
  20. package/dist/src/monitors/process-monitor.js.map +1 -1
  21. package/dist/src/monitors/system-monitor.js +2 -2
  22. package/dist/src/monitors/system-monitor.js.map +1 -1
  23. package/dist/src/utils/process-killer.d.ts +38 -0
  24. package/dist/src/utils/process-killer.d.ts.map +1 -0
  25. package/dist/src/utils/process-killer.js +96 -0
  26. package/dist/src/utils/process-killer.js.map +1 -0
  27. package/package.json +4 -2
  28. package/dist/.tsbuildinfo +0 -1
  29. package/dist/test/config/test-config.d.ts +0 -301
  30. package/dist/test/config/test-config.d.ts.map +0 -1
  31. package/dist/test/config/test-config.js +0 -235
  32. package/dist/test/config/test-config.js.map +0 -1
  33. package/dist/test/platform/linux.test.d.ts +0 -6
  34. package/dist/test/platform/linux.test.d.ts.map +0 -1
  35. package/dist/test/platform/linux.test.js +0 -307
  36. package/dist/test/platform/linux.test.js.map +0 -1
  37. package/dist/test/platform/macos.test.d.ts +0 -6
  38. package/dist/test/platform/macos.test.d.ts.map +0 -1
  39. package/dist/test/platform/macos.test.js +0 -276
  40. package/dist/test/platform/macos.test.js.map +0 -1
  41. package/dist/test/platform/windows.test.d.ts +0 -6
  42. package/dist/test/platform/windows.test.d.ts.map +0 -1
  43. package/dist/test/platform/windows.test.js +0 -320
  44. package/dist/test/platform/windows.test.js.map +0 -1
  45. package/dist/test/unit/adapters/adapter-factory.test.d.ts +0 -2
  46. package/dist/test/unit/adapters/adapter-factory.test.d.ts.map +0 -1
  47. package/dist/test/unit/adapters/adapter-factory.test.js +0 -147
  48. package/dist/test/unit/adapters/adapter-factory.test.js.map +0 -1
  49. package/dist/test/unit/adapters/linux-adapter.test.d.ts +0 -2
  50. package/dist/test/unit/adapters/linux-adapter.test.d.ts.map +0 -1
  51. package/dist/test/unit/adapters/linux-adapter.test.js +0 -280
  52. package/dist/test/unit/adapters/linux-adapter.test.js.map +0 -1
  53. package/dist/test/unit/adapters/macos-adapter.test.d.ts +0 -2
  54. package/dist/test/unit/adapters/macos-adapter.test.d.ts.map +0 -1
  55. package/dist/test/unit/adapters/macos-adapter.test.js +0 -237
  56. package/dist/test/unit/adapters/macos-adapter.test.js.map +0 -1
  57. package/dist/test/unit/adapters/windows-adapter.test.d.ts +0 -2
  58. package/dist/test/unit/adapters/windows-adapter.test.d.ts.map +0 -1
  59. package/dist/test/unit/adapters/windows-adapter.test.js +0 -111
  60. package/dist/test/unit/adapters/windows-adapter.test.js.map +0 -1
  61. package/dist/test/unit/core/base-monitor.test.d.ts +0 -2
  62. package/dist/test/unit/core/base-monitor.test.d.ts.map +0 -1
  63. package/dist/test/unit/core/base-monitor.test.js +0 -188
  64. package/dist/test/unit/core/base-monitor.test.js.map +0 -1
  65. package/dist/test/unit/core/cache-manager.test.d.ts +0 -6
  66. package/dist/test/unit/core/cache-manager.test.d.ts.map +0 -1
  67. package/dist/test/unit/core/cache-manager.test.js +0 -127
  68. package/dist/test/unit/core/cache-manager.test.js.map +0 -1
  69. package/dist/test/unit/core/platform-adapter.test.d.ts +0 -2
  70. package/dist/test/unit/core/platform-adapter.test.d.ts.map +0 -1
  71. package/dist/test/unit/core/platform-adapter.test.js +0 -186
  72. package/dist/test/unit/core/platform-adapter.test.js.map +0 -1
  73. package/dist/test/unit/index.test.d.ts +0 -2
  74. package/dist/test/unit/index.test.d.ts.map +0 -1
  75. package/dist/test/unit/index.test.js +0 -183
  76. package/dist/test/unit/index.test.js.map +0 -1
  77. package/dist/test/unit/monitors/cpu-monitor.test.d.ts +0 -2
  78. package/dist/test/unit/monitors/cpu-monitor.test.d.ts.map +0 -1
  79. package/dist/test/unit/monitors/cpu-monitor.test.js +0 -337
  80. package/dist/test/unit/monitors/cpu-monitor.test.js.map +0 -1
  81. package/dist/test/unit/monitors/disk-monitor.test.d.ts +0 -2
  82. package/dist/test/unit/monitors/disk-monitor.test.d.ts.map +0 -1
  83. package/dist/test/unit/monitors/disk-monitor.test.js +0 -46
  84. package/dist/test/unit/monitors/disk-monitor.test.js.map +0 -1
  85. package/dist/test/unit/monitors/memory-monitor.test.d.ts +0 -2
  86. package/dist/test/unit/monitors/memory-monitor.test.d.ts.map +0 -1
  87. package/dist/test/unit/monitors/memory-monitor.test.js +0 -142
  88. package/dist/test/unit/monitors/memory-monitor.test.js.map +0 -1
  89. package/dist/test/unit/monitors/network-monitor.test.d.ts +0 -2
  90. package/dist/test/unit/monitors/network-monitor.test.d.ts.map +0 -1
  91. package/dist/test/unit/monitors/network-monitor.test.js +0 -22
  92. package/dist/test/unit/monitors/network-monitor.test.js.map +0 -1
  93. package/dist/test/unit/monitors/process-monitor.test.d.ts +0 -2
  94. package/dist/test/unit/monitors/process-monitor.test.d.ts.map +0 -1
  95. package/dist/test/unit/monitors/process-monitor.test.js +0 -165
  96. package/dist/test/unit/monitors/process-monitor.test.js.map +0 -1
  97. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts +0 -2
  98. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts.map +0 -1
  99. package/dist/test/unit/monitors/system-monitor-macos.test.js +0 -115
  100. package/dist/test/unit/monitors/system-monitor-macos.test.js.map +0 -1
  101. package/dist/test/unit/monitors/system-monitor.test.d.ts +0 -2
  102. package/dist/test/unit/monitors/system-monitor.test.d.ts.map +0 -1
  103. package/dist/test/unit/monitors/system-monitor.test.js +0 -70
  104. package/dist/test/unit/monitors/system-monitor.test.js.map +0 -1
  105. package/dist/test/unit/types/common.test.d.ts +0 -6
  106. package/dist/test/unit/types/common.test.d.ts.map +0 -1
  107. package/dist/test/unit/types/common.test.js +0 -139
  108. package/dist/test/unit/types/common.test.js.map +0 -1
  109. package/dist/test/unit/types/config.test.d.ts +0 -2
  110. package/dist/test/unit/types/config.test.d.ts.map +0 -1
  111. package/dist/test/unit/types/config.test.js +0 -9
  112. package/dist/test/unit/types/config.test.js.map +0 -1
  113. package/dist/test/unit/types/errors.test.d.ts +0 -6
  114. package/dist/test/unit/types/errors.test.d.ts.map +0 -1
  115. package/dist/test/unit/types/errors.test.js +0 -184
  116. package/dist/test/unit/types/errors.test.js.map +0 -1
  117. package/dist/test/unit/types/index.test.d.ts +0 -2
  118. package/dist/test/unit/types/index.test.d.ts.map +0 -1
  119. package/dist/test/unit/types/index.test.js +0 -39
  120. package/dist/test/unit/types/index.test.js.map +0 -1
  121. package/dist/test/unit/types/monitors.test.d.ts +0 -2
  122. package/dist/test/unit/types/monitors.test.d.ts.map +0 -1
  123. package/dist/test/unit/types/monitors.test.js +0 -9
  124. package/dist/test/unit/types/monitors.test.js.map +0 -1
  125. package/dist/test/unit/types/platform.test.d.ts +0 -2
  126. package/dist/test/unit/types/platform.test.d.ts.map +0 -1
  127. package/dist/test/unit/types/platform.test.js +0 -9
  128. package/dist/test/unit/types/platform.test.js.map +0 -1
  129. package/dist/test/unit/utils/command-executor.test.d.ts +0 -6
  130. package/dist/test/unit/utils/command-executor.test.d.ts.map +0 -1
  131. package/dist/test/unit/utils/command-executor.test.js +0 -190
  132. package/dist/test/unit/utils/command-executor.test.js.map +0 -1
  133. package/dist/test/unit/utils/platform-specific.test.d.ts +0 -2
  134. package/dist/test/unit/utils/platform-specific.test.d.ts.map +0 -1
  135. package/dist/test/unit/utils/platform-specific.test.js +0 -32
  136. package/dist/test/unit/utils/platform-specific.test.js.map +0 -1
  137. package/dist/test/utils/platform-specific.d.ts +0 -139
  138. package/dist/test/utils/platform-specific.d.ts.map +0 -1
  139. package/dist/test/utils/platform-specific.js +0 -306
  140. package/dist/test/utils/platform-specific.js.map +0 -1
  141. package/dist/test/utils/test-base.d.ts +0 -157
  142. package/dist/test/utils/test-base.d.ts.map +0 -1
  143. package/dist/test/utils/test-base.js +0 -316
  144. package/dist/test/utils/test-base.js.map +0 -1
@@ -1,165 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const process_monitor_1 = require("../../../src/monitors/process-monitor");
5
- const SUPPORTED_FEATURES = {
6
- cpu: {
7
- info: false,
8
- usage: false,
9
- temperature: false,
10
- frequency: false,
11
- cache: false,
12
- perCore: false,
13
- cores: false
14
- },
15
- memory: {
16
- info: false,
17
- usage: false,
18
- swap: false,
19
- pressure: false,
20
- detailed: false,
21
- virtual: false
22
- },
23
- disk: {
24
- info: false,
25
- io: false,
26
- health: false,
27
- smart: false,
28
- filesystem: false,
29
- usage: false,
30
- stats: false,
31
- mounts: false,
32
- filesystems: false
33
- },
34
- network: {
35
- interfaces: false,
36
- stats: false,
37
- connections: false,
38
- bandwidth: false,
39
- gateway: false
40
- },
41
- process: {
42
- list: true,
43
- details: true,
44
- tree: true,
45
- monitor: true,
46
- info: true,
47
- kill: true,
48
- openFiles: true,
49
- environment: true
50
- },
51
- system: {
52
- info: false,
53
- load: false,
54
- uptime: false,
55
- users: false,
56
- services: false
57
- }
58
- };
59
- class ProcessAdapterStub {
60
- constructor(options = {}) {
61
- this.options = options;
62
- this.processListCalls = 0;
63
- this.processInfoCalls = 0;
64
- }
65
- getPlatform() {
66
- return 'test-platform';
67
- }
68
- isSupported(feature) {
69
- return feature.startsWith('process');
70
- }
71
- async executeCommand(command, options) {
72
- return {
73
- stdout: '',
74
- stderr: '',
75
- exitCode: 0,
76
- platform: this.getPlatform(),
77
- executionTime: 0,
78
- command
79
- };
80
- }
81
- async readFile() { return ''; }
82
- async fileExists() { return false; }
83
- async getCPUInfo() { return {}; }
84
- async getCPUUsage() { return {}; }
85
- async getCPUTemperature() { return {}; }
86
- async getMemoryInfo() { return {}; }
87
- async getMemoryUsage() { return {}; }
88
- async getDiskInfo() { return []; }
89
- async getDiskIO() { return []; }
90
- async getNetworkInterfaces() { return []; }
91
- async getNetworkStats() { return []; }
92
- async getProcesses() { return this.getProcessList(); }
93
- async getProcessInfo(pid) {
94
- this.processInfoCalls += 1;
95
- if (!this.options.processInfo) {
96
- return null;
97
- }
98
- return this.options.processInfo[pid] ?? null;
99
- }
100
- async getSystemInfo() { return {}; }
101
- async getSystemLoad() { return {}; }
102
- async getDiskUsage() { return []; }
103
- async getDiskStats() { return []; }
104
- async getMounts() { return []; }
105
- async getFileSystems() { return []; }
106
- async getNetworkConnections() { return []; }
107
- async getDefaultGateway() { return null; }
108
- async getProcessList() {
109
- this.processListCalls += 1;
110
- return this.options.processes ?? [];
111
- }
112
- async killProcess() { return true; }
113
- async getProcessOpenFiles() { return []; }
114
- async getProcessEnvironment() { return {}; }
115
- async getSystemUptime() { return 0; }
116
- async getSystemUsers() { return []; }
117
- async getSystemServices() { return []; }
118
- getSupportedFeatures() {
119
- return SUPPORTED_FEATURES;
120
- }
121
- }
122
- describe('ProcessMonitor', function () {
123
- it('缓存命中时仍应返回空进程结果', async function () {
124
- const adapter = new ProcessAdapterStub();
125
- const monitor = new process_monitor_1.ProcessMonitor(adapter);
126
- const first = await monitor.byPid(99999);
127
- const second = await monitor.byPid(99999);
128
- if (!first.success) {
129
- chai_1.expect.fail('第一次调用应成功返回');
130
- return;
131
- }
132
- (0, chai_1.expect)(first.data).to.be.null;
133
- if (!second.success) {
134
- chai_1.expect.fail('第二次调用应成功返回缓存结果');
135
- return;
136
- }
137
- (0, chai_1.expect)(second.data).to.be.null;
138
- (0, chai_1.expect)(second.cached).to.be.true;
139
- (0, chai_1.expect)(adapter.processInfoCalls).to.equal(1);
140
- });
141
- it('topByCpu 应忽略 maxResults 限制以返回真实的高占用进程', async function () {
142
- const processes = Array.from({ length: 5 }).map((_, index) => ({
143
- pid: index + 1,
144
- ppid: 0,
145
- name: `process-${index}`,
146
- command: `process-${index}`,
147
- state: 'running',
148
- cpuUsage: index * 20,
149
- memoryUsage: (index + 1) * 1024,
150
- memoryPercentage: index * 5,
151
- startTime: Date.now() - 1000
152
- }));
153
- const adapter = new ProcessAdapterStub({ processes });
154
- const monitor = new process_monitor_1.ProcessMonitor(adapter, { maxResults: 2 });
155
- const topResult = await monitor.topByCpu(1);
156
- if (!topResult.success || !topResult.data) {
157
- chai_1.expect.fail('获取Top进程失败');
158
- return;
159
- }
160
- (0, chai_1.expect)(topResult.data).to.have.lengthOf(1);
161
- (0, chai_1.expect)(topResult.data[0].pid).to.equal(5);
162
- (0, chai_1.expect)(adapter.processListCalls).to.equal(1);
163
- });
164
- });
165
- //# sourceMappingURL=process-monitor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-monitor.test.js","sourceRoot":"","sources":["../../../../test/unit/monitors/process-monitor.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=system-monitor-macos.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-monitor-macos.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/monitors/system-monitor-macos.test.ts"],"names":[],"mappings":""}
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const system_monitor_1 = require("../../../src/monitors/system-monitor");
5
- function createMacAdapter(overrides = {}) {
6
- const adapter = {
7
- getPlatform: () => 'darwin',
8
- isSupported: () => true,
9
- getSupportedFeatures: () => ({
10
- cpu: { info: true, usage: true, temperature: false, frequency: true, cache: false, perCore: false, cores: true },
11
- memory: { info: true, usage: true, swap: false, pressure: false, detailed: false, virtual: false },
12
- disk: { info: true, io: true, health: false, smart: false, filesystem: true, usage: true, stats: true, mounts: true, filesystems: true },
13
- network: { interfaces: true, stats: true, connections: true, bandwidth: false, gateway: true },
14
- process: { list: true, details: true, tree: false, monitor: false, info: true, kill: true, openFiles: false, environment: false },
15
- system: { info: true, load: true, uptime: true, users: true, services: true }
16
- }),
17
- getSystemInfo: async () => ({
18
- hostname: 'macbook-pro',
19
- platform: 'darwin',
20
- release: '23.4.0',
21
- kernel: 'Darwin Kernel Version',
22
- arch: 'arm64',
23
- uptimeSeconds: 3600,
24
- bootTime: Date.now() - 3600 * 1000,
25
- loadAverage: { load1: 1.2, load5: 0.8, load15: 0.6 },
26
- processCount: 250
27
- }),
28
- getSystemLoad: async () => ({ load1: 1.2, load5: 0.8, load15: 0.6 }),
29
- getCPUInfo: async () => ({ cores: 4 }),
30
- getSystemUptime: async () => ({ uptime: 3600 * 1000, bootTime: Date.now() - 3600 * 1000 }),
31
- getSystemUsers: async () => ([
32
- { username: 'user', terminal: 'ttys000', host: 'localhost', loginTime: Date.now() - 2000 }
33
- ])
34
- };
35
- return Object.assign(adapter, overrides);
36
- }
37
- describe('SystemMonitor (macOS)', () => {
38
- it('info() 应缓存 macOS 系统信息', async () => {
39
- let infoCalls = 0;
40
- const adapter = createMacAdapter({
41
- getSystemInfo: async () => {
42
- infoCalls += 1;
43
- return {
44
- hostname: 'macbook-pro',
45
- platform: 'darwin',
46
- release: '23.4.0',
47
- kernel: 'Darwin Kernel Version',
48
- arch: 'arm64',
49
- uptimeSeconds: 7200,
50
- bootTime: Date.now() - 7200 * 1000,
51
- loadAverage: { load1: 1.1, load5: 0.9, load15: 0.7 },
52
- processCount: 400
53
- };
54
- }
55
- });
56
- const monitor = new system_monitor_1.SystemMonitor(adapter);
57
- const first = await monitor.info();
58
- (0, chai_1.expect)(first.success).to.be.true;
59
- if (first.success) {
60
- (0, chai_1.expect)(first.data.hostname).to.equal('macbook-pro');
61
- }
62
- (0, chai_1.expect)(infoCalls).to.equal(1);
63
- const second = await monitor.info();
64
- (0, chai_1.expect)(second.success).to.be.true;
65
- if (second.success) {
66
- (0, chai_1.expect)(second.cached).to.be.true;
67
- }
68
- (0, chai_1.expect)(infoCalls).to.equal(1);
69
- });
70
- it('load() 应使用 CPU 核心数规范化负载', async () => {
71
- const adapter = createMacAdapter({
72
- getSystemLoad: async () => ({ load1: 3.0, load5: 2.0, load15: 1.0 }),
73
- getCPUInfo: async () => ({ cores: 1 })
74
- });
75
- const monitor = new system_monitor_1.SystemMonitor(adapter);
76
- const result = await monitor.load();
77
- (0, chai_1.expect)(result.success).to.be.true;
78
- if (result.success) {
79
- (0, chai_1.expect)(result.data.normalized.load1).to.equal(3.0);
80
- (0, chai_1.expect)(result.data.status).to.equal('critical');
81
- }
82
- });
83
- it('overview() 应在高负载时报告健康问题', async () => {
84
- const adapter = createMacAdapter({
85
- getSystemInfo: async () => ({
86
- hostname: 'macbook-pro',
87
- platform: 'darwin',
88
- release: '23.4.0',
89
- kernel: 'Darwin Kernel Version',
90
- arch: 'arm64',
91
- uptimeSeconds: 7200,
92
- bootTime: Date.now() - 7200 * 1000,
93
- loadAverage: { load1: 6.0, load5: 4.0, load15: 2.0 },
94
- processCount: 1500
95
- }),
96
- getSystemLoad: async () => ({ load1: 6.0, load5: 4.0, load15: 2.0 }),
97
- getCPUInfo: async () => ({ cores: 2 }),
98
- getSystemUsers: async () => ([
99
- { username: 'admin', terminal: 'ttys000', host: 'localhost', loginTime: Date.now() - 5000 }
100
- ])
101
- });
102
- const monitor = new system_monitor_1.SystemMonitor(adapter);
103
- monitor.withUsers(true);
104
- const result = await monitor.overview();
105
- (0, chai_1.expect)(result.success).to.be.true;
106
- if (result.success) {
107
- (0, chai_1.expect)(result.data.health.status).to.equal('critical');
108
- (0, chai_1.expect)(result.data.health.issues).to.include('Critical system load detected');
109
- (0, chai_1.expect)(result.data.health.issues).to.include('High number of processes detected');
110
- (0, chai_1.expect)(result.data.counts.processes).to.equal(1500);
111
- (0, chai_1.expect)(result.data.counts.users).to.equal(1);
112
- }
113
- });
114
- });
115
- //# sourceMappingURL=system-monitor-macos.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-monitor-macos.test.js","sourceRoot":"","sources":["../../../../test/unit/monitors/system-monitor-macos.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=system-monitor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-monitor.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/monitors/system-monitor.test.ts"],"names":[],"mappings":""}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const system_monitor_1 = require("../../../src/monitors/system-monitor");
5
- describe('SystemMonitor 服务信息处理', () => {
6
- const monitor = new system_monitor_1.SystemMonitor({
7
- getPlatform: () => 'darwin'
8
- });
9
- it('应当优先使用 unit/label 作为服务名称', () => {
10
- const services = monitor.transformServicesList([
11
- { unit: 'sshd.service', active: 'active', description: 'OpenSSH' },
12
- { label: 'com.apple.WindowServer', status: '-', pid: 95 }
13
- ]);
14
- (0, chai_1.expect)(services[0].name).to.equal('sshd.service');
15
- (0, chai_1.expect)(services[0].status).to.equal('running');
16
- (0, chai_1.expect)(services[1].name).to.equal('com.apple.WindowServer');
17
- (0, chai_1.expect)(services[1].status).to.equal('running');
18
- });
19
- it('应当根据 load/startType 推断启用状态', () => {
20
- const services = monitor.transformServicesList([
21
- { unit: 'masked.service', load: 'masked', active: 'inactive' },
22
- { name: 'normal.service', StartType: 'Disabled' },
23
- { name: 'enabled.service', active: 'active' }
24
- ]);
25
- (0, chai_1.expect)(services[0].enabled).to.be.false;
26
- (0, chai_1.expect)(services[1].enabled).to.be.false;
27
- (0, chai_1.expect)(services[2].enabled).to.be.true;
28
- });
29
- it('应当解析数字状态与 pid 推断运行状态', () => {
30
- const services = monitor.transformServicesList([
31
- { name: 'launchd', status: 0, pid: 1 },
32
- { name: 'crashed', status: 1 },
33
- { name: 'inactive', status: '-', pid: 0 }
34
- ]);
35
- (0, chai_1.expect)(services[0].status).to.equal('running');
36
- (0, chai_1.expect)(services[1].status).to.equal('failed');
37
- (0, chai_1.expect)(services[2].status).to.equal('stopped');
38
- });
39
- it('应当优先使用 uptimeSeconds 计算运行时间', () => {
40
- const normalize = monitor.normalizeUptime.bind(monitor);
41
- (0, chai_1.expect)(normalize({ uptimeSeconds: 30 })).to.equal(30000);
42
- });
43
- it('应当在仅提供毫秒 uptime 时保持原值', () => {
44
- const normalize = monitor.normalizeUptime.bind(monitor);
45
- (0, chai_1.expect)(normalize({ uptime: 450000 })).to.equal(450000);
46
- });
47
- it('应当根据 bootTime 计算缺省运行时间', () => {
48
- const normalize = monitor.normalizeUptime.bind(monitor);
49
- const now = Date.now();
50
- const bootTime = now - 120000;
51
- (0, chai_1.expect)(normalize({ bootTime })).to.be.within(119000, 121000);
52
- });
53
- it('transformSystemInfo 应包含 uptimeSeconds 与 bootTime', () => {
54
- const raw = {
55
- hostname: 'test-host',
56
- platform: 'linux',
57
- release: '5.10',
58
- kernel: '5.10.0',
59
- arch: 'x64',
60
- uptimeSeconds: 42,
61
- loadAverage: { load1: 0.1, load5: 0.2, load15: 0.3 },
62
- timezone: 'UTC'
63
- };
64
- const result = monitor.transformSystemInfo(raw);
65
- (0, chai_1.expect)(result.uptimeSeconds).to.equal(42);
66
- (0, chai_1.expect)(result.bootTime).to.be.within(Date.now() - 42000 - 1000, Date.now());
67
- (0, chai_1.expect)(result.uptime).to.equal(42000);
68
- });
69
- });
70
- //# sourceMappingURL=system-monitor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-monitor.test.js","sourceRoot":"","sources":["../../../../test/unit/monitors/system-monitor.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Common Types单元测试
3
- * 测试DataSize类和其他通用类型
4
- */
5
- export {};
6
- //# sourceMappingURL=common.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/types/common.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,139 +0,0 @@
1
- "use strict";
2
- /**
3
- * Common Types单元测试
4
- * 测试DataSize类和其他通用类型
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const chai_1 = require("chai");
8
- const common_1 = require("../../../src/types/common");
9
- describe('DataSize Unit Tests', function () {
10
- describe('构造函数和基本转换', function () {
11
- it('应该能够从字节数创建DataSize', function () {
12
- const size = new common_1.DataSize(1024);
13
- (0, chai_1.expect)(size.bytes).to.equal(1024);
14
- (0, chai_1.expect)(size.toKB()).to.equal(1);
15
- (0, chai_1.expect)(size.toMB()).to.equal(1 / 1024);
16
- });
17
- it('应该正确转换各种单位', function () {
18
- const gb = new common_1.DataSize(1024 * 1024 * 1024); // 1GB
19
- (0, chai_1.expect)(gb.bytes).to.equal(1073741824);
20
- (0, chai_1.expect)(gb.toKB()).to.equal(1048576);
21
- (0, chai_1.expect)(gb.toMB()).to.equal(1024);
22
- (0, chai_1.expect)(gb.toGB()).to.equal(1);
23
- (0, chai_1.expect)(gb.toTB()).to.equal(1 / 1024);
24
- });
25
- it('应该处理零值', function () {
26
- const zero = new common_1.DataSize(0);
27
- (0, chai_1.expect)(zero.bytes).to.equal(0);
28
- (0, chai_1.expect)(zero.toKB()).to.equal(0);
29
- (0, chai_1.expect)(zero.toMB()).to.equal(0);
30
- (0, chai_1.expect)(zero.toGB()).to.equal(0);
31
- (0, chai_1.expect)(zero.toTB()).to.equal(0);
32
- });
33
- });
34
- describe('静态创建方法', function () {
35
- it('应该能够从KB创建', function () {
36
- const size = common_1.DataSize.fromKB(1);
37
- (0, chai_1.expect)(size.bytes).to.equal(1024);
38
- (0, chai_1.expect)(size.toKB()).to.equal(1);
39
- });
40
- it('应该能够从MB创建', function () {
41
- const size = common_1.DataSize.fromMB(1);
42
- (0, chai_1.expect)(size.bytes).to.equal(1024 * 1024);
43
- (0, chai_1.expect)(size.toMB()).to.equal(1);
44
- });
45
- it('应该能够从GB创建', function () {
46
- const size = common_1.DataSize.fromGB(1);
47
- (0, chai_1.expect)(size.bytes).to.equal(1024 * 1024 * 1024);
48
- (0, chai_1.expect)(size.toGB()).to.equal(1);
49
- });
50
- it('应该能够从字节创建', function () {
51
- const size = common_1.DataSize.fromBytes(2048);
52
- (0, chai_1.expect)(size.bytes).to.equal(2048);
53
- (0, chai_1.expect)(size.toKB()).to.equal(2);
54
- });
55
- });
56
- describe('格式化功能', function () {
57
- it('应该能够格式化为人性化字符串', function () {
58
- const tests = [
59
- { bytes: 512, expected: '512 B' },
60
- { bytes: 1024, expected: '1.00 KB' },
61
- { bytes: 1536, expected: '1.50 KB' },
62
- { bytes: 1024 * 1024, expected: '1.00 MB' },
63
- { bytes: 1024 * 1024 * 1024, expected: '1.00 GB' },
64
- { bytes: 1024 * 1024 * 1024 * 1024, expected: '1.00 TB' }
65
- ];
66
- tests.forEach(test => {
67
- const size = new common_1.DataSize(test.bytes);
68
- (0, chai_1.expect)(size.toString()).to.equal(test.expected);
69
- });
70
- });
71
- it('应该能够格式化为指定单位', function () {
72
- const size = new common_1.DataSize(1024 * 1024 * 1.5); // 1.5 MB
73
- (0, chai_1.expect)(size.toString('B')).to.equal('1572864 B');
74
- (0, chai_1.expect)(size.toString('KB')).to.equal('1536.00 KB');
75
- (0, chai_1.expect)(size.toString('MB')).to.equal('1.50 MB');
76
- (0, chai_1.expect)(size.toString('GB')).to.equal('0.00 GB');
77
- });
78
- it('应该支持自动选择最佳单位', function () {
79
- const size = new common_1.DataSize(1536); // 1.5 KB
80
- (0, chai_1.expect)(size.toString('auto')).to.equal('1.50 KB');
81
- (0, chai_1.expect)(size.toString()).to.equal('1.50 KB'); // 默认为auto
82
- });
83
- });
84
- describe('边界情况和错误处理', function () {
85
- it('应该拒绝负数', function () {
86
- (0, chai_1.expect)(() => new common_1.DataSize(-1024)).to.throw('Data size cannot be negative');
87
- });
88
- it('应该处理非常大的数值', function () {
89
- const size = new common_1.DataSize(Number.MAX_SAFE_INTEGER);
90
- (0, chai_1.expect)(size.bytes).to.equal(Number.MAX_SAFE_INTEGER);
91
- });
92
- it('应该处理小数字节数', function () {
93
- const size = new common_1.DataSize(1023.5);
94
- (0, chai_1.expect)(size.bytes).to.equal(1023.5);
95
- (0, chai_1.expect)(size.toKB()).to.be.closeTo(0.9995, 0.0001);
96
- });
97
- });
98
- describe('实用方法', function () {
99
- it('应该提供toBytes方法', function () {
100
- const size = new common_1.DataSize(1024);
101
- (0, chai_1.expect)(size.toBytes()).to.equal(1024);
102
- (0, chai_1.expect)(size.toBytes()).to.equal(size.bytes);
103
- });
104
- it('应该正确处理单位转换精度', function () {
105
- const size = new common_1.DataSize(1024 * 1024 + 512 * 1024); // 1.5 MB
106
- (0, chai_1.expect)(size.toMB()).to.equal(1.5);
107
- (0, chai_1.expect)(size.toKB()).to.equal(1536);
108
- });
109
- });
110
- describe('静态工厂方法验证', function () {
111
- it('所有静态方法应该返回正确的DataSize实例', function () {
112
- const fromBytes = common_1.DataSize.fromBytes(1024);
113
- const fromKB = common_1.DataSize.fromKB(1);
114
- const fromMB = common_1.DataSize.fromMB(1 / 1024);
115
- const fromGB = common_1.DataSize.fromGB(1 / (1024 * 1024));
116
- (0, chai_1.expect)(fromBytes.bytes).to.equal(1024);
117
- (0, chai_1.expect)(fromKB.bytes).to.equal(1024);
118
- (0, chai_1.expect)(fromMB.bytes).to.equal(1024);
119
- (0, chai_1.expect)(fromGB.bytes).to.equal(1024);
120
- });
121
- });
122
- describe('字符串表示', function () {
123
- it('应该提供有意义的字符串表示', function () {
124
- const size = new common_1.DataSize(2048);
125
- const str = size.toString();
126
- (0, chai_1.expect)(str).to.include('2.00');
127
- (0, chai_1.expect)(str).to.include('KB');
128
- });
129
- it('应该支持所有单位的强制格式化', function () {
130
- const size = new common_1.DataSize(1024 * 1024); // 1 MB
131
- (0, chai_1.expect)(size.toString('B')).to.include('1048576');
132
- (0, chai_1.expect)(size.toString('KB')).to.include('1024.00');
133
- (0, chai_1.expect)(size.toString('MB')).to.include('1.00');
134
- (0, chai_1.expect)(size.toString('GB')).to.include('0.00');
135
- (0, chai_1.expect)(size.toString('TB')).to.include('0.00');
136
- });
137
- });
138
- });
139
- //# sourceMappingURL=common.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../../test/unit/types/common.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/types/config.test.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- describe('类型定义:config.ts', () => {
5
- it('编译期断言通过即可视为成功', () => {
6
- (0, chai_1.expect)(true).to.be.true;
7
- });
8
- });
9
- //# sourceMappingURL=config.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../../../test/unit/types/config.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAgC9B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * 错误处理单元测试
3
- * 测试错误类型、错误码和错误处理机制
4
- */
5
- export {};
6
- //# sourceMappingURL=errors.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/types/errors.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}