mirror of
https://github.com/wneessen/go-mail.git
synced 2024-11-22 13:50:49 +01:00
#18: Method renaming and tests
- Renamed `Msg.WriteToTempfile` to `Msg.WriteToTempFile` - Added test coverage for `Msg.WriteToFile` and `Msg.WriteToTempFile`
This commit is contained in:
parent
491b5941aa
commit
85bbf744fa
3 changed files with 45 additions and 4 deletions
41
msg_test.go
41
msg_test.go
|
@ -7,6 +7,7 @@ import (
|
||||||
htpl "html/template"
|
htpl "html/template"
|
||||||
"io"
|
"io"
|
||||||
"net/mail"
|
"net/mail"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
ttpl "text/template"
|
ttpl "text/template"
|
||||||
|
@ -1700,3 +1701,43 @@ func TestMsg_EmbedHTMLTemplate(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestMsg_WriteToTempFile will test the output to temporary files
|
||||||
|
func TestMsg_WriteToTempFile(t *testing.T) {
|
||||||
|
m := NewMsg()
|
||||||
|
_ = m.From("Toni Tester <tester@example.com>")
|
||||||
|
_ = m.To("Ellenor Tester <ellinor@example.com>")
|
||||||
|
m.SetBodyString(TypeTextPlain, "This is a test")
|
||||||
|
f, err := m.WriteToTempFile()
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("failed to write message to temporary output file: %s", err)
|
||||||
|
}
|
||||||
|
_ = os.Remove(f)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestMsg_WriteToFile will test the output to a file
|
||||||
|
func TestMsg_WriteToFile(t *testing.T) {
|
||||||
|
f, err := os.CreateTemp("", "go-mail-test_*.eml")
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("failed to create temporary output file: %s", err)
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
_ = f.Close()
|
||||||
|
_ = os.Remove(f.Name())
|
||||||
|
}()
|
||||||
|
|
||||||
|
m := NewMsg()
|
||||||
|
_ = m.From("Toni Tester <tester@example.com>")
|
||||||
|
_ = m.To("Ellenor Tester <ellinor@example.com>")
|
||||||
|
m.SetBodyString(TypeTextPlain, "This is a test")
|
||||||
|
if err := m.WriteToFile(f.Name()); err != nil {
|
||||||
|
t.Errorf("failed to write to output file: %s", err)
|
||||||
|
}
|
||||||
|
fi, err := os.Stat(f.Name())
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("failed to stat output file: %s", err)
|
||||||
|
}
|
||||||
|
if fi.Size() <= 0 {
|
||||||
|
t.Errorf("output file is expected to contain data but its size is zero")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -8,9 +8,9 @@ import (
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
// WriteToTempfile will create a temporary file and output the Msg to this file
|
// WriteToTempFile will create a temporary file and output the Msg to this file
|
||||||
// The method will return the filename of the temporary file
|
// The method will return the filename of the temporary file
|
||||||
func (m *Msg) WriteToTempfile() (string, error) {
|
func (m *Msg) WriteToTempFile() (string, error) {
|
||||||
f, err := os.CreateTemp("", "go-mail_*.eml")
|
f, err := os.CreateTemp("", "go-mail_*.eml")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("failed to create output file: %w", err)
|
return "", fmt.Errorf("failed to create output file: %w", err)
|
||||||
|
|
|
@ -8,9 +8,9 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
// WriteToTempfile will create a temporary file and output the Msg to this file
|
// WriteToTempFile will create a temporary file and output the Msg to this file
|
||||||
// The method will return the filename of the temporary file
|
// The method will return the filename of the temporary file
|
||||||
func (m *Msg) WriteToTempfile() (string, error) {
|
func (m *Msg) WriteToTempFile() (string, error) {
|
||||||
f, err := ioutil.TempFile("", "go-mail_*.eml")
|
f, err := ioutil.TempFile("", "go-mail_*.eml")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("failed to create output file: %w", err)
|
return "", fmt.Errorf("failed to create output file: %w", err)
|
||||||
|
|
Loading…
Reference in a new issue