const assert = require('assert'); const http = require('http'); const { callFmodeWecomGateway } = require('../mcp/src/providers/fmode-wecom-gateway'); const { classifySubscribeError } = require('../mcp/src/core/subscribe-page'); async function main() { const server = http.createServer((req, res) => { res.writeHead(409, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ code: 500, mess: '上游账号当前没有可用企微登录数量,请稍后重试' })); }); await new Promise(resolve => server.listen(0, '127.0.0.1', resolve)); try { const apiBase = `http://127.0.0.1:${server.address().port}`; await assert.rejects( () => callFmodeWecomGateway({ gatewayPath: '/login/start', token: 'r:smoke-session', apiBase }), error => { assert.strictEqual(error.httpStatus, 409); assert.strictEqual( classifySubscribeError(error.httpStatus, error.bizMessage), 'QW-UP-409' ); return true; } ); console.log('[ok] preserves 409 capacity conflicts when upstream body code is 500'); } finally { await new Promise(resolve => server.close(resolve)); } } main().catch(error => { console.error(error); process.exitCode = 1; });