add initial tests for utils/mail.go (#5176)
Этот коммит содержится в:
коммит произвёл
Corey Hulen
родитель
479bd1a2b3
Коммит
3234f98aec
61
utils/mail_test.go
Обычный файл
61
utils/mail_test.go
Обычный файл
@@ -0,0 +1,61 @@
|
||||
// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMailConnection(t *testing.T) {
|
||||
LoadConfig("config.json")
|
||||
|
||||
if conn, err := connectToSMTPServer(Cfg); err != nil {
|
||||
t.Log(err)
|
||||
t.Fatal("Should connect to the STMP Server")
|
||||
} else {
|
||||
if _, err1 := newSMTPClient(conn, Cfg); err1 != nil {
|
||||
t.Log(err)
|
||||
t.Fatal("Should get new smtp client")
|
||||
}
|
||||
}
|
||||
|
||||
Cfg.EmailSettings.SMTPServer = "wrongServer"
|
||||
Cfg.EmailSettings.SMTPPort = "553"
|
||||
|
||||
if _, err := connectToSMTPServer(Cfg); err == nil {
|
||||
t.Log(err)
|
||||
t.Fatal("Should not to the STMP Server")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestSendMail(t *testing.T) {
|
||||
LoadConfig("config.json")
|
||||
T = GetUserTranslations("en")
|
||||
|
||||
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 := SendMail(emailTo, emailSubject, emailBody); err != nil {
|
||||
t.Log(err)
|
||||
t.Fatal("Should connect to the STMP Server")
|
||||
} else {
|
||||
//Check if the email was send to the rigth email address
|
||||
if resultsMailbox, err := GetMailBox(emailTo); err != nil && !strings.ContainsAny(resultsMailbox[0].To[0], emailTo) {
|
||||
t.Fatal("Wrong To recipient")
|
||||
} else {
|
||||
if resultsEmail, err := GetMessageFromMailbox(emailTo, resultsMailbox[0].ID); err == nil {
|
||||
if !strings.Contains(resultsEmail.Body.Text, emailBody) {
|
||||
t.Log(resultsEmail.Body.Text)
|
||||
t.Fatal("Received message")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Ссылка в новой задаче
Block a user