From 3bfd56fe6dbeb4e8ea71ae6ce402a7e685101a11 Mon Sep 17 00:00:00 2001 From: Michal Rakowski Date: Thu, 22 Oct 2020 23:03:09 +0200 Subject: [PATCH] regress: Add test for 'delete object' command --- regress/tests/console-delete-object-test | 107 +++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100755 regress/tests/console-delete-object-test diff --git a/regress/tests/console-delete-object-test b/regress/tests/console-delete-object-test new file mode 100755 index 000000000..b12eac3d5 --- /dev/null +++ b/regress/tests/console-delete-object-test @@ -0,0 +1,107 @@ +#!/bin/bash +# +# Copyright (C) 2000-2020 Kern Sibbald +# License: BSD 2-Clause; see file LICENSE-FOSS +# +# Test if Plugin Objects are deleted corectly by 'delete object' command. +# +TestName="console-delete-object-test" +JobName=pluginTest +. scripts/functions + +scripts/cleanup +scripts/copy-plugin-confs +make -C $src/src/plugins/fd install install-test-plugin +if [ $? -ne 0 ]; then + print_debug "Failed to build and install test-plugin!" + exit 1 +fi + +file=encrypt-bug.jpg +rm -rf ${cwd}/tmp/* +echo "${cwd}/README" >${cwd}/tmp/file-list + +start_test + +cat <${cwd}/tmp/bconcmds +@output /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=File1 volume=TestVolume001 +run job=TestPluginTest storage=File1 yes +wait +status client=$CLIENT +messages +@$out ${cwd}/tmp/log2.out +list objects +quit +END_OF_DATA + +run_bacula + +vm_objects_lines=`cat ${cwd}/tmp/log2.out | grep 'VMWare' | wc -l` +if [ ${vm_objects_lines} -eq 0 ]; then + estat=1 + print_debug "Did not find any object of 'VMWare' type" +fi + +db_objects_lines=`cat ${cwd}/tmp/log2.out | grep 'PostgreSQL' | wc -l` +if [ ${objects_lines} -eq 0 ]; then + estat=1 + print_debug "Did not find any object of 'PostgreSQL' type" +fi + +cat $tmp/log2.out | awk '/VMWare/ {print $2 }' > $tmp/vmware_ids.log +readarray -t vmware_ids < $tmp/vmware_ids.log + +cat $tmp/log2.out | awk '/PostgreSQL/ {print $2 }' > $tmp/postgresql_ids.log +readarray -t postgresql_ids < $tmp/postgresql_ids.log + +cat <${cwd}/tmp/bconcmds +@$out ${cwd}/tmp/log3.out +delete +7 +${vmware_ids[0]} +@$out ${cwd}/tmp/log4.out +list objects +quit +END_OF_DATA + +run_bconsole + +objects_lines=`cat ${cwd}/tmp/log4.out | grep 'VMWare' | wc -l` +if [ ${objects_lines} -ne 1 ]; then + estat=1 + print_debug "Wrong VMWare plugin objects count found in output: ${objects_lines}" +fi + +objects_lines=`cat ${cwd}/tmp/log4.out | grep 'PostgreSQL' | wc -l` +if [ ${objects_lines} -ne $db_objects_lines ]; then + estat=1 + print_debug "No PostgreSQL object should be deleted now" +fi + +cat <${cwd}/tmp/bconcmds +@$out ${cwd}/tmp/log5.out +delete object objectid="${postgresql_ids[0]},${postgresql_ids[1]}" +@$out ${cwd}/tmp/log6.out +list objects +quit +END_OF_DATA + +run_bconsole + +objects_lines=`cat ${cwd}/tmp/log6.out | grep 'VMWare' | wc -l` +if [ ${objects_lines} -ne 1 ]; then + estat=1 + print_debug "Wrong VMWare plugin objects count found in output: ${objects_lines}" +fi + +objects_lines=`cat ${cwd}/tmp/log6.out | grep 'PostgreSQL' | wc -l` +if [ ${objects_lines} -ne 0 ]; then + estat=1 + print_debug "No PostgreSQL object should be deleted now" +fi + +stop_bacula +end_test -- 2.47.3