diff options
Diffstat (limited to 'internal/submit/message_test.go')
| -rw-r--r-- | internal/submit/message_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/internal/submit/message_test.go b/internal/submit/message_test.go new file mode 100644 index 0000000..c13e958 --- /dev/null +++ b/internal/submit/message_test.go @@ -0,0 +1,41 @@ +package submit + +import ( + "strings" + "testing" +) + +func TestBuildMessagePublishesProfileIdentityAndTransportSender(t *testing.T) { + sub := Submission{ + From: "Alice <alice@example.invalid>", + Newsgroups: []string{"misc.test"}, + Subject: "Test", + Message: "hello", + PublicKeyB64: "unused-without-face", + SignatureB64: "unused-without-face", + } + + raw, _, err := BuildMessage( + sub, + "mail2news@mail2news.tcpreset.net", + "n2usenet@virebent.art", + "n2usenet.virebent.art", + "/missing/identicons-cli", + false, + ) + if err != nil { + t.Fatalf("BuildMessage returned error: %v", err) + } + if !strings.Contains(raw, "From: \"Alice\" <alice@example.invalid>\r\n") { + t.Fatalf("profile identity is not used as the public From:\n%s", raw) + } + if !strings.Contains(raw, "Sender: <n2usenet@virebent.art>\r\n") { + t.Fatalf("transport Sender is missing:\n%s", raw) + } + if strings.Contains(raw, "From: \"Alice\" <n2usenet@virebent.art>\r\n") { + t.Fatalf("transport account replaced the public profile identity:\n%s", raw) + } + if strings.Contains(raw, "X-N2Usenet-Identity:") { + t.Fatalf("redundant private identity header is present:\n%s", raw) + } +} |
