diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/rewrite_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/rewrite_test.go b/test/rewrite_test.go index 310e43efa..d9ef09b15 100644 --- a/test/rewrite_test.go +++ b/test/rewrite_test.go @@ -7,6 +7,34 @@ import ( "github.com/miekg/dns" ) +func TestRewriteFailure(t *testing.T) { + t.Parallel() + i, udp, _, err := CoreDNSServerAndPorts(`.:0 { + rewrite name regex (.*)\.test\.$ {1}. answer auto + # no next plugin to induce SERVFAIL + }`) + if err != nil { + t.Fatalf("Could not get CoreDNS serving instance: %s", err) + } + + defer i.Stop() + + m := new(dns.Msg) + m.SetQuestion("example.test.", dns.TypeMX) + + r, err := dns.Exchange(m, udp) + if err != nil { + t.Fatalf("Expected to receive reply, but didn't: %s", err) + } + + if len(r.Question) == 0 { + t.Error("Invalid empty question section") + } + if r.Question[0].Name != "example.test." { + t.Errorf("Question section mismatch. expected \"example.test.\" got %q", r.Question[0].Name) + } +} + func TestRewrite(t *testing.T) { t.Parallel() corefile := `.:0 { |