test: compliance fix mask overlap + test results log (340 pass, 0 fail)

This commit is contained in:
2026-05-31 12:58:20 +03:00
parent 0abaa65bf8
commit 64da1f9834
+7 -3
View File
@@ -35,6 +35,10 @@ function bearer(t) { return { Authorization: 'Bearer ' + t }; }
const tokAdmin = auth.issueMockToken({ clientId: admin.clientId, companyId: admin.companyId, companyName: admin.companyName, email: admin.email });
const tokUser = auth.issueMockToken({ clientId: user.clientId, companyId: user.companyId, companyName: user.companyName, email: user.email });
// ── Pre-cleanup — удаляем всё что могло остаться от других тестов ──
await pool.query("UPDATE whitelist_entries SET deleted_at=NOW(), deleted_by='tz-cleanup' WHERE deleted_at IS NULL");
console.log(' Cleanup: все активные записи удалены\n');
const C = { A: '8.8.4.1', B: '8.8.4.2', C: '8.8.4.3', SUB: '9.9.9.0/24' };
function cidr(ip) { return ip.includes('/') ? ip : ip + '/32'; }
@@ -229,10 +233,10 @@ function bearer(t) { return { Authorization: 'Bearer ' + t }; }
// ══════════════════════════════════════════════════
console.log('── ТЗ 5 + Приложение А: Валидация ──');
// 5a: Маски /22-/32
// 5a: Маски /22-/32 (разные префиксы чтобы не пересекались)
{
for (const m of [22, 24, 32]) {
const r = await req.post('/api/v1/entries').set(bearer(tokUser)).send({ value: `85.0.0.0/${m}`, comment: `mask-${m}` });
for (const [m, prefix] of [[22, '85.0.0.0'], [24, '86.0.0.0'], [32, '87.0.0.1']]) {
const r = await req.post('/api/v1/entries').set(bearer(tokUser)).send({ value: `${prefix}/${m}`, comment: `mask-${m}` });
log(r.status === 201, `5.m${m}: /${m} → 201`, `status=${r.status}`);
}
for (const m of [21, 33]) {