diff options
author | 2018-06-15 16:12:56 +0100 | |
---|---|---|
committer | 2018-06-15 08:12:56 -0700 | |
commit | 177e32b62e1bd937317ec3fd7c7f3a8114c52d77 (patch) | |
tree | 30be44ecbeb89ad8c196e9178824ef029609f536 /plugin/forward/forward_test.go | |
parent | 70c957d885a6c6b33a0828c680e451a9e3a3994a (diff) | |
download | coredns-177e32b62e1bd937317ec3fd7c7f3a8114c52d77.tar.gz coredns-177e32b62e1bd937317ec3fd7c7f3a8114c52d77.tar.zst coredns-177e32b62e1bd937317ec3fd7c7f3a8114c52d77.zip |
plugin/forward: add REFUSED test (#1878)
add a test to see if we copy the rcode correctly. Some minor cleanup in
import ordering and renaming NewUpstream to New as we already are in the
upstream package.
Diffstat (limited to 'plugin/forward/forward_test.go')
-rw-r--r-- | plugin/forward/forward_test.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/plugin/forward/forward_test.go b/plugin/forward/forward_test.go index 26167c25d..96f5fa0ce 100644 --- a/plugin/forward/forward_test.go +++ b/plugin/forward/forward_test.go @@ -41,3 +41,28 @@ func TestForward(t *testing.T) { t.Errorf("Expected 127.0.0.1, got: %s", resp.Answer[0].(*dns.A).A.String()) } } + +func TestForwardRefused(t *testing.T) { + s := dnstest.NewServer(func(w dns.ResponseWriter, r *dns.Msg) { + ret := new(dns.Msg) + ret.SetReply(r) + ret.Rcode = dns.RcodeRefused + w.WriteMsg(ret) + }) + defer s.Close() + + p := NewProxy(s.Addr, nil) + f := New() + f.SetProxy(p) + defer f.Close() + + state := request.Request{W: &test.ResponseWriter{}, Req: new(dns.Msg)} + state.Req.SetQuestion("example.org.", dns.TypeA) + resp, err := f.Forward(state) + if err != nil { + t.Fatal("Expected to receive reply, but didn't") + } + if resp.Rcode != dns.RcodeRefused { + t.Errorf("Expected rcode to be %d, got %d", dns.RcodeRefused, resp.Rcode) + } +} |