diff options
| author | radhitya <alif@radhitya.org> | 2026-06-18 12:42:29 +0700 |
|---|---|---|
| committer | radhitya <alif@radhitya.org> | 2026-06-18 12:42:29 +0700 |
| commit | f5753c6a8cac5a57a042b0388f38abeff5d1f37d (patch) | |
| tree | 96e1241126b23051725edb68a79c8e4603d7e23a /internal/server/server_test.go | |
| parent | e05835493f821055e517a3988c6f9256abbc5c24 (diff) | |
migration to new dns library
Diffstat (limited to 'internal/server/server_test.go')
| -rw-r--r-- | internal/server/server_test.go | 20 |
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) } }) |
