summaryrefslogtreecommitdiff
path: root/internal/cache/cache_test.go
diff options
context:
space:
mode:
authorradhitya <alif@radhitya.org>2026-06-21 09:48:42 +0700
committerradhitya <alif@radhitya.org>2026-06-21 09:48:42 +0700
commitb7359e1d45f505171356bcae3c7d5e2341ecc859 (patch)
treef91d4a4b08ce279d488a76e9b7141e69fc844ea9 /internal/cache/cache_test.go
parent2b1f613c42de3861141eb6f93c1740b6937ee183 (diff)
forward mode, cache opt, ACL, rate limit, admin/health, systemd, fix UDP reply
Diffstat (limited to 'internal/cache/cache_test.go')
-rw-r--r--internal/cache/cache_test.go20
1 files changed, 14 insertions, 6 deletions
diff --git a/internal/cache/cache_test.go b/internal/cache/cache_test.go
index 33e1d30..aa0aeb0 100644
--- a/internal/cache/cache_test.go
+++ b/internal/cache/cache_test.go
@@ -26,14 +26,18 @@ func TestSetGet(t *testing.T) {
key := Key{Name: "example.com.", Qtype: dns.TypeA, Class: dns.ClassINET}
c.Set(key, msg, 300*time.Second)
- got, ok := c.Get(key)
+ packed, ok := c.Get(key)
if !ok {
t.Fatal("expected cache hit")
}
- if len(got.Answer) != 1 {
- t.Fatalf("expected 1 answer, got %d", len(got.Answer))
+ msg.Data = packed
+ if err := msg.Unpack(); err != nil {
+ t.Fatal(err)
+ }
+ if len(msg.Answer) != 1 {
+ t.Fatalf("expected 1 answer, got %d", len(msg.Answer))
}
- a, _ := got.Answer[0].(*dns.A)
+ a, _ := msg.Answer[0].(*dns.A)
if a.A.Addr != netip.AddrFrom4([4]byte{1, 2, 3, 4}) {
t.Errorf("IP = %s, want 1.2.3.4", a.A.Addr)
}
@@ -130,11 +134,15 @@ func TestSQLitePersistence(t *testing.T) {
}
defer c2.Stop()
- got, ok := c2.Get(key)
+ packed, ok := c2.Get(key)
if !ok {
t.Fatal("expected cache hit from SQLite load")
}
- a, _ := got.Answer[0].(*dns.A)
+ msg.Data = packed
+ if err := msg.Unpack(); err != nil {
+ t.Fatal(err)
+ }
+ a, _ := msg.Answer[0].(*dns.A)
if a.A.Addr != netip.AddrFrom4([4]byte{1, 2, 3, 4}) {
t.Errorf("IP = %s, want 1.2.3.4", a.A.Addr)
}