'use strict'; const assert = require('assert'); const { normalizeReuseCount, createProxyReusePool, } = require('../src/services/proxy_reuse_pool'); assert.strictEqual(normalizeReuseCount('10'), 10); assert.strictEqual(normalizeReuseCount('0'), 1); assert.strictEqual(normalizeReuseCount('999'), 100); const disabled = createProxyReusePool({ enabled: false, maxUses: 10 }); assert.strictEqual(disabled.add('proxy-a'), null); assert.strictEqual(disabled.acquire(), null); const pool = createProxyReusePool({ enabled: true, maxUses: 3 }); assert.deepStrictEqual(pool.add('proxy-a', { ttfb: 1200 }), { useNumber: 1, maxUses: 3 }); assert.strictEqual(pool.availableAssignments, 2); assert.deepStrictEqual(pool.acquire(), { proxy: 'proxy-a', metadata: { ttfb: 1200 }, useNumber: 2, maxUses: 3, }); assert.deepStrictEqual(pool.acquire(), { proxy: 'proxy-a', metadata: { ttfb: 1200 }, useNumber: 3, maxUses: 3, }); assert.strictEqual(pool.acquire(), null, '首次账号加两次复用后必须耗尽三次配额'); pool.add('proxy-b'); pool.add('proxy-c'); assert.strictEqual(pool.acquire().proxy, 'proxy-b', '应优先耗尽先验证成功的 SID'); console.log('proxy_reuse_pool.test.js: PASS');