node-multi-curl
Version:
A performant multi-curl class in Node.js that supports proxies and concurrent requests
24 lines (23 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ProxyManager_1 = require("../../src/proxy/ProxyManager");
describe('ProxyManager', () => {
let proxyManager;
beforeEach(() => {
const proxies = ['http://proxy1.example.com', 'http://proxy2.example.com'];
proxyManager = new ProxyManager_1.ProxyManager(proxies);
});
test('getNextProxy should return proxies in rotation', () => {
const proxy1 = proxyManager.getNextProxy();
const proxy2 = proxyManager.getNextProxy();
const proxy3 = proxyManager.getNextProxy(); // Should wrap around to the first proxy
expect(proxy1).toBe('http://proxy1.example.com');
expect(proxy2).toBe('http://proxy2.example.com');
expect(proxy3).toBe('http://proxy1.example.com');
});
test('getNextProxy should return undefined when no proxies are available', () => {
// Empty proxy manager
const emptyProxyManager = new ProxyManager_1.ProxyManager([]);
expect(emptyProxyManager.getNextProxy()).toBeUndefined();
});
});