Cleanup the errors and removed deadcode along the way. The leaves some error laying around, mostly about commenting exported identifier. We should look hard if those really are needed.
62 lines
1.6 KiB
Go
62 lines
1.6 KiB
Go
package file
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/miekg/coredns/middleware/test"
|
|
"github.com/miekg/dns"
|
|
)
|
|
|
|
func TestZoneReload(t *testing.T) {
|
|
fileName, rm, err := test.TempFile(t, ".", reloadZoneTest)
|
|
if err != nil {
|
|
t.Fatalf("failed to create zone: %s", err)
|
|
}
|
|
defer rm()
|
|
reader, err := os.Open(fileName)
|
|
if err != nil {
|
|
t.Fatalf("failed to open zone: %s", err)
|
|
}
|
|
z, err := Parse(reader, "miek.nl", fileName)
|
|
if err != nil {
|
|
t.Fatalf("failed to parse zone: %s", err)
|
|
}
|
|
|
|
z.Reload(nil)
|
|
|
|
if _, _, _, res := z.Lookup("miek.nl.", dns.TypeSOA, false); res != Success {
|
|
t.Fatalf("failed to lookup, got %d", res)
|
|
}
|
|
|
|
if _, _, _, res := z.Lookup("miek.nl.", dns.TypeNS, false); res != Success {
|
|
t.Fatalf("failed to lookup, got %d", res)
|
|
}
|
|
|
|
if len(z.All()) != 5 {
|
|
t.Fatalf("expected 5 RRs, got %d", len(z.All()))
|
|
}
|
|
if err := ioutil.WriteFile(fileName, []byte(reloadZone2Test), 0644); err != nil {
|
|
t.Fatalf("failed to write new zone data: %s", err)
|
|
}
|
|
// Could still be racy, but we need to wait a bit for the event to be seen
|
|
time.Sleep(1 * time.Second)
|
|
|
|
if len(z.All()) != 3 {
|
|
t.Fatalf("expected 3 RRs, got %d", len(z.All()))
|
|
}
|
|
}
|
|
|
|
const reloadZoneTest = `miek.nl. 1627 IN SOA linode.atoom.net. miek.miek.nl. 1460175181 14400 3600 604800 14400
|
|
miek.nl. 1627 IN NS ext.ns.whyscream.net.
|
|
miek.nl. 1627 IN NS omval.tednet.nl.
|
|
miek.nl. 1627 IN NS linode.atoom.net.
|
|
miek.nl. 1627 IN NS ns-ext.nlnetlabs.nl.
|
|
`
|
|
|
|
const reloadZone2Test = `miek.nl. 1627 IN SOA linode.atoom.net. miek.miek.nl. 1460175181 14400 3600 604800 14400
|
|
miek.nl. 1627 IN NS ext.ns.whyscream.net.
|
|
miek.nl. 1627 IN NS omval.tednet.nl.
|
|
`
|