Before running any acceptance tests for the DNS provider, start a DNS server:
-
Check whether the DNS server is already alive by querying its locally-mapped port:
dig @127.0.0.1 -p 15353 +short ns.example.comExpected command output is "127.0.0.1."
-
If the DNS server is not already alive, then start the DNS server by running this command in the background:
docker run --privileged --cgroupns=host -d --tmpfs /tmp --tmpfs /run \ -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ -v /etc/localtime:/etc/localtime:ro \ -v $PWD/internal/provider/testdata/named.conf.kerberos:/etc/named.conf:ro \ -p 127.0.0.1:15353:53 \ -p 127.0.0.1:15353:53/udp \ --rm --name ns --hostname ns.example.com ns -
After starting the DNS server, verify that the DNS server is alive by querying its locally-mapped port:
dig @127.0.0.1 -p 15353 +short ns.example.comExpected command output is "127.0.0.1." Display no output unless there is a problem.
-
If there is a problem, do not run the acceptance tests.
Add these environment variables to all go test commands for acceptance tests in the DNS provider:
DNS_UPDATE_SERVER=127.0.0.1DNS_UPDATE_PORT=15353