#!/bin/sh

set -efux

if [ -z "$AUTOPKGTEST_TMP" ]; then
    AUTOPKGTEST_TMP=tmp
    mkdir -p ${AUTOPKGTEST_TMP}
fi

SRCDIR=$(pwd)

cp -rv ${SRCDIR}/debian/tests ${AUTOPKGTEST_TMP}
cd ${AUTOPKGTEST_TMP}/tests

user_login=""

./user.py > user.log
while read pass login; do
	user_login=$login
	user_pass=$pass
	sed -e "s/login/$login/" -e "s/passw/$pass/" offlinerc > /home/${user_login}/offlinerc.test
done < user.log
echo "preauthtunnel = ssh -p 22222 -i /home/${user_login}/testkey ${user_login}@localhost '/usr/lib/dovecot/imap'" >> /home/${user_login}/offlinerc.test
usermod -aG dovecot $user_login
usermod -aG dovenull $user_login
echo "Port 22222" >> /etc/ssh/sshd_config
systemctl restart ssh.service
systemctl status ssh.service
#start dovecot if its not running
if [ ! -f /run/dovecot/master.pid ]; then
    dovecot
fi
sleep 5
# wait for dovecot to start running
for i in `seq 1 5`; do
	doveadm -f flow instance list | grep -q 'running=yes'
	if [ $? -eq 0 ]; then
		break
	fi
	sleep 5
done
echo "this is test mail to test offlineimap" | mail -s "testmail" ${user_login}
echo "this is another test mail" | mail -s "second test" ${user_login}
sleep 1
cd /home/${user_login}
su ${user_login} -c "ssh-keygen -f testkey -N \"\""
su ${user_login} -c "mkdir -p ~/.ssh"
su ${user_login} -c "ssh-keyscan -p 22222 localhost > ~/.ssh/known_hosts"
su ${user_login} -c "sshpass -p ${user_pass} ssh-copy-id -p 22222 -i ~/testkey ${user_login}@localhost"
su ${user_login} -c "offlineimap --info -c offlinerc.test"
su ${user_login} -c "offlineimap -o  -c offlinerc.test"
for flname in `ls /home/${user_login}/Test/INBOX/new`; do
	echo ""
	cat /home/${user_login}/Test/INBOX/new/${flname}
done
dovecot stop
userdel -f ${user_login}
