From c1decadb590c4d79d92bcc4df7772119a5c91244 Mon Sep 17 00:00:00 2001 From: Gab Virebent Date: Sat, 22 Aug 2026 20:36:56 +0200 Subject: Initial Aegis Usenet client release --- internal/compose/mime_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 internal/compose/mime_test.go (limited to 'internal/compose/mime_test.go') diff --git a/internal/compose/mime_test.go b/internal/compose/mime_test.go new file mode 100644 index 0000000..32fb6b2 --- /dev/null +++ b/internal/compose/mime_test.go @@ -0,0 +1,31 @@ +package compose + +import ( + "mime" + "strings" + "testing" +) + +func TestBuildMixed(t *testing.T) { + contentType, transfer, body, err := BuildMixed("ciao\nmondo", []Attachment{{Filename: "hello.txt", Data: []byte("hello")}}) + if err != nil { + t.Fatal(err) + } + mediaType, params, err := mime.ParseMediaType(contentType) + if err != nil || mediaType != "multipart/mixed" || params["boundary"] == "" || transfer != "7bit" { + t.Fatalf("unexpected MIME metadata: %q, %q, %v", contentType, transfer, err) + } + if !strings.Contains(body, "Content-Disposition: attachment") || !strings.Contains(body, "aGVsbG8=") { + t.Fatalf("attachment missing: %q", body) + } +} + +func TestBuildOpenPGPMIME(t *testing.T) { + contentType, _, body, err := BuildOpenPGPMIME("-----BEGIN PGP MESSAGE-----\nabc\n-----END PGP MESSAGE-----") + if err != nil { + t.Fatal(err) + } + if !strings.HasPrefix(contentType, "multipart/encrypted") || !strings.Contains(body, "Version: 1") || !strings.Contains(body, "BEGIN PGP MESSAGE") { + t.Fatalf("invalid OpenPGP/MIME body: %q", body) + } +} -- cgit v1.2.3