From 1a1c16398c5f9244a3610f5a90637088709bb6b9 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 30 Dec 2010 16:45:10 +0100 Subject: [PATCH] add pack_test --- dnssec/pack_test.go | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 dnssec/pack_test.go diff --git a/dnssec/pack_test.go b/dnssec/pack_test.go new file mode 100644 index 00000000..ae1c3d9b --- /dev/null +++ b/dnssec/pack_test.go @@ -0,0 +1,46 @@ +package dnssec + +import ( + "testing" + "dns" +) + +func TestPackUnpack(t *testing.T) { + out := new(dns.Msg) + out.Answer = make([]dns.RR, 1) + key := new(dns.RR_DNSKEY) + key.Hdr = dns.RR_Header{Name: "miek.nl.", Rrtype: dns.TypeDNSKEY, Class: dns.ClassINET, Ttl: 3600} + key = &dns.RR_DNSKEY{Flags: 257, Protocol: 3, Algorithm: AlgRSASHA1} + key.PubKey = "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ" + + out.Answer[0] = key + msg, ok := out.Pack() + if !ok { + t.Log("Failed to pack msg with DNSKEY") + t.Fail() + } + + in := new(dns.Msg) + if !in.Unpack(msg) { + t.Log("Failed to unpack msg with DNSKEY") + t.Fail() + } + + sig := new(dns.RR_RRSIG) + sig.Hdr = dns.RR_Header{Name: "miek.nl.", Rrtype: dns.TypeRRSIG, Class: dns.ClassINET, Ttl: 3600} + sig = &dns.RR_RRSIG{TypeCovered: dns.TypeDNSKEY, Algorithm: AlgRSASHA1, Labels: 2, + OrigTtl: 3600, Expiration: 4000, Inception: 4000, KeyTag: 34641, SignerName: "miek.nl.", + Signature: "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ"} + + out.Answer[0] = sig + msg, ok = out.Pack() + if !ok { + t.Log("Failed to pack msg with RRSIG") + t.Fail() + } + + if !in.Unpack(msg) { + t.Log("Failed to unpack msg with RRSIG") + t.Fail() + } +}