66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
|
|
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);
|
||
|
|
});
|