34 lines
790 B
Go
34 lines
790 B
Go
package imap
|
|
|
|
import (
|
|
"bytes"
|
|
"net/mail"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func Test_mergeAuthFromHeaders_dkimAndTLS(t *testing.T) {
|
|
raw := strings.Join([]string{
|
|
"From: Sender <sender@example.com>",
|
|
"Authentication-Results: mx.example.com; dkim=pass header.d=mail.example.com",
|
|
"Received: from mail.example.com (mail.example.com [1.2.3.4]) by mx with ESMTPS",
|
|
"",
|
|
"Body",
|
|
}, "\r\n")
|
|
msg, err := mail.ReadMessage(bytes.NewReader([]byte(raw)))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
var auth MessageAuthInfo
|
|
mergeAuthFromHeaders(&auth, msg)
|
|
if auth.DKIMPass == nil || !*auth.DKIMPass {
|
|
t.Fatalf("dkim_pass = %v, want true", auth.DKIMPass)
|
|
}
|
|
if auth.SignedBy != "mail.example.com" {
|
|
t.Fatalf("signed_by = %q", auth.SignedBy)
|
|
}
|
|
if !auth.TLS {
|
|
t.Fatal("expected tls true")
|
|
}
|
|
}
|