Enhance test infrastructure and add comprehensive WebSocket and security mocking

- Updated test suite with more robust mocking for WebSocket and security modules
- Expanded test coverage for performance monitoring and optimization utilities
- Added detailed type definitions for WebSocket and test response interfaces
- Improved error handling and type safety in test scenarios
- Updated package dependencies to include WebSocket and security-related libraries
This commit is contained in:
jango-blockchained
2025-01-30 09:43:19 +01:00
parent f5f756f71e
commit b3fa5f729e
6 changed files with 295 additions and 86 deletions

View File

@@ -1,5 +1,4 @@
import { PerformanceMonitor, PerformanceOptimizer, Metric } from '../../src/performance/index.js';
import type { MemoryUsage } from 'node:process';
describe('Performance Module', () => {
describe('PerformanceMonitor', () => {
@@ -165,20 +164,27 @@ describe('Performance Module', () => {
global.gc = jest.fn();
const memoryUsage = process.memoryUsage;
process.memoryUsage = jest.fn().mockImplementation((): MemoryUsage => ({
const mockMemoryUsage = () => ({
heapUsed: 900,
heapTotal: 1000,
rss: 2000,
external: 0,
arrayBuffers: 0
}));
});
Object.defineProperty(process, 'memoryUsage', {
value: mockMemoryUsage,
writable: true
});
await PerformanceOptimizer.optimizeMemory();
expect(global.gc).toHaveBeenCalled();
// Cleanup
process.memoryUsage = memoryUsage;
Object.defineProperty(process, 'memoryUsage', {
value: memoryUsage,
writable: true
});
if (originalGc) {
global.gc = originalGc;
} else {