diff options
Diffstat (limited to 'model')
-rw-r--r-- | model/config.go | 14 | ||||
-rw-r--r-- | model/config_test.go | 7 |
2 files changed, 14 insertions, 7 deletions
diff --git a/model/config.go b/model/config.go index ba3a02d33..d5a8ad38e 100644 --- a/model/config.go +++ b/model/config.go @@ -1900,10 +1900,18 @@ func (o *Config) SetDefaults() { } func (o *Config) IsValid() *AppError { + if len(*o.ServiceSettings.SiteURL) == 0 && *o.EmailSettings.EnableEmailBatching { + return NewAppError("Config.IsValid", "model.config.is_valid.site_url_email_batching.app_error", nil, "", http.StatusBadRequest) + } + if *o.ClusterSettings.Enable && *o.EmailSettings.EnableEmailBatching { return NewAppError("Config.IsValid", "model.config.is_valid.cluster_email_batching.app_error", nil, "", http.StatusBadRequest) } + if len(*o.ServiceSettings.SiteURL) == 0 && *o.ServiceSettings.AllowCookiesForSubdomains { + return NewAppError("Config.IsValid", "Allowing cookies for subdomains requires SiteURL to be set.", nil, "", http.StatusBadRequest) + } + if err := o.TeamSettings.isValid(); err != nil { return err } @@ -2209,6 +2217,12 @@ func (ss *ServiceSettings) isValid() *AppError { return NewAppError("Config.IsValid", "model.config.is_valid.login_attempts.app_error", nil, "", http.StatusBadRequest) } + if len(*ss.SiteURL) != 0 { + if _, err := url.ParseRequestURI(*ss.SiteURL); err != nil { + return NewAppError("Config.IsValid", "model.config.is_valid.site_url.app_error", nil, "", http.StatusBadRequest) + } + } + if len(*ss.WebsocketURL) != 0 { if _, err := url.ParseRequestURI(*ss.WebsocketURL); err != nil { return NewAppError("Config.IsValid", "model.config.is_valid.websocket_url.app_error", nil, "", http.StatusBadRequest) diff --git a/model/config_test.go b/model/config_test.go index e39ecef3b..b7533145b 100644 --- a/model/config_test.go +++ b/model/config_test.go @@ -82,13 +82,6 @@ func TestConfigDefaultFileSettingsS3SSE(t *testing.T) { } } -func TestConfigDefaultSiteURL(t *testing.T) { - c1 := Config{} - c1.SetDefaults() - - assert.Equal(t, "", *c1.ServiceSettings.SiteURL, "SiteURL should be empty by default.") -} - func TestConfigDefaultServiceSettingsExperimentalGroupUnreadChannels(t *testing.T) { c1 := Config{} c1.SetDefaults() |