Files
go_bt/tests/hardcoded_browser_proxy_pool.test.js

22 lines
974 B
JavaScript

'use strict';
const assert = require('assert');
const {
HARDCODED_BROWSER_PROXIES,
pickRandomBrowserProxy,
} = require('../src/services/hardcoded_browser_proxy_pool');
assert.strictEqual(HARDCODED_BROWSER_PROXIES.length, 50, '固定代理池应完整包含 50 条代理');
assert.strictEqual(new Set(HARDCODED_BROWSER_PROXIES).size, 50, '固定代理池不应包含重复代理');
assert.ok(
HARDCODED_BROWSER_PROXIES.every(proxy => /^\d{1,3}(?:\.\d{1,3}){3}:\d+:[^:]+:[^:]+$/.test(proxy)),
'所有代理都应使用 host:port:user:password 格式',
);
assert.strictEqual(pickRandomBrowserProxy(() => 0), HARDCODED_BROWSER_PROXIES[0]);
assert.strictEqual(pickRandomBrowserProxy(() => 0.999999), HARDCODED_BROWSER_PROXIES[49]);
assert.strictEqual(pickRandomBrowserProxy(() => 1), HARDCODED_BROWSER_PROXIES[49]);
assert.strictEqual(pickRandomBrowserProxy(() => Number.NaN), HARDCODED_BROWSER_PROXIES[0]);
console.log('hardcoded_browser_proxy_pool.test.js: PASS');