lorax/tests/cli/test_compose_sanity.sh

80 lines
2.5 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 | xargs`" "ami ext4-filesystem live-iso openstack partitioned-disk qcow2 tar vhd vmdk"
2018-12-12 11:38:09 +00:00
rlPhaseEnd
rlPhaseStartTest "compose start"
UUID=`$CLI compose start example-http-server ami`
rlAssertEquals "exit code should be zero" $? 0
UUID=`echo $UUID | cut -f 2 -d' '`
if [ -n "$UUID" ]; then
until $CLI compose details $UUID | grep 'RUNNING'; do
sleep 20
rlLogInfo "Waiting for compose to start running..."
if $CLI compose info $UUID | grep 'FAILED'; then
rlFail "Compose FAILED!"
break
fi
done;
else
rlFail "Compose UUID is empty!"
fi
# check if anaconda is really running
until ps -axo comm,pid | grep '^anaconda'; do
sleep 10
rlLogInfo "Waiting for anaconda to start running..."
done;
rlPhaseEnd
rlPhaseStartTest "cancel compose"
rlRun -t -c "$CLI compose cancel $UUID"
rlRun -t -c "$CLI compose details $UUID" 1 "compose is canceled"
rlPhaseEnd
rlPhaseStartTest "compose start again"
UUID=`$CLI compose start example-http-server tar`
2018-12-12 11:38:09 +00:00
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"
wait_for_compose $UUID
2018-12-12 11:38:09 +00:00
if [ -n "$UUID" ]; then
check_compose_status "$UUID"
2018-12-12 11:38:09 +00:00
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
fi
rlPhaseEnd
rlJournalEnd
rlJournalPrintText