diff options
| author | Gab Virebent <gabriel1@virebent.art> | 2026-08-24 17:34:45 +0200 |
|---|---|---|
| committer | Gab Virebent <gabriel1@virebent.art> | 2026-08-24 17:34:45 +0200 |
| commit | e9fbbe3373eb66a345f5e3829e2563b94dc92051 (patch) | |
| tree | 950d75fda88574afb46b4aeab36e96f3c089a3bb /internal/submit/message_test.go | |
| parent | fb83c4d70616ec23d8a5397409a5d31c70b70d66 (diff) | |
| download | n2usenet-e9fbbe3373eb66a345f5e3829e2563b94dc92051.tar.gz n2usenet-e9fbbe3373eb66a345f5e3829e2563b94dc92051.tar.xz n2usenet-e9fbbe3373eb66a345f5e3829e2563b94dc92051.zip | |
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) + } +} |
