#!/usr/bin/bash

function run() {
    local testID="$1" test_prop="$2" repeat="$3" sleep="$4"
    logFile="testLog$(date +"%Y-%m-%d").txt"
    logLink="testLog.curr.txt"
    if [ ! -f "$logFile" ]; then
        touch "$logFile"
    fi
    if [ -L "$logLink" ]; then
        rl=$(readlink "$logLink")
        if [[ "$rl" != "$logFile" ]]; then
            ln -s -f "$logFile" "$logLink"
        fi
    else
        ln -s "$logFile" "$logLink"
    fi
    SAPHanaSR-testCluster-multiNode --testFile="$test_dir/${testID}.json" \
                            --repeat="$repeat" \
                            --dumpFailures \
                            --defaultChecksFile="$test_dir/defaultChecks.json" \
                            --properties="$test_dir/$test_prop.json" \
                            --remoteNodes $nodes \
                            --logFile "$local_dir/$logFile"
    # ln -s -f testLog2023-03-31.txt testLog.curr.txt
    sleep "$sleep"; 
    return 0
}

test_scenario="angi-ScaleUp"
test_case="nop"
test_prop="properties"
local_dir="$PWD"
nodes=""

while [ $# -gt 0 ]; do
    case "$1" in
        --test_scenario=* )
                test_scenario=${1#*=}
                ;;
        --node=* )
                nodes="$nodes ${1#*=}"
                ;;
        --properties=* )
                test_prop=${1#*=}
                ;;
    esac
    shift
done

test_dir="/usr/share/SAPHanaSR-tester/json/$test_scenario"

echo "nodes: $nodes, test_scenario=$test_scenario"
while true; do  
    run kill_prim_inst  "$test_prop" 3 600
    run free_log_area "$test_prop" 1 60
    run kill_prim_inst  "$test_prop" 1 120
    run free_log_area "$test_prop" 1 60
    run restart_cluster_turn_hana  "$test_prop" 1 300
    run ssn  "$test_prop" 2 300
    run kill_secn_inst  "$test_prop" 3 300
    run spn  "$test_prop" 2 300
    run sap  "$test_prop" 1 300
    run kill_prim_indexserver  "$test_prop" 1 300
    run nop  "$test_prop" 1  10 
    run kill_secn_indexserver  "$test_prop" 1 300
    run maintenance_cluster_turn_hana "$test_prop" 1 300
    run restart_cluster "$test_prop" 1 300
    run restart_cluster_hana_running "$test_prop" 1 300
    run bmt "$test_prop" 1  60
done 
