#!/usr/bin/env bash
#clear
#export PS4='\e[90m+${LINENO} in ${#BASH_SOURCE[@]}>${FUNCNAME[0]}:${BASH_SOURCE[@]##*/} \e[0m'
#set -x

level=$1
if [ -z "$level" ]; then
  level=1
fi
echo "starting: ${BASH_SOURCE[@]##*/} <LOG_LEVEL=$1>"

#echo "sourcing init"
source this
source test.suite

log.level $level

# Guard: scenario.fix requires a working ONCE environment
SCENARIO_AVAILABLE=0
if type once &>/dev/null && [ -f ~/.once ]; then
  source ~/.once 2>/dev/null
  if [ -n "$ONCE_DEFAULT_SCENARIO" ] && [ -d "$ONCE_DEFAULT_SCENARIO" ]; then
    SCENARIO_AVAILABLE=1
  fi
fi

if [ "$SCENARIO_AVAILABLE" -eq 0 ]; then
  echo -e "\e[1;33m  ⚠ SKIPPED: once scenario.fix prerequisites not met\e[0m"
  test.suite.save.results
  exit 0
fi

test.case - "scenario.fix dev.wo-da.de.vhost.scnariotest.1blu.de" \
   once scenario.fix dev.wo-da.de.vhost.scnariotest.1blu.de
. ~/.once
RESULT=$ONCE_DEFAULT_SCENARIO
if [ -n "$RESULT" ] && [ -d "$RESULT" ]; then
  expect.pass "scenario.fix updated ONCE_DEFAULT_SCENARIO: $RESULT"
else
  expect.fail "current default scenario: $ONCE_DEFAULT_SCENARIO"
fi

RESULT=$ONCE_SCENARIO
if [ -n "$RESULT" ]; then
  expect.pass "scenario.fix updated ONCE_SCENARIO: $RESULT"
else
  expect.fail "current scenario: $ONCE_SCENARIO"
fi

EXPECTED_HOSTNAME=$HOSTNAME


#source loop

EXPECTED_DOMAIN_PATH=$HOSTNAME
loop $EXPECTED_DOMAIN_PATH . reverse silent and r / 
# EXPECTED_DOMAIN_PATH=$RESULT
# warn.log "$RESULT"
# loop.this $EXPECTED_DOMAIN_PATH / reverse silent
EXPECTED_DOMAIN_PATH=$RESULT


test.case - "scenario.fix" \
   once scenario.fix 

. ~/.once
RESULT=$ONCE_DEFAULT_SCENARIO
if [ -n "$RESULT" ] && [ -d "$RESULT" ]; then
  expect.pass "reset default scenario: $RESULT"
else
  expect.fail "reset default scenario: $ONCE_DEFAULT_SCENARIO"
fi

test.suite.save.results