Windows has no sendmail, so let's exclude those tests for Windows

This commit is contained in:
Winni Neessen 2022-03-18 23:10:53 +01:00
parent d653cdc782
commit 7b5b4fa52b
Signed by: wneessen
GPG key ID: 5F3AF39B820C119D
2 changed files with 29 additions and 24 deletions

29
msg_nowin_test.go Normal file
View file

@ -0,0 +1,29 @@
//go:build !windows
package mail
import "testing"
// TestMsg_WriteToSendmailWithCommand tests the WriteToSendmailWithCommand() method of the Msg
func TestMsg_WriteToSendmailWithCommand(t *testing.T) {
tests := []struct {
name string
sp string
sf bool
}{
{"Sendmail path: /dev/null", "/dev/null", true},
{"Sendmail path: /bin/cat", "/bin/cat", true},
{"Sendmail path: /is/invalid", "/is/invalid", true},
{"Sendmail path: /bin/echo", "/bin/echo", false},
}
m := NewMsg()
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
m.SetBodyString(TypeTextPlain, "Plain")
if err := m.WriteToSendmailWithCommand(tt.sp); err != nil && !tt.sf {
t.Errorf("WriteToSendmailWithCommand() failed: %s", err)
}
m.Reset()
})
}
}

View file

@ -1138,27 +1138,3 @@ func TestMsg_Write(t *testing.T) {
fmt.Printf("%s", wbuf.String()) fmt.Printf("%s", wbuf.String())
} }
} }
// TestMsg_WriteToSendmailWithCommand tests the WriteToSendmailWithCommand() method of the Msg
func TestMsg_WriteToSendmailWithCommand(t *testing.T) {
tests := []struct {
name string
sp string
sf bool
}{
{"Sendmail path: /dev/null", "/dev/null", true},
{"Sendmail path: /bin/cat", "/bin/cat", true},
{"Sendmail path: /is/invalid", "/is/invalid", true},
{"Sendmail path: /bin/echo", "/bin/echo", false},
}
m := NewMsg()
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
m.SetBodyString(TypeTextPlain, "Plain")
if err := m.WriteToSendmailWithCommand(tt.sp); err != nil && !tt.sf {
t.Errorf("WriteToSendmailWithCommand() failed: %s", err)
}
m.Reset()
})
}
}