aboutsummaryrefslogtreecommitdiff
path: root/plugin/dnssec/cache_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/dnssec/cache_test.go')
-rw-r--r--plugin/dnssec/cache_test.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/plugin/dnssec/cache_test.go b/plugin/dnssec/cache_test.go
new file mode 100644
index 000000000..b978df244
--- /dev/null
+++ b/plugin/dnssec/cache_test.go
@@ -0,0 +1,34 @@
+package dnssec
+
+import (
+ "testing"
+ "time"
+
+ "github.com/coredns/coredns/plugin/pkg/cache"
+ "github.com/coredns/coredns/plugin/test"
+ "github.com/coredns/coredns/request"
+)
+
+func TestCacheSet(t *testing.T) {
+ fPriv, rmPriv, _ := test.TempFile(".", privKey)
+ fPub, rmPub, _ := test.TempFile(".", pubKey)
+ defer rmPriv()
+ defer rmPub()
+
+ dnskey, err := ParseKeyFile(fPub, fPriv)
+ if err != nil {
+ t.Fatalf("failed to parse key: %v\n", err)
+ }
+
+ c := cache.New(defaultCap)
+ m := testMsg()
+ state := request.Request{Req: m}
+ k := hash(m.Answer) // calculate *before* we add the sig
+ d := New([]string{"miek.nl."}, []*DNSKEY{dnskey}, nil, c)
+ d.Sign(state, "miek.nl.", time.Now().UTC())
+
+ _, ok := d.get(k)
+ if !ok {
+ t.Errorf("signature was not added to the cache")
+ }
+}