Files
wwjcloud-nest-v1/wwjcloud/test-queue-functionality.js

66 lines
2.2 KiB
JavaScript
Raw Normal View History

const { NestFactory } = require('@nestjs/core');
const { AppModule } = require('./dist/src/app.module');
const { UnifiedQueueService } = require('./dist/src/core/queue/unified-queue.service');
async function testQueueFunctionality() {
console.log('🚀 开始测试队列系统功能...');
try {
// 创建应用实例
const app = await NestFactory.create(AppModule, { logger: false });
const queueService = app.get(UnifiedQueueService);
console.log('✅ 应用启动成功');
console.log('✅ UnifiedQueueService 注入成功');
// 测试添加任务
console.log('\n📝 测试添加任务...');
const taskResult = await queueService.addTask('test-queue', {
data: { message: 'Hello Queue!', timestamp: Date.now() },
priority: 1,
delay: 0,
attempts: 3,
});
console.log('✅ 任务添加成功:', taskResult ? '有返回值' : '无返回值');
// 测试发布事件
console.log('\n📡 测试发布事件...');
const event = {
eventType: 'test.functionality.event',
aggregateId: 'test-func-123',
aggregateType: 'TestFunctionality',
version: '1.0',
occurredAt: new Date().toISOString(),
tenantId: 'tenant-test',
idempotencyKey: 'func-test-key-' + Date.now(),
traceId: 'func-test-trace-' + Date.now(),
data: { test: 'functionality-test', success: true },
};
await queueService.publishEvent(event);
console.log('✅ 事件发布成功');
// 测试获取队列状态
console.log('\n📊 测试获取队列状态...');
const status = await queueService.getQueueStatus();
console.log('✅ 队列状态获取成功:', JSON.stringify(status, null, 2));
console.log('\n🎉 所有测试通过!队列系统功能正常');
await app.close();
} catch (error) {
console.error('❌ 测试失败:', error.message);
console.error('详细错误:', error.stack);
process.exit(1);
}
}
// 运行测试
testQueueFunctionality().then(() => {
console.log('\n✨ 队列系统功能测试完成');
process.exit(0);
}).catch((error) => {
console.error('❌ 测试执行失败:', error);
process.exit(1);
});