MCPcopy Create free account
hub / github.com/foxcpp/maddy / verifyTestMsg

Function verifyTestMsg

internal/modify/dkim/dkim_test.go:104–152  ·  view source on GitHub ↗
(t *testing.T, keysPath string, expectedDomains []string, hdr textproto.Header, body []byte)

Source from the content-addressed store, hash-verified

102}
103
104func verifyTestMsg(t *testing.T, keysPath string, expectedDomains []string, hdr textproto.Header, body []byte) {
105 t.Helper()
106
107 domainsMap := make(map[string]bool)
108 zones := map[string]mockdns.Zone{}
109 for _, domain := range expectedDomains {
110 dnsRecord, err := os.ReadFile(filepath.Join(keysPath, domain+".dns"))
111 if err != nil {
112 t.Fatal(err)
113 }
114
115 t.Log("DNS record:", string(dnsRecord))
116 zones["default._domainkey."+domain+"."] = mockdns.Zone{TXT: []string{string(dnsRecord)}}
117 domainsMap[domain] = false
118 }
119
120 var fullBody bytes.Buffer
121 if err := textproto.WriteHeader(&fullBody, hdr); err != nil {
122 t.Fatal(err)
123 }
124 if _, err := fullBody.Write(body); err != nil {
125 t.Fatal(err)
126 }
127
128 resolver := &mockdns.Resolver{Zones: zones}
129 verifs, err := dkim.VerifyWithOptions(bytes.NewReader(fullBody.Bytes()), &dkim.VerifyOptions{
130 LookupTXT: func(domain string) ([]string, error) {
131 return resolver.LookupTXT(context.Background(), domain)
132 },
133 })
134 if err != nil {
135 t.Fatal(err)
136 }
137 for _, v := range verifs {
138 if v.Err != nil {
139 t.Errorf("Verification error for %s: %v", v.Domain, v.Err)
140 }
141 if _, ok := domainsMap[v.Domain]; !ok {
142 t.Errorf("Unexpected verification for domain %s", v.Domain)
143 }
144
145 domainsMap[v.Domain] = true
146 }
147 for domain, ok := range domainsMap {
148 if !ok {
149 t.Errorf("Missing verification for domain %s", domain)
150 }
151 }
152}
153
154func TestGenerateSignVerify(t *testing.T) {
155 // This test verifies whether a freshly generated key can be used for

Callers 1

TestGenerateSignVerifyFunction · 0.85

Calls 3

LookupTXTMethod · 0.95
BytesMethod · 0.80
WriteMethod · 0.65

Tested by

no test coverage detected