#!/usr/bin/env bash

set -Eeuo pipefail

NODE=
CONFIG=/etc/supervisor/conf.d/sanquan.conf
CRON=/etc/cron.d/zhct-sanquan
while (($#)); do
    case "$1" in
        --node) NODE=${2:-}; shift 2 ;;
        --config) CONFIG=${2:-}; shift 2 ;;
        --cron) CRON=${2:-}; shift 2 ;;
        *) echo "unknown argument: $1" >&2; exit 2 ;;
    esac
done

[[ "$NODE" == app01 || "$NODE" == app02 ]]
[[ $(awk -F= '/^numprocs=/{sum+=$2} END{print sum}' "$CONFIG") -eq 9 ]]
grep -Fq '[program:aizhcttime_sanquan]' "$CONFIG"
case "$NODE" in
    app01) expected_device='dev1_consume_work_%(process_num)d' ;;
    app02) expected_device='dev2_consume_work_%(process_num)d' ;;
esac
grep -Fq "$expected_device" "$CONFIG"

if [[ "$NODE" == app01 ]]; then
    grep -Fq 'mysql-backup-wrapper.sh' "$CRON"
    grep -Fq 'think staffPower' "$CRON"
    [[ $(grep -c 'flock -n /run/lock/zhct/' "$CRON") -ge 11 ]]
else
    ! grep -Eq 'mysql-backup|staffPower|meal_order\.sh|sys_power\.sh|mqrepeat\.sh|subsidy|export_meal_order' "$CRON"
fi

echo "PASS: $NODE supervisor=9 and singleton policy"
