'use strict'; const assert = require('assert'); const { _private } = require('../src/services/aistudio_api_key_service'); (async () => { let active = 0; let maxActive = 0; const logs = []; const results = await Promise.all([0, 1, 2, 3, 4].map(index => ( _private.withAistudioMutationSlot(async () => { active++; maxActive = Math.max(maxActive, active); await new Promise(resolve => setTimeout(resolve, 8)); active--; return index; }, message => logs.push(message)) ))); assert.deepStrictEqual(results, [0, 1, 2, 3, 4]); assert.strictEqual(_private.MAX_AISTUDIO_MUTATIONS, 2); assert.strictEqual(maxActive, 2, 'AI Studio 项目/Key 高风险区最多允许两个账号并行'); assert(logs.some(message => message.includes('排队等待')), '超过并发上限时应记录排队日志'); assert(logs.some(message => message.includes('排队结束')), '获得执行槽后应记录恢复日志'); console.log('aistudio_mutation_concurrency.test.js: PASS'); })().catch(error => { console.error(error); process.exitCode = 1; });