Files
peardata/test/redis-collector.test.js
T
Raven Scott 1d46b7b3ad
CI / test (push) Failing after 6s
Release rolling / release (push) Has been cancelled
updates
2026-07-18 19:11:32 -04:00

46 lines
1.1 KiB
JavaScript

import test from 'brittle'
import {
parseRedisInfo,
parseRedisAddr,
isRedisEnabled,
} from '../server/services/collectors/redis.js'
const SAMPLE = `# Server
redis_version:7.2.0
# Memory
used_memory:1048576
used_memory_peak:2097152
used_memory_rss:3145728
# Clients
connected_clients:12
blocked_clients:1
# Stats
instantaneous_ops_per_sec:42
keyspace_hits:90
keyspace_misses:10
`
test('parseRedisInfo', (t) => {
const info = parseRedisInfo(SAMPLE)
t.is(info.redis_version, '7.2.0')
t.is(info.used_memory, '1048576')
t.is(info.connected_clients, '12')
t.is(info.instantaneous_ops_per_sec, '42')
})
test('parseRedisAddr', (t) => {
t.is(parseRedisAddr('10.0.0.2:6380').port, 6380)
t.is(parseRedisAddr('redis://localhost:6379/0').host, 'localhost')
t.is(parseRedisAddr('redis://localhost:6379/0').port, 6379)
})
test('isRedisEnabled', (t) => {
const prev = process.env.PEARDATA_REDIS
delete process.env.PEARDATA_REDIS
t.absent(isRedisEnabled())
process.env.PEARDATA_REDIS = '1'
t.ok(isRedisEnabled())
if (prev == null) delete process.env.PEARDATA_REDIS
else process.env.PEARDATA_REDIS = prev
})