diff options
-rw-r--r-- | api4/system_test.go | 40 | ||||
-rw-r--r-- | 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) |