main
go 65 lines 1.44 KB
Raw
1 package gcloud
2
3 import (
4 "testing"
5
6 gdns "google.golang.org/api/dns/v1"
7 )
8
9 func TestDNSKeyDSRecordPrefersSHA256(t *testing.T) {
10 t.Parallel()
11
12 record, ok := dnsKeyDSRecord(&gdns.DnsKey{
13 Algorithm: "ecdsap256sha256",
14 KeyTag: 12345,
15 Type: "keySigning",
16 IsActive: true,
17 Digests: []*gdns.DnsKeyDigest{
18 {Type: "sha1", Digest: "AAAA"},
19 {Type: "sha256", Digest: "BBBB"},
20 },
21 })
22 if !ok {
23 t.Fatal("dnsKeyDSRecord() = !ok, want ok")
24 }
25 if record != "12345 13 2 BBBB" {
26 t.Fatalf("dnsKeyDSRecord() = %q, want %q", record, "12345 13 2 BBBB")
27 }
28 }
29
30 func TestDNSSECStatusFromZoneUsesActiveKeySigningKey(t *testing.T) {
31 t.Parallel()
32
33 state, dsRecord, _, err := dnssecStatusFromZone(&gdns.ManagedZone{
34 DnssecConfig: &gdns.ManagedZoneDnsSecConfig{State: "on"},
35 }, []*gdns.DnsKey{
36 {
37 Algorithm: "rsasha256",
38 KeyTag: 100,
39 Type: "zoneSigning",
40 IsActive: true,
41 Digests: []*gdns.DnsKeyDigest{
42 {Type: "sha256", Digest: "IGNORE"},
43 },
44 },
45 {
46 Algorithm: "rsasha256",
47 KeyTag: 200,
48 Type: "keySigning",
49 IsActive: true,
50 Digests: []*gdns.DnsKeyDigest{
51 {Type: "sha256", Digest: "USEME"},
52 },
53 },
54 })
55 if err != nil {
56 t.Fatalf("dnssecStatusFromZone() error = %v, want nil", err)
57 }
58
59 if state != "on" {
60 t.Fatalf("dnssecStatusFromZone().state = %q, want %q", state, "on")
61 }
62 if dsRecord != "200 8 2 USEME" {
63 t.Fatalf("dnssecStatusFromZone().dsRecord = %q, want %q", dsRecord, "200 8 2 USEME")
64 }
65 }