#!/bin/bash
set -e

echo "===== Starting rrdcached test ====="

TEST_RRD="/var/lib/rrdcached/db/cachedtest.rrd"
SOCK="/run/rrdcached.sock"

# Clean up previous runs
rm -f "$TEST_RRD"

# start socket
echo "--> starting socket"
systemctl start rrdcached.socket
systemctl status rrdcached.socket

# Create an RRD file for testing
echo "--> Creating RRD file..."
rrdtool create "$TEST_RRD" \
    --start now-10m --step 60 \
    --daemon "unix:$SOCK" \
    DS:test:GAUGE:120:0:100 \
    RRA:AVERAGE:0.5:1:10
echo "OK: RRD file created."

# Update via daemon
echo "--> Updating RRD via daemon..."
rrdtool update --daemon "unix:$SOCK" "$TEST_RRD" N:50
echo "OK: Update command sent to daemon."

# Flush data to disk
echo "--> Flushing data..."
rrdtool flushcached --daemon "unix:$SOCK" "$TEST_RRD"
echo "OK: Flush command sent."

echo "--> Stopping daemon and socket..."
systemctl stop rrdcached.service
systemctl stop rrdcached.socket

echo "===== rrdcached test PASSED ====="
exit 0
