diff options
Diffstat (limited to 'api4')
-rw-r--r-- | api4/system.go | 4 | ||||
-rw-r--r-- | api4/system_test.go | 57 |
2 files changed, 31 insertions, 30 deletions
diff --git a/api4/system.go b/api4/system.go index c1541f0b5..7b63afc0b 100644 --- a/api4/system.go +++ b/api4/system.go @@ -395,6 +395,10 @@ func testS3(c *Context, w http.ResponseWriter, r *http.Request) { return } + if cfg.FileSettings.AmazonS3SecretAccessKey == model.FAKE_SETTING { + cfg.FileSettings.AmazonS3SecretAccessKey = c.App.Config().FileSettings.AmazonS3SecretAccessKey + } + license := c.App.License() backend, appErr := utils.NewFileBackend(&cfg.FileSettings, license != nil && *license.Features.Compliance) if appErr == nil { diff --git a/api4/system_test.go b/api4/system_test.go index e39486b77..6ef02cbfe 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) { @@ -491,7 +497,7 @@ func TestS3TestConnection(t *testing.T) { AmazonS3AccessKeyId: model.MINIO_ACCESS_KEY, AmazonS3SecretAccessKey: model.MINIO_SECRET_KEY, AmazonS3Bucket: "", - AmazonS3Endpoint: "", + AmazonS3Endpoint: s3Endpoint, AmazonS3SSL: model.NewBool(false), }, } @@ -506,20 +512,11 @@ func TestS3TestConnection(t *testing.T) { } config.FileSettings.AmazonS3Bucket = model.MINIO_BUCKET + config.FileSettings.AmazonS3Region = "us-east-1" _, resp = th.SystemAdminClient.TestS3Connection(&config) - CheckBadRequestStatus(t, resp) - if resp.Error.Message != "S3 Endpoint is required" { - t.Fatal("should return error - missing s3 endpoint") - } - - config.FileSettings.AmazonS3Endpoint = s3Endpoint - _, resp = th.SystemAdminClient.TestS3Connection(&config) - CheckBadRequestStatus(t, resp) - if resp.Error.Message != "S3 Region is required" { - t.Fatal("should return error - missing s3 region") - } + CheckOKStatus(t, resp) - config.FileSettings.AmazonS3Region = "us-east-1" + config.FileSettings.AmazonS3Region = "" _, resp = th.SystemAdminClient.TestS3Connection(&config) CheckOKStatus(t, resp) |