Files
harbor-net/test/server/server-health.test.js
Dmitriy Petrov 57330f1c78
All checks were successful
Build and Deploy Gateway / build-and-push (push) Successful in 15s
Build and Deploy Gateway / deploy (push) Successful in 7s
Refactor server picker and limit ping requests
2026-07-12 13:42:22 +03:00

27 lines
815 B
JavaScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { checkServerHealth } from '../../src/server/serverHealth.js';
test('server health checks cap count and concurrency', async () => {
const servers = Array.from({ length: 300 }, (_, index) => ({
id: `srv-${index}`,
label: `Server ${index}`,
host: `server-${index}.example`,
port: 443,
}));
let active = 0;
let peak = 0;
const results = await checkServerHealth(servers, async () => {
active += 1;
peak = Math.max(peak, active);
await new Promise((resolve) => setImmediate(resolve));
active -= 1;
return { ok: true, latency: 1 };
});
assert.equal(results.length, 30);
assert.equal(peak, 4);
assert.deepEqual(results.map(({ id }) => id), servers.slice(0, 30).map(({ id }) => id));
});