aboutsummaryrefslogtreecommitdiff
path: root/middleware/file/file_test.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-06-13 12:51:52 -0700
committerGravatar GitHub <noreply@github.com> 2017-06-13 12:51:52 -0700
commit46bf7f31069137aee8a82bc4f8287ce60117652c (patch)
tree442e146aa3b7b6de4b4487fe545045e6aa62601b /middleware/file/file_test.go
parente9eda7e7c8ed75d62b02f23c62e8e318ea1685ae (diff)
downloadcoredns-46bf7f31069137aee8a82bc4f8287ce60117652c.tar.gz
coredns-46bf7f31069137aee8a82bc4f8287ce60117652c.tar.zst
coredns-46bf7f31069137aee8a82bc4f8287ce60117652c.zip
middleware/file: consider no SOA a fatal error (#734)
Don't load a zone with a SOA record, barf with 'no SOA record' error.
Diffstat (limited to 'middleware/file/file_test.go')
-rw-r--r--middleware/file/file_test.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/middleware/file/file_test.go b/middleware/file/file_test.go
index d5762683d..ae17624f9 100644
--- a/middleware/file/file_test.go
+++ b/middleware/file/file_test.go
@@ -10,3 +10,22 @@ func BenchmarkParseInsert(b *testing.B) {
Parse(strings.NewReader(dbMiekENTNL), testzone, "stdin", 0)
}
}
+
+func TestParseNoSOA(t *testing.T) {
+ _, err := Parse(strings.NewReader(dbNoSOA), "example.org.", "stdin", 0)
+ if err == nil {
+ t.Fatalf("zone %q should have failed to load", "example.org.")
+ }
+ if !strings.Contains(err.Error(), "no SOA record") {
+ t.Fatalf("zone %q should have failed to load with no soa error: %s", "example.org.", err)
+ }
+}
+
+const dbNoSOA = `
+$TTL 1M
+$ORIGIN example.org.
+
+www IN A 192.168.0.14
+mail IN A 192.168.0.15
+imap IN CNAME mail
+`