Files
peardata/test/notify.test.js
T
Raven Scott 462cce4b5b
CI / test (push) Successful in 58s
Release rolling / release (push) Successful in 7m10s
Updates
2026-07-18 19:16:58 -04:00

38 lines
1.4 KiB
JavaScript

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
})