mirror of
https://github.com/hanzoai/dns.git
synced 2026-10-30 18:40:55 +00:00
51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package dnstest
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/miekg/dns"
|
|
)
|
|
|
|
type responseWriter struct{ dns.ResponseWriter }
|
|
|
|
func (r *responseWriter) WriteMsg(_m *dns.Msg) error { return nil }
|
|
func (r *responseWriter) Write(buf []byte) (int, error) { return len(buf), nil }
|
|
|
|
func TestNewRecorder(t *testing.T) {
|
|
w := &responseWriter{}
|
|
record := NewRecorder(w)
|
|
if record.ResponseWriter != w {
|
|
t.Fatalf("Expected Response writer in the Recording to be same as the one sent\n")
|
|
}
|
|
if record.Rcode != dns.RcodeSuccess {
|
|
t.Fatalf("Expected recorded status to be dns.RcodeSuccess (%d) , but found %d\n ", dns.RcodeSuccess, record.Rcode)
|
|
}
|
|
}
|
|
|
|
func TestWriteMsg(t *testing.T) {
|
|
w := &responseWriter{}
|
|
record := NewRecorder(w)
|
|
responseTestName := "testmsg.example.org."
|
|
responseTestMsg := new(dns.Msg)
|
|
responseTestMsg.SetQuestion(responseTestName, dns.TypeA)
|
|
|
|
record.WriteMsg(responseTestMsg)
|
|
if record.Len != responseTestMsg.Len() {
|
|
t.Fatalf("Expected the bytes written counter to be %d, but instead found %d\n", responseTestMsg.Len(), record.Len)
|
|
}
|
|
if x := record.Msg.Question[0].Name; x != responseTestName {
|
|
t.Fatalf("Expected Msg Qname to be %s , but found %s\n", responseTestName, x)
|
|
}
|
|
}
|
|
|
|
func TestWrite(t *testing.T) {
|
|
w := &responseWriter{}
|
|
record := NewRecorder(w)
|
|
responseTest := []byte("testmsg.example.org.")
|
|
|
|
record.Write(responseTest)
|
|
if record.Len != len(responseTest) {
|
|
t.Fatalf("Expected the bytes written counter to be %d, but instead found %d\n", len(responseTest), record.Len)
|
|
}
|
|
}
|