# #-- zonemd_reload.test --#
# source the master var file when it's there
[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
# use .tpkg.var.test for in test variable passing
[ -f .tpkg.var.test ] && source .tpkg.var.test

PRE="../.."
# do the test
echo "> dig www.example.com."
dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
if grep SERVFAIL outfile; then
	echo "> try again"
	dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
fi
if grep SERVFAIL outfile; then
	echo "> try again"
	sleep 1
	dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
fi
if grep SERVFAIL outfile; then
	echo "> try again"
	sleep 1
	dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
fi
if grep SERVFAIL outfile; then
	echo "> try again"
	sleep 1
	dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
fi
if grep SERVFAIL outfile; then
	echo "> try again"
	sleep 10
	dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
fi
if grep SERVFAIL outfile; then
	echo "> try again"
	sleep 10
	dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
fi
echo "> cat logfiles"
cat fwd.log 
cat unbound.log
echo "> check answer"
if grep www.example.com outfile | grep "192.0.2.1"; then
	echo "OK"
else
	echo "Not OK"
	exit 1
fi

echo "> unbound-control status"
$PRE/unbound-control -c ub.conf status
if test $? -ne 0; then
	echo "wrong exit value."
	exit 1
else
	echo "exit value: OK"
fi

echo "> unbound-control auth_zone_reload example.com"
$PRE/unbound-control -c ub.conf auth_zone_reload example.com 2>&1 | tee outfile
if test $? -ne 0; then
	echo "wrong exit value."
	exit 1
fi
echo "> check unbound-control output"
if grep "example.com: ZONEMD verification successful" outfile; then
	echo "OK"
else
	echo "Not OK"
	exit 1
fi

exit 0
