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:
1 parent
5749d19fee
commit
eebb674232
5 files changed
+25
-25
No files matched your search
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 $@
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user