summaryrefslogtreecommitdiff
path: root/internal/server/server_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server/server_test.go')
-rw-r--r--internal/server/server_test.go20
1 files changed, 9 insertions, 11 deletions
diff --git a/internal/server/server_test.go b/internal/server/server_test.go
index 42938d1..002aba8 100644
--- a/internal/server/server_test.go
+++ b/internal/server/server_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"time"
- "github.com/miekg/dns"
+ "codeberg.org/miekg/dns"
"linum/internal/resolver"
)
@@ -27,7 +27,7 @@ func TestBuildResponse(t *testing.T) {
tests := []struct {
name string
req *dns.Msg
- wantRcode int
+ wantRcode uint16
wantAnswers int
wantEdns0 bool
}{
@@ -52,10 +52,10 @@ func TestBuildResponse(t *testing.T) {
t.Errorf("answers: got %d, want %d", len(resp.Answer), tt.wantAnswers)
}
if tt.wantEdns0 {
- if opt := resp.IsEdns0(); opt == nil {
+ if resp.UDPSize == 0 {
t.Error("expected EDNS0 in response, got none")
- } else if opt.UDPSize() != 4096 {
- t.Errorf("edns0 udp size: got %d, want 4096", opt.UDPSize())
+ } else if resp.UDPSize != 4096 {
+ t.Errorf("edns0 udp size: got %d, want 4096", resp.UDPSize)
}
}
})
@@ -64,9 +64,7 @@ func TestBuildResponse(t *testing.T) {
func TestBuildResponseWithQuery(t *testing.T) {
s := testServer(t)
- // Valid query → must not panic, rcode must be valid
- m := new(dns.Msg)
- m.SetQuestion("example.com.", dns.TypeA)
+ m := dns.NewMsg("example.com.", dns.TypeA)
resp, _ := s.buildResponse(m)
if resp == nil {
t.Fatal("buildResponse returned nil")
@@ -80,7 +78,6 @@ func FuzzBuildResponse(f *testing.F) {
baseCtx, cancel := context.WithCancel(context.Background())
defer cancel()
s := &Server{logger: slog.Default(), baseCtx: baseCtx}
- // For fuzz, use a resolver that won't make real network calls
s.resolver = resolver.New(
resolver.WithRootAddresses([]string{"127.0.0.1:1"}),
resolver.WithTimeout(10*time.Millisecond),
@@ -103,14 +100,15 @@ func FuzzBuildResponse(f *testing.F) {
f.Add(seed)
f.Fuzz(func(t *testing.T, data []byte) {
msg := new(dns.Msg)
- if err := msg.Unpack(data); err != nil {
+ msg.Data = data
+ if err := msg.Unpack(); err != nil {
return
}
resp, _ := s.buildResponse(msg)
if resp == nil {
t.Fatal("buildResponse returned nil")
}
- if _, err := resp.Pack(); err != nil {
+ if err := resp.Pack(); err != nil {
t.Errorf("pack failed: %v", err)
}
})