22 lines
974 B
JavaScript
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');
|