mirror of
https://github.com/mjl-/mox.git
synced 2025-07-12 13:04:38 +03:00
add strict mode when parsing messages, typically enabled for incoming special-use messages like tls/dmarc reports, subjectpass emails
and pass a logger to the message parser, so problems with message parsing get the cid logged.
This commit is contained in:
@ -5,8 +5,12 @@ import (
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/mjl-/mox/mlog"
|
||||
)
|
||||
|
||||
var xlog = mlog.New("dmarcrpt")
|
||||
|
||||
const reportExample = `<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<feedback>
|
||||
<report_metadata>
|
||||
@ -130,7 +134,7 @@ func TestParseMessageReport(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("open %q: %s", p, err)
|
||||
}
|
||||
_, err = ParseMessageReport(f)
|
||||
_, err = ParseMessageReport(xlog, f)
|
||||
if err != nil {
|
||||
t.Fatalf("ParseMessageReport: %q: %s", p, err)
|
||||
}
|
||||
@ -138,7 +142,7 @@ func TestParseMessageReport(t *testing.T) {
|
||||
}
|
||||
|
||||
// No report in a non-multipart message.
|
||||
_, err = ParseMessageReport(strings.NewReader("From: <mjl@mox.example>\r\n\r\nNo report.\r\n"))
|
||||
_, err = ParseMessageReport(xlog, strings.NewReader("From: <mjl@mox.example>\r\n\r\nNo report.\r\n"))
|
||||
if err != ErrNoReport {
|
||||
t.Fatalf("message without report, got err %#v, expected ErrNoreport", err)
|
||||
}
|
||||
@ -164,7 +168,7 @@ MIME-Version: 1.0
|
||||
|
||||
--===============5735553800636657282==--
|
||||
`, "\n", "\r\n")
|
||||
_, err = ParseMessageReport(strings.NewReader(multipartNoreport))
|
||||
_, err = ParseMessageReport(xlog, strings.NewReader(multipartNoreport))
|
||||
if err != ErrNoReport {
|
||||
t.Fatalf("message without report, got err %#v, expected ErrNoreport", err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user