#!/usr/bin/env bash

set -e

eval `ultrapossum-config init`
trap "eval `ultrapossum-config term`" 0

ultrapossum-config get
ultrapossum-config module
ultrapossum-config variable
ultrapossum-config status

## Config set test
ultrapossum-config remove . ORGANIZATION SUFFIX
eval `ultrapossum-config get ORGANIZATION`
oORGANIZATION=$ORGANIZATION
oSUFFIX=$SUFFIX

for v in SUFFIX ORGANIZATION
do
  for val in "hello" "hello world" "hello 'quoted'"
  do
    echo -n "Setting $v to $val ... "
    ultrapossum-config set . "$v=$val"
    eval `ultrapossum-config get $v`
    if test "x${!v}" != "x$val"; then
      echo "failed to set $v to $val (${!v})" 1>&2
      exit 1
    fi
    echo "ok"
  done
done


## Config remove test
echo -n "Removing ORGANIZATION, SUFFIX... "
ultrapossum-config remove . ORGANIZATION SUFFIX
eval `ultrapossum-config get ORGANIZATION SUFFIX`
if test "x$ORGANIZATION" != "x$oORGANIZATION"; then
  echo "failed to remove ORGANIZATION" 1>&2
  exit 1
fi
if test "x$SUFFIX" != "x$oSUFFIX"; then
  echo "failed to remove SUFFIX" 1>&2
  exit 1
fi
echo "ok"
