#!/bin/sh

set -e

. debian/tests/lib.sh

require_host_getent
require_apt_jessie
require_systemd

if ! apt-get -y --allow-downgrades --download-only install --reinstall "libnss-mdns${host_suffix}=0.10-6"; then
    echo "1..0 # SKIP - unable to download libnss-mdns=0.10-6"
    exit 77
fi

# pre-download the packages in case we break name resolution
assert_succeeds apt-get -y --download-only install --reinstall "libnss-mdns${host_suffix}"
assert_succeeds apt-get -y --download-only install --reinstall "libnss-resolve${host_suffix}"

distinctive_hostname="nss-mdns-test-$(dbus-uuidgen)"

assert_succeeds avahi-set-host-name "$distinctive_hostname"
sleep 3

assert_succeeds apt-get -y purge "libnss-mdns${host_suffix}"
assert_succeeds apt-get -y purge "libnss-resolve${host_suffix}"

assert_succeeds perl -i -pe 's/^hosts:.*/hosts: files dns/' /etc/nsswitch.conf

assert_succeeds apt-get -y install "libnss-resolve${host_suffix}"
assert_hosts "hosts: files $(get_resolve_rune) dns"

# .local resolution doesn't work here due to #846944
assert_succeeds apt-get -y --allow-downgrades install "libnss-mdns${host_suffix}=0.10-6"

# fixes .local resolution on upgrade
assert_succeeds apt-get -y install "libnss-mdns${host_suffix}"
assert_hosts "hosts: files mdns4_minimal [NOTFOUND=return] $(get_resolve_rune) dns"
assert_succeeds "$host_getent" hosts "$distinctive_hostname.local"

finish

# vim:set sw=4 sts=4 et:
