#!/bin/sh

rm -rf debian/test-home/
mkdir -p debian/test-home/.config/dconf/
export HOME="${PWD}/debian/test-home"

xvfb-run -- dbus-run-session -- /bin/sh <<'EOF'
export XAUTHORITY=/dev/null
export LOMIRI_CONTENT_HUB_TESTING=1
export LOMIRI_CONTENT_HUB_LOGGING_LEVEL=2
export QT_LOGGING_RULES="*.debug=true"
export QT_MESSAGE_PATTERN="[%{time process} %{type}] %{appname} %{category} %{function} - %{message}"

lomiri-content-hub-service &
trap "kill -9 $! 2>/dev/null" EXIT TERM QUIT INT

# wait for lomiri-content-hub service to be fully responsive
sleep 2

FAILED=

lomiri-content-hub-test-importer &
pid=$!
if ! timeout -s 9 30 lomiri-content-hub-test-exporter lomiri-content-hub-test-importer file:///etc/issue lomiri-content-hub-test-ok; then
    FAILED="${FAILED:+${FAILED} }lomiri-content-hub-test-ok"
fi
kill -9 $pid 2>/dev/null

lomiri-content-hub-test-importer &
sleep 2
pid=$!
timeout -s 9 30 lomiri-content-hub-test-exporter lomiri-content-hub-test-importer file:///etc/issue lomiri-content-hub-test-bad
if [ $? -ne 1 ]; then
    FAILED="${FAILED:+${FAILED} }lomiri-content-hub-test-bad"
fi
kill -9 $pid 2>/dev/null

if [ -z "$FAILED" ]; then
    echo "All tests passed"
    exit 0
else
    echo "$FAILED failed"
    exit 1
fi
EOF
