mirror of
https://github.com/wneessen/go-mail.git
synced 2024-12-23 11:00:39 +01:00
Winni Neessen
9505f94e3d
Simplify test structure by renaming fields for clarity and brevity. AddressHeader tests and importance tests now use more concise and consistent naming conventions. This enhances readability and maintainability of the test code.
125 lines
3.9 KiB
Go
125 lines
3.9 KiB
Go
// SPDX-FileCopyrightText: 2022-2023 The go-mail Authors
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package mail
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
var (
|
|
genHeaderTests = []struct {
|
|
name string
|
|
header Header
|
|
want string
|
|
}{
|
|
{"Header: Content-Description", HeaderContentDescription, "Content-Description"},
|
|
{"Header: Content-Disposition", HeaderContentDisposition, "Content-Disposition"},
|
|
{"Header: Content-ID", HeaderContentID, "Content-ID"},
|
|
{"Header: Content-Language", HeaderContentLang, "Content-Language"},
|
|
{"Header: Content-Location", HeaderContentLocation, "Content-Location"},
|
|
{"Header: Content-Transfer-Encoding", HeaderContentTransferEnc, "Content-Transfer-Encoding"},
|
|
{"Header: Content-Type", HeaderContentType, "Content-Type"},
|
|
{"Header: Date", HeaderDate, "Date"},
|
|
{
|
|
"Header: Disposition-Notification-To", HeaderDispositionNotificationTo,
|
|
"Disposition-Notification-To",
|
|
},
|
|
{"Header: Importance", HeaderImportance, "Importance"},
|
|
{"Header: In-Reply-To", HeaderInReplyTo, "In-Reply-To"},
|
|
{"Header: List-Unsubscribe", HeaderListUnsubscribe, "List-Unsubscribe"},
|
|
{"Header: List-Unsubscribe-Post", HeaderListUnsubscribePost, "List-Unsubscribe-Post"},
|
|
{"Header: Message-ID", HeaderMessageID, "Message-ID"},
|
|
{"Header: MIME-Version", HeaderMIMEVersion, "MIME-Version"},
|
|
{"Header: Organization", HeaderOrganization, "Organization"},
|
|
{"Header: Precedence", HeaderPrecedence, "Precedence"},
|
|
{"Header: Priority", HeaderPriority, "Priority"},
|
|
{"Header: References", HeaderReferences, "References"},
|
|
{"Header: Reply-To", HeaderReplyTo, "Reply-To"},
|
|
{"Header: Subject", HeaderSubject, "Subject"},
|
|
{"Header: User-Agent", HeaderUserAgent, "User-Agent"},
|
|
{"Header: X-Auto-Response-Suppress", HeaderXAutoResponseSuppress, "X-Auto-Response-Suppress"},
|
|
{"Header: X-Mailer", HeaderXMailer, "X-Mailer"},
|
|
{"Header: X-MSMail-Priority", HeaderXMSMailPriority, "X-MSMail-Priority"},
|
|
{"Header: X-Priority", HeaderXPriority, "X-Priority"},
|
|
}
|
|
addrHeaderTests = []struct {
|
|
name string
|
|
header AddrHeader
|
|
want string
|
|
}{
|
|
{"From", HeaderFrom, "From"},
|
|
{"To", HeaderTo, "To"},
|
|
{"Cc", HeaderCc, "Cc"},
|
|
{"Bcc", HeaderBcc, "Bcc"},
|
|
}
|
|
)
|
|
|
|
func TestImportance_Stringer(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
imp Importance
|
|
wantnum string
|
|
xprio string
|
|
want string
|
|
}{
|
|
{"Non-Urgent", ImportanceNonUrgent, "0", "5", "non-urgent"},
|
|
{"Low", ImportanceLow, "0", "5", "low"},
|
|
{"Normal", ImportanceNormal, "", "", ""},
|
|
{"High", ImportanceHigh, "1", "1", "high"},
|
|
{"Urgent", ImportanceUrgent, "1", "1", "urgent"},
|
|
{"Unknown", 9, "", "", ""},
|
|
}
|
|
t.Run("String", func(t *testing.T) {
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if tt.imp.String() != tt.want {
|
|
t.Errorf("wrong string for Importance returned. Expected: %s, got: %s", tt.want, tt.imp.String())
|
|
}
|
|
})
|
|
}
|
|
})
|
|
t.Run("NumString", func(t *testing.T) {
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if tt.imp.NumString() != tt.wantnum {
|
|
t.Errorf("wrong number string for Importance returned. Expected: %s, got: %s", tt.wantnum,
|
|
tt.imp.NumString())
|
|
}
|
|
})
|
|
}
|
|
})
|
|
t.Run("XPrioString", func(t *testing.T) {
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if tt.imp.XPrioString() != tt.xprio {
|
|
t.Errorf("wrong x-prio string for Importance returned. Expected: %s, got: %s", tt.xprio,
|
|
tt.imp.XPrioString())
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}
|
|
|
|
func TestAddrHeader_Stringer(t *testing.T) {
|
|
for _, tt := range addrHeaderTests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if tt.header.String() != tt.want {
|
|
t.Errorf("wrong string for AddrHeader returned. Expected: %s, got: %s",
|
|
tt.want, tt.header.String())
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestHeader_Stringer(t *testing.T) {
|
|
for _, tt := range genHeaderTests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if tt.header.String() != tt.want {
|
|
t.Errorf("wrong string for Header returned. Expected: %s, got: %s",
|
|
tt.want, tt.header.String())
|
|
}
|
|
})
|
|
}
|
|
}
|