simplify dns tests

- use 'host' to lookup MX record. It's shorter
- use getent everywhere else for dns lookups, instead of dig; this
  tests more of the o/s name resolution machinery and is generally
  shorter.
- introduce assert_dns_record helper that performs forward and reverse
- lookup introduce some vars for holding constants, so we don't have
  to repeat them
This commit is contained in:
Matthias Radestock committed 2015-04-22 19:38:04 +01:00
1 parent 5749d19fee
commit eebb674232
5 files changed
+25 -25

No files matched your search

+3 -6
View File
@@ -4,6 +4,7 @@
C1=10.2.0.78
C2=10.2.0.34
NAME=seetwo.weave.local
start_suite "Resolve names on a single host"
@@ -13,13 +14,9 @@ weave_on $HOST1 launch-dns 10.2.254.1/24
docker_on $HOST1 rm -f c1 c2 || true
weave_on $HOST1 run $C2/24 -t --name=c2 -h seetwo.weave.local ubuntu
weave_on $HOST1 run $C2/24 -t --name=c2 -h $NAME ubuntu
weave_on $HOST1 run --with-dns $C1/24 -t --name=c1 aanand/docker-dnsutils /bin/sh
ok=$(exec_on $HOST1 c1 dig +short seetwo.weave.local)
assert "echo $ok" "$C2"
ok=$(exec_on $HOST1 c1 dig +short -x $C2)
assert "echo $ok" "seetwo.weave.local."
assert_dns_record $HOST1 c1 $NAME $C2
end_suite
+5 -8
View File
@@ -4,6 +4,7 @@
C1=10.2.3.78
C2=10.2.3.34
NAME=seetwo.weave.local
start_suite "Resolve names across hosts"
@@ -19,16 +20,12 @@ weave_on $HOST2 launch $HOST1
weave_on $HOST1 launch-dns 10.2.254.1/24 -debug
weave_on $HOST2 launch-dns 10.2.254.2/24 -debug
weave_on $HOST2 run $C2/24 -t --name=c2 -h seetwo.weave.local ubuntu
weave_on $HOST2 run $C2/24 -t --name=c2 -h $NAME ubuntu
weave_on $HOST1 run --with-dns $C1/24 --name=c1 -t aanand/docker-dnsutils /bin/sh
ok=$(exec_on $HOST1 c1 dig +short seetwo.weave.local)
assert "echo $ok" "$C2"
assert_dns_record $HOST1 c1 $NAME $C2
ok=$(exec_on $HOST1 c1 dig +short -x $C2)
assert "echo $ok" "seetwo.weave.local."
ok=$(exec_on $HOST1 c1 dig +short -x 8.8.8.8)
assert "test -n \"$ok\" && echo pass" "pass"
ok=$(exec_on $HOST1 c1 getent hosts 8.8.8.8)
assert_raises "echo $ok | grep google"
end_suite
+5 -7
View File
@@ -4,22 +4,20 @@
C1=10.2.56.34
C2=10.2.54.91
DOMAIN=foo.bar
NAME=seetwo.$DOMAIN
start_suite "Resolve names in custom domain"
weave_on $HOST1 stop || true
weave_on $HOST1 stop-dns || true
weave_on $HOST1 launch-dns 10.2.254.1/24 --domain foo.bar.
weave_on $HOST1 launch-dns 10.2.254.1/24 --domain $DOMAIN.
docker_on $HOST1 rm -f c1 c2 || true
weave_on $HOST1 run $C2/24 -t --name=c2 -h seetwo.foo.bar ubuntu
weave_on $HOST1 run $C2/24 -t --name=c2 -h $NAME ubuntu
weave_on $HOST1 run --with-dns $C1/24 -t --name=c1 aanand/docker-dnsutils /bin/sh
ok=$(exec_on $HOST1 c1 dig +short seetwo.foo.bar.)
assert "echo $ok" "$C2"
ok=$(exec_on $HOST1 c1 dig +short -x $C2)
assert "echo $ok" "seetwo.foo.bar."
assert_dns_record $HOST1 c1 $NAME $C2
end_suite
+4 -4
View File
@@ -10,10 +10,10 @@ docker_on $HOST1 rm -f c1 || true
weave_on $HOST1 run --with-dns 10.2.1.5/24 --name=c1 -t aanand/docker-dnsutils /bin/sh
ok=$(exec_on $HOST1 c1 dig +short -t MX weave.works)
assert "test -n \"$ok\" && echo pass" "pass"
ok=$(exec_on $HOST1 c1 host -t mx weave.works)
assert_raises "echo $ok | grep google"
ok=$(exec_on $HOST1 c1 dig +short -x 8.8.8.8)
assert "test -n \"$ok\" && echo pass" "pass"
ok=$(exec_on $HOST1 c1 getent hosts 8.8.8.8)
assert_raises "echo $ok | grep google"
end_suite
+8
View File
@@ -88,6 +88,14 @@ exec_on() {
docker -H tcp://$host:2375 exec $container "$@"
}
# assert_dns_record <host> <container> <name> <ip>
assert_dns_record() {
ok=$(exec_on $1 $2 getent hosts $3)
assert "echo $ok" "$4 $3"
ok=$(exec_on $1 $2 getent hosts $4)
assert "echo $ok" "$4 $3"
}
start_suite() {
whitely echo $@
}