lorax/tests/cli/test_compose_sanity.sh

54 lines
1.6 KiB
Bash
Raw Normal View History

2018-12-12 11:38:09 +00:00
#!/bin/bash
# Note: execute this file from the project root directory
set -e
2018-12-12 11:38:09 +00:00
. /usr/share/beakerlib/beakerlib.sh
. $(dirname $0)/lib/lib.sh
2018-12-12 11:38:09 +00:00
CLI="${CLI:-./src/bin/composer-cli}"
2018-12-12 11:38:09 +00:00
rlJournalStart
rlPhaseStartTest "compose types"
rlAssertEquals "lists all supported types" \
"`$CLI compose types | sort | xargs`" "ami ext4-filesystem live-iso openstack partitioned-disk qcow2 tar vhd vmdk"
rlPhaseEnd
rlPhaseStartTest "compose start"
UUID=`$CLI --test=2 compose start example-http-server tar`
rlAssertEquals "exit code should be zero" $? 0
UUID=`echo $UUID | cut -f 2 -d' '`
rlPhaseEnd
rlPhaseStartTest "compose details"
2018-12-12 11:38:09 +00:00
if [ -n "$UUID" ]; then
rlRun -t -c "$CLI compose details $UUID | egrep 'RUNNING|WAITING'"
2018-12-12 11:38:09 +00:00
else
rlFail "Compose UUID is empty!"
fi
rlPhaseEnd
rlPhaseStartTest "compose image"
if [ -n "$UUID" ]; then
until $CLI compose details $UUID | grep 'FINISHED\|FAILED'; do
2018-12-12 11:38:09 +00:00
sleep 60
rlLogInfo "Waiting for compose to finish ..."
done;
rlRun -t -c "$CLI compose image $UUID"
rlAssertExists "$UUID-root.tar.xz"
# because this path is listed in the documentation
rlAssertExists "/var/lib/lorax/composer/results/$UUID/"
rlAssertExists "/var/lib/lorax/composer/results/$UUID/root.tar.xz"
rlAssertNotDiffer "/var/lib/lorax/composer/results/$UUID/root.tar.xz" "$UUID-root.tar.xz"
2018-12-12 11:38:09 +00:00
else
rlFail "Compose UUID is empty!"
fi
rlPhaseEnd
rlJournalEnd
rlJournalPrintText