#!/bin/sh

set -e

. debian/tests/common

cleanup() {
    rm -rf /shares
    rm -f /etc/backuppc/localhost.pl
    if [ -f /etc/samba/smb.conf.dep8 ]; then
        mv -f /etc/samba/smb.conf.dep8 /etc/samba/smb.conf
    fi
    if [ -n "${username}" ]; then
        if grep -qE "^${username}" /etc/passwd; then
            smbpasswd -x "${username}" || :
            userdel -r "${username}" || :
        fi
    fi
}

trap cleanup EXIT

cp /etc/samba/smb.conf /etc/samba/smb.conf.dep8

sharename="private"
sharepath="/shares/${sharename}"
rm -rf "${sharepath}"

echo "Populating share path"
populate_directory "${sharepath}"

echo "Adding samba share"
add_samba_share "${sharename}" "${sharepath}" no

echo "Creating user"
username="smbtest$$"
password="$$"
add_user "${username}" "${password}"

echo "Configuring backuppc"
add_localhost_backuppc_config "${sharename}" "${username}" "${password}"

result=0
echo "Performing a full backup"
sudo -u backuppc -H /usr/share/backuppc/bin/BackupPC_dump -v -f localhost || result=$?
check_status $result "Full backup"

result=0
echo "Changing share content and performing an incremental backup"
populate_directory "${sharepath}"
sudo -u backuppc -H /usr/share/backuppc/bin/BackupPC_dump -v -i localhost || result=$?
check_status $result "Incremental backup"

echo "Done."
