dnssec-trigger/tests/Sanity/basic-functionality/test.sh
Petr Menšík 428487f73d fixup! Reuse common parts in test
[skip changelog]
2023-07-25 20:52:31 +02:00

59 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
MOVED_RESOLV_CONF=""
wait_for_probe() {
while dnssec-trigger-control status | grep -q '^probe is in progress'; do
sleep 1
done
}
test_fallback() {
local TYPE=$1
local HOST=$2
rlRun "dnssec-trigger-control test_${TYPE}"
wait_for_probe
sleep 1
rlRun "dnssec-trigger-control status"
rlRun -s "unbound-host -rvD ${HOST}" 0 "Check dnssec works over ${TYPE} fallback"
rlAssertGrep '(secure)' $rlRun_LOG
}
rlJournalStart
rlPhaseStartSetup
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
rlAssertRpm dnssec-trigger
rlFileBackup --missing-ok /etc/resolv.conf
if test -L /etc/resolv.conf; then
MOVED_RESOLV_CONF="/etc/resolv-backup-$$.conf"
rlRun "mv /etc/resolv.conf ${MOVED_RESOLV_CONF}"
fi
rlRun "pushd $tmp"
rlServiceStart dnssec-triggerd
rlPhaseEnd
rlPhaseStartTest
rlRun "dnssec-trigger-control status"
rlRun -s "unbound-host -rvD example.org" 0 "Check dnssec actually works"
rlAssertGrep '(secure)' $rlRun_LOG
test_fallback tcp www.example.org
# This variant is not passing
#test_fallback http example.net
test_fallback ssl www.example.net
rlPhaseEnd
rlPhaseStartCleanup
rlServiceRestore dnssec-triggerd
rlRun "popd"
if [ -n "$MOVED_RESOLV_CONF" ]; then
rm -f /etc/resolv.conf
rlRun "mv -f ${MOVED_RESOLV_CONF} /etc/resolv.conf"
fi
rlFileRestore
rlRun "rm -r $tmp" 0 "Remove tmp directory"
rlPhaseEnd
rlJournalEnd