From 1b29b503309cdd1f12a1b9d56b4c695a8ed84d2a Mon Sep 17 00:00:00 2001 From: Carlos Tadeu Panato Junior Date: Tue, 13 Mar 2018 16:42:56 +0100 Subject: update email test in the driver to be able to send the config in the body (#8453) Signed-off-by: cpanato --- api4/system_test.go | 40 +++++++++++++++++++++++----------------- model/client4.go | 4 ++-- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/api4/system_test.go b/api4/system_test.go index e39486b77..136c11774 100644 --- a/api4/system_test.go +++ b/api4/system_test.go @@ -262,28 +262,34 @@ func TestEmailTest(t *testing.T) { defer th.TearDown() Client := th.Client - SendEmailNotifications := th.App.Config().EmailSettings.SendEmailNotifications - SMTPServer := th.App.Config().EmailSettings.SMTPServer - SMTPPort := th.App.Config().EmailSettings.SMTPPort - FeedbackEmail := th.App.Config().EmailSettings.FeedbackEmail - defer func() { - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SendEmailNotifications = SendEmailNotifications }) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPServer = SMTPServer }) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPPort = SMTPPort }) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.FeedbackEmail = FeedbackEmail }) - }() - - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SendEmailNotifications = false }) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPServer = "" }) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPPort = "" }) - th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.FeedbackEmail = "" }) + config := model.Config{ + EmailSettings: model.EmailSettings{ + SMTPServer: "", + SMTPPort: "", + }, + } - _, resp := Client.TestEmail() + _, resp := Client.TestEmail(&config) CheckForbiddenStatus(t, resp) - _, resp = th.SystemAdminClient.TestEmail() + _, resp = th.SystemAdminClient.TestEmail(&config) CheckErrorMessage(t, resp, "api.admin.test_email.missing_server") CheckBadRequestStatus(t, resp) + + inbucket_host := os.Getenv("CI_HOST") + if inbucket_host == "" { + inbucket_host = "dockerhost" + } + + inbucket_port := os.Getenv("CI_INBUCKET_PORT") + if inbucket_port == "" { + inbucket_port = "9000" + } + + config.EmailSettings.SMTPServer = inbucket_host + config.EmailSettings.SMTPPort = inbucket_port + _, resp = th.SystemAdminClient.TestEmail(&config) + CheckOKStatus(t, resp) } func TestDatabaseRecycle(t *testing.T) { diff --git a/model/client4.go b/model/client4.go index 9e552d046..e7fe2bba0 100644 --- a/model/client4.go +++ b/model/client4.go @@ -2098,8 +2098,8 @@ func (c *Client4) GetPing() (string, *Response) { } // TestEmail will attempt to connect to the configured SMTP server. -func (c *Client4) TestEmail() (bool, *Response) { - if r, err := c.DoApiPost(c.GetTestEmailRoute(), ""); err != nil { +func (c *Client4) TestEmail(config *Config) (bool, *Response) { + if r, err := c.DoApiPost(c.GetTestEmailRoute(), config.ToJson()); err != nil { return false, BuildErrorResponse(r, err) } else { defer closeBody(r) -- cgit v1.2.3-1-g7c22