#!/bin/sh

set -x

TMPDIR=$(mktemp -d)
BASEDIR="$TMPDIR/snac"
HOSTNAME=localhost
USERNAME=tester
TESTFAILED=0

# test init
printf '\n\n%s\n\n' "$HOSTNAME" | snac init "$BASEDIR"
test $? -eq 0 || TESTFAILED=1

# test adduser
printf '%s\n' "$USERNAME" | snac adduser "$BASEDIR"
test $? -eq 0 || TESTFAILED=1

# test httpd
snac httpd "$BASEDIR" &
pid=$!
sleep 5

wget --output-document test.html "http://$HOSTNAME:8001" 2>&1
cat test.html
grep --quiet "@$USERNAME@$HOSTNAME" test.html
test $? -eq 0 || TESTFAILED=1
rm test.html

# stop httpd
kill $pid
sleep 5
kill -9 $pid 2>/dev/null || true
wait

# test purge
snac purge "$BASEDIR"
test $? -eq 0 || TESTFAILED=1

# check results
if [ $TESTFAILED -eq 1 ]; then
    echo "One or more tests failed."
    exit 1
else
    echo "All tests passed."
fi
