#!/bin/bash
#---------------------
# Testing sahara-daemons
#---------------------
set -e
DAEMONS=('apache2' 'sahara-engine')

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

ret=0


mysql -u root << EOF
DROP DATABASE IF EXISTS sahara;
CREATE DATABASE sahara;
GRANT ALL PRIVILEGES ON sahara.* TO 'sahara'@'localhost' \
  IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON sahara.* TO 'sahara'@'%' \
  IDENTIFIED BY 'changeme';
EOF

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

sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head

for daemon in "${DAEMONS[@]}"; do
    systemctl start $daemon
    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

curl --fail http://localhost:8386

exit $ret
