Skip to content

Commit e230e12

Browse files
committed
CI: fixed templates-resolver-ipv6 tests.
1 parent a06a168 commit e230e12

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
example.com - OK
2+
ipv6 nameserver(s) present

.test/tests/templates-resolver-ipv6/run.sh

+25-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ fi
2121

2222
# Create a new Docker network
2323
nid="$(docker network create --ipv6 --subnet fd0c:7e57::/64 nginx-test-ipv6-network)"
24-
trap "docker network rm -f $nid > /dev/null" EXIT
24+
25+
_network_exit_handler() {
26+
docker network rm -f $nid > /dev/null
27+
}
2528

2629
# Create an instance of the container-under-test
2730
serverImage="$("$HOME/oi/test/tests/image-name.sh" librarytest/nginx-template "$image")"
@@ -30,7 +33,14 @@ FROM $image
3033
COPY dir/server.conf.template /etc/nginx/templates/server.conf.template
3134
EOD
3235
cid="$(docker run -d --network $nid -e NGINX_ENTRYPOINT_LOCAL_RESOLVERS=true -e NGINX_MY_SERVER_NAME=example.com "$serverImage")"
33-
trap "docker rm -vf $cid > /dev/null" EXIT
36+
37+
_container_exit_handler() {
38+
docker rm -vf $cid > /dev/null
39+
}
40+
_exit_handler() { _container_exit_handler; _network_exit_handler; }
41+
trap "_exit_handler" EXIT
42+
43+
ipv6cid="$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.GlobalIPv6Address}}{{end}}' $cid)"
3444

3545
_request() {
3646
local method="$1"
@@ -49,12 +59,23 @@ _request() {
4959
fi
5060

5161
docker run --rm \
52-
--link "$cid":nginx \
62+
--network "$nid" \
5363
"$clientImage" \
54-
curl -fsSL -X"$method" --connect-to '::nginx:' "$@" "$proto://example.com/$url"
64+
curl -fsSL -X"$method" --connect-to "::[$ipv6cid]:" "$@" "$proto://example.com/$url"
5565
}
5666

5767
. "$HOME/oi/test/retry.sh" '[ "$(_request GET / --output /dev/null || echo $?)" != 7 ]'
5868

5969
# Check that we can request /
6070
_request GET http '/resolver-templates' | grep 'example.com - OK'
71+
72+
result="$(docker exec $cid grep resolver /etc/nginx/conf.d/server.conf)"
73+
74+
case "$result" in
75+
resolver*\[*\]*)
76+
echo "ipv6 nameserver(s) present"
77+
;;
78+
*)
79+
echo "no ipv6 nameserver(s) present"
80+
;;
81+
esac

.test/tests/templates-resolver-ipv6/server.conf.template

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ resolver ${NGINX_LOCAL_RESOLVERS};
22

33
server {
44
listen 80;
5+
listen [::]:80;
56
server_name ${NGINX_MY_SERVER_NAME};
67
default_type text/plain;
78
location = / { return 200 'OK\n'; }

0 commit comments

Comments
 (0)