mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Propagate the parse error for URLs (#19972)
During config validation, we would omit the actual error. This makes debugging difficult. ```release-note NONE ```
This commit is contained in:
@@ -474,7 +474,7 @@ func TestDatabaseStoreSet(t *testing.T) {
|
||||
|
||||
_, _, err = ds.Set(newCfg)
|
||||
if assert.Error(t, err) {
|
||||
assert.EqualError(t, err, "new configuration is invalid: Config.IsValid: model.config.is_valid.site_url.app_error, ")
|
||||
assert.EqualError(t, err, "new configuration is invalid: Config.IsValid: model.config.is_valid.site_url.app_error, parse \"invalid\": invalid URI for request")
|
||||
}
|
||||
|
||||
assert.Equal(t, "", *ds.Get().ServiceSettings.SiteURL)
|
||||
@@ -842,7 +842,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
|
||||
|
||||
err = ds.Load()
|
||||
if assert.Error(t, err) {
|
||||
assert.EqualError(t, err, "invalid config: Config.IsValid: model.config.is_valid.site_url.app_error, ")
|
||||
assert.EqualError(t, err, "invalid config: Config.IsValid: model.config.is_valid.site_url.app_error, parse \"invalid\": invalid URI for request")
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -495,7 +495,7 @@ func TestFileStoreSet(t *testing.T) {
|
||||
|
||||
_, _, err := configStore.Set(newCfg)
|
||||
if assert.Error(t, err) {
|
||||
assert.EqualError(t, err, "new configuration is invalid: Config.IsValid: model.config.is_valid.site_url.app_error, ")
|
||||
assert.EqualError(t, err, "new configuration is invalid: Config.IsValid: model.config.is_valid.site_url.app_error, parse \"invalid\": invalid URI for request")
|
||||
}
|
||||
|
||||
assert.Equal(t, "", *configStore.Get().ServiceSettings.SiteURL)
|
||||
@@ -819,7 +819,7 @@ func TestFileStoreLoad(t *testing.T) {
|
||||
|
||||
err = fs.Load()
|
||||
if assert.Error(t, err) {
|
||||
assert.EqualError(t, err, "invalid config: Config.IsValid: model.config.is_valid.site_url.app_error, ")
|
||||
assert.EqualError(t, err, "invalid config: Config.IsValid: model.config.is_valid.site_url.app_error, parse \"invalid\": invalid URI for request")
|
||||
}
|
||||
})
|
||||
|
||||
@@ -833,7 +833,7 @@ func TestFileStoreLoad(t *testing.T) {
|
||||
newCfg := minimalConfig
|
||||
_, _, err := configStore.Set(newCfg)
|
||||
require.Error(t, err)
|
||||
require.EqualError(t, err, "new configuration is invalid: Config.IsValid: model.config.is_valid.site_url.app_error, ")
|
||||
require.EqualError(t, err, "new configuration is invalid: Config.IsValid: model.config.is_valid.site_url.app_error, parse \"invalid_url\": invalid URI for request")
|
||||
})
|
||||
|
||||
t.Run("fixes required", func(t *testing.T) {
|
||||
|
||||
@@ -3567,13 +3567,13 @@ func (s *ServiceSettings) isValid() *AppError {
|
||||
|
||||
if *s.SiteURL != "" {
|
||||
if _, err := url.ParseRequestURI(*s.SiteURL); err != nil {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.site_url.app_error", nil, "", http.StatusBadRequest)
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.site_url.app_error", nil, err.Error(), http.StatusBadRequest)
|
||||
}
|
||||
}
|
||||
|
||||
if *s.WebsocketURL != "" {
|
||||
if _, err := url.ParseRequestURI(*s.WebsocketURL); err != nil {
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.websocket_url.app_error", nil, "", http.StatusBadRequest)
|
||||
return NewAppError("Config.IsValid", "model.config.is_valid.websocket_url.app_error", nil, err.Error(), http.StatusBadRequest)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user