#!/bin/sh

set -e

src_dir="$1"
shift

for vhost in "$@"; do 
	protocol="`grep -o 'SSLProtocol.*' /etc/apache2/sites-enabled/$vhost.conf`" || true
	if [ "$protocol" = '' ]; then
		echo "=== Running test for $vhost without SSLProtocol ==="
	else
		echo "=== Running test for $vhost with $protocol ==="
	fi

	( echo 'ls -l .ssh' | sftp localhost 1>localhost_stdout 2>localhost_stderr ) || true
	( echo 'ls -l .ssh' | sftp tunneled-$vhost 1>tunneled-vhost_stdout 2>tunneled-vhost_stderr ) || true

	echo stderr\'s diff
    port=`sed -Ee '/^<VirtualHost/ s/.*:([0-9]*)>/\1/p; d' $src_dir/$vhost.conf`
	# Use explicit <newline> characters, to keep it POSIX compliant.
	EXPECTED_STDERR="Via $vhost:$port -> localhost:22
Connected to tunneled-$vhost.
"
	echo -n "$EXPECTED_STDERR" | diff -y - tunneled-vhost_stderr

	echo stdout\'s diff
	diff -y localhost_stdout tunneled-vhost_stdout

	echo Test succeeded for $vhost
done
