summaryrefslogtreecommitdiffstats
path: root/utils/mail_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/mail_test.go')
-rw-r--r--utils/mail_test.go89
1 files changed, 5 insertions, 84 deletions
diff --git a/utils/mail_test.go b/utils/mail_test.go
index 703420441..574f71f46 100644
--- a/utils/mail_test.go
+++ b/utils/mail_test.go
@@ -7,10 +7,6 @@ import (
"strings"
"testing"
- "net/mail"
-
- "github.com/mattermost/mattermost-server/model"
- "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -43,18 +39,18 @@ func TestSendMailUsingConfig(t *testing.T) {
require.Nil(t, err)
T = GetUserTranslations("en")
- var emailTo = "test@example.com"
- var emailSubject = "Testing this email"
- var emailBody = "This is a test from autobot"
+ var emailTo string = "test@example.com"
+ var emailSubject string = "Testing this email"
+ var emailBody string = "This is a test from autobot"
//Delete all the messages before check the sample email
DeleteMailBox(emailTo)
- if err := SendMailUsingConfig(emailTo, emailSubject, emailBody, cfg, true); err != nil {
+ if err := SendMailUsingConfig(emailTo, emailSubject, emailBody, cfg); err != nil {
t.Log(err)
t.Fatal("Should connect to the STMP Server")
} else {
- //Check if the email was send to the right email address
+ //Check if the email was send to the rigth email address
var resultsMailbox JSONMessageHeaderInbucket
err := RetryInbucket(5, func() error {
var err error
@@ -79,78 +75,3 @@ func TestSendMailUsingConfig(t *testing.T) {
}
}
}
-
-func TestSendMailUsingConfigAdvanced(t *testing.T) {
- cfg, _, err := LoadConfig("config.json")
- require.Nil(t, err)
- T = GetUserTranslations("en")
-
- var mimeTo = "test@example.com"
- var smtpTo = "test2@example.com"
- var from = mail.Address{Name: "Nobody", Address: "nobody@mattermost.com"}
- var emailSubject = "Testing this email"
- var emailBody = "This is a test from autobot"
-
- //Delete all the messages before check the sample email
- DeleteMailBox(smtpTo)
-
- // create a file that will be attached to the email
- fileBackend, err := NewFileBackend(&cfg.FileSettings, true)
- assert.Nil(t, err)
- fileContents := []byte("hello world")
- fileName := "file.txt"
- assert.Nil(t, fileBackend.WriteFile(fileContents, fileName))
- defer fileBackend.RemoveFile(fileName)
-
- attachments := make([]*model.FileInfo, 1)
- attachments[0] = &model.FileInfo{
- Name: fileName,
- Path: fileName,
- }
-
- headers := make(map[string]string)
- headers["TestHeader"] = "TestValue"
-
- if err := SendMailUsingConfigAdvanced(mimeTo, smtpTo, from, emailSubject, emailBody, attachments, headers, cfg, true); err != nil {
- t.Log(err)
- t.Fatal("Should connect to the STMP Server")
- } else {
- //Check if the email was send to the right email address
- var resultsMailbox JSONMessageHeaderInbucket
- err := RetryInbucket(5, func() error {
- var err error
- resultsMailbox, err = GetMailBox(smtpTo)
- return err
- })
- if err != nil {
- t.Log(err)
- t.Fatal("No emails found for address " + smtpTo)
- }
- if err == nil && len(resultsMailbox) > 0 {
- if !strings.ContainsAny(resultsMailbox[0].To[0], smtpTo) {
- t.Fatal("Wrong To recipient")
- } else {
- if resultsEmail, err := GetMessageFromMailbox(smtpTo, resultsMailbox[0].ID); err == nil {
- if !strings.Contains(resultsEmail.Body.Text, emailBody) {
- t.Log(resultsEmail.Body.Text)
- t.Fatal("Received message")
- }
-
- // verify that the To header of the email message is set to the MIME recipient, even though we got it out of the SMTP recipient's email inbox
- assert.Equal(t, mimeTo, resultsEmail.Header["To"][0])
-
- // verify that the MIME from address is correct - unfortunately, we can't verify the SMTP from address
- assert.Equal(t, from.String(), resultsEmail.Header["From"][0])
-
- // check that the custom mime headers came through - header case seems to get mutated
- assert.Equal(t, "TestValue", resultsEmail.Header["Testheader"][0])
-
- // ensure that the attachment was successfully sent
- assert.Len(t, resultsEmail.Attachments, 1)
- assert.Equal(t, fileName, resultsEmail.Attachments[0].Filename)
- assert.Equal(t, fileContents, resultsEmail.Attachments[0].Bytes)
- }
- }
- }
- }
-}