#!/bin/sh
#
# Run test-plugin-fd.  Note, this plugin is for testing
#   new features and probably should not be run in normal
#   testing
#
TestName="test-plugin-test"
JobName=TestPluginTest
. scripts/functions

# Build and install the test plugin
cd ${cwd}/build/src/plugins/fd
make
make install-test-plugin
cd ${cwd}

scripts/cleanup
scripts/copy-plugin-confs
file=encrypt-bug.jpg

# Directory to backup.
# This directory will be created by setup_data().
BackupDirectory="${tmp}/data"

# Use a tgz to setup data to be backed up.
# Data will be placed at "${tmp}/data/".
setup_data data/small.tgz

# the default fileset FS_TESTJOB backups all file and directories defined in "${tmp}/file-list".
echo "${BackupDirectory}" >${tmp}/file-list


start_test

cat <<END_OF_DATA >${cwd}/tmp/bconcmds
@$out /dev/null
messages
@$out ${cwd}/tmp/log1.out
label storage=File1 volume=TestVolume001
setdebug level=100 client=$CLIENT
estimate job=$JobName level=Full
@#setdebug level=150 client=$CLIENT
@#setdebug level=150 storage=File1
run job=$JobName storage=File1 yes
wait
status client=$CLIENT
messages
quit
END_OF_DATA


run_bareos

cat <<END_OF_DATA >${cwd}/tmp/bconcmds
messages
@#
@# now do a restore
@#
@$out ${cwd}/tmp/log2.out
setdebug level=50 client=$CLIENT
restore where=${cwd}/tmp  select all storage=File1 done
yes
wait
setdebug level=0 client=$CLIENT
messages
quit
END_OF_DATA

run_bconsole

stop_bareos

exit 0

# ****FIXME**** test if the restore of the two files is OK

#
# Remove plugin so we can try the restore without the plugin
#
mv -f ${cwd}/bin/plugins/test-plugin-fd.so ${cwd}/bin/plugins/test-plugin-fd.sox

cat <<END_OF_DATA >${cwd}/tmp/bconcmds
@$out ${cwd}/tmp/log2.out
@# remove plugin
@exec "sh -c 'rm -f ${cwd}/bin/plugins/test-plugin-fd.so'"
@#
@# now do a restore without the plugin
@#
@$out ${cwd}/tmp/log2.out
@#setdebug level=50 client=$CLIENT
restore where=${cwd}/tmp  select all storage=File1 done
yes
wait
messages
quit
END_OF_DATA

run_bareos -d50
run_bconsole

check_for_zombie_jobs storage=File1
stop_bareos
#
# Restore plugin
#
mv -f ${cwd}/bin/plugins/test-plugin-fd.sox ${cwd}/bin/plugins/test-plugin-fd.so

check_two_logs
#
# ****FIXME**** test that all three files are restored correctly
#
diff ${cwd}/${file} ${cwd}/tmp/${file}
dstat=$?
end_test
