#!/bin/bash
#---------------------
# Testing watcher-daemons
#---------------------
set -e

mysql -u root << EOF
CREATE USER 'watcher'@'localhost' IDENTIFIED BY 'changeme';
CREATE USER 'watcher'@'%' IDENTIFIED BY 'changeme';
CREATE DATABASE watcher;
GRANT ALL PRIVILEGES ON watcher.* TO 'watcher'@'localhost';
GRANT ALL PRIVILEGES ON watcher.* TO 'watcher'@'%';
EOF


DAEMONS=('watcher-api' 'watcher-applier' 'watcher-decision-engine')

crudini --set /etc/watcher/watcher.conf database connection "mysql+pymysql://watcher:changeme@localhost/watcher"

watcher-db-manage upgrade

for daemon in "${DAEMONS[@]}"; do
    systemctl restart $daemon
done

ret=0

for daemon in "${DAEMONS[@]}"; do
    TIMEOUT=50
    while [ "$TIMEOUT" -gt 0 ]; do
        if systemctl is-active $daemon > /dev/null; then
            echo "OK"
            break
        fi
        TIMEOUT=$((TIMEOUT - 1))
        sleep 0.1
    done

    if [ "$TIMEOUT" -le 0 ]; then
        echo "ERROR: ${daemon} IS NOT RUNNING"
        ret=1
    fi
done

exit $ret
 -ae
