import test from 'brittle' import { shouldNotify, meetsMinSeverity, isWebhookEnabled, } from '../server/services/notify.js' test('meetsMinSeverity', (t) => { const prev = process.env.PEARDATA_NOTIFY_MIN_SEVERITY delete process.env.PEARDATA_NOTIFY_MIN_SEVERITY t.ok(meetsMinSeverity('warning')) t.ok(meetsMinSeverity('critical')) process.env.PEARDATA_NOTIFY_MIN_SEVERITY = 'critical' t.absent(meetsMinSeverity('warning')) t.ok(meetsMinSeverity('critical')) if (prev == null) delete process.env.PEARDATA_NOTIFY_MIN_SEVERITY else process.env.PEARDATA_NOTIFY_MIN_SEVERITY = prev }) test('shouldNotify gates on webhook + clears', (t) => { const prevUrl = process.env.PEARDATA_WEBHOOK_URL const prevClears = process.env.PEARDATA_NOTIFY_CLEARS delete process.env.PEARDATA_WEBHOOK_URL t.absent(isWebhookEnabled()) t.absent(shouldNotify({ severity: 'critical', cleared: false })) process.env.PEARDATA_WEBHOOK_URL = 'http://127.0.0.1:9/hook' t.ok(shouldNotify({ severity: 'warning', cleared: false })) t.absent(shouldNotify({ severity: 'warning', cleared: true })) process.env.PEARDATA_NOTIFY_CLEARS = '1' t.ok(shouldNotify({ severity: 'warning', cleared: true })) if (prevUrl == null) delete process.env.PEARDATA_WEBHOOK_URL else process.env.PEARDATA_WEBHOOK_URL = prevUrl if (prevClears == null) delete process.env.PEARDATA_NOTIFY_CLEARS else process.env.PEARDATA_NOTIFY_CLEARS = prevClears })