diff options
author | 2017-12-22 08:54:27 +0000 | |
---|---|---|
committer | 2017-12-22 08:54:27 +0000 | |
commit | 1f81d154ed0c5dbebdc3395425d2f54783da6094 (patch) | |
tree | 7fcca3db0933536beb1ee2ab6374023691907226 /plugin/pkg/dnstest/multirecorder_test.go | |
parent | 08076e5284e3d4461f86b75847db0e85d24927fe (diff) | |
download | coredns-1f81d154ed0c5dbebdc3395425d2f54783da6094.tar.gz coredns-1f81d154ed0c5dbebdc3395425d2f54783da6094.tar.zst coredns-1f81d154ed0c5dbebdc3395425d2f54783da6094.zip |
dnstest: add multirecorder (#1326)
* dnstest: add multirecorder
This adds a new recorder that captures all messages written to it. This
can be useful when, for instance, testing AXFR which can write muliple
messages back to the client.
* docs
Diffstat (limited to 'plugin/pkg/dnstest/multirecorder_test.go')
-rw-r--r-- | plugin/pkg/dnstest/multirecorder_test.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/plugin/pkg/dnstest/multirecorder_test.go b/plugin/pkg/dnstest/multirecorder_test.go new file mode 100644 index 000000000..756b635ac --- /dev/null +++ b/plugin/pkg/dnstest/multirecorder_test.go @@ -0,0 +1,39 @@ +package dnstest + +import ( + "testing" + + "github.com/miekg/dns" +) + +func TestMultiWriteMsg(t *testing.T) { + w := &responseWriter{} + record := NewMultiRecorder(w) + + responseTestName := "testmsg.example.org." + responseTestMsg := new(dns.Msg) + responseTestMsg.SetQuestion(responseTestName, dns.TypeA) + + record.WriteMsg(responseTestMsg) + record.WriteMsg(responseTestMsg) + + if len(record.Msgs) != 2 { + t.Fatalf("Expected 2 messages to be written, but instead found %d\n", len(record.Msgs)) + + } + if record.Len != responseTestMsg.Len()*2 { + t.Fatalf("Expected the bytes written counter to be %d, but instead found %d\n", responseTestMsg.Len()*2, record.Len) + } +} + +func TestMultiWrite(t *testing.T) { + w := &responseWriter{} + record := NewRecorder(w) + responseTest := []byte("testmsg.example.org.") + + record.Write(responseTest) + record.Write(responseTest) + if record.Len != len(responseTest)*2 { + t.Fatalf("Expected the bytes written counter to be %d, but instead found %d\n", len(responseTest)*2, record.Len) + } +} |