diff --git a/tests/tz-compliance.js b/tests/tz-compliance.js index d763a90..03e7d50 100644 --- a/tests/tz-compliance.js +++ b/tests/tz-compliance.js @@ -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]) {