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:
Agniva De Sarker
2022-04-13 22:20:46 +05:30
committed by GitHub
parent 3cd3c7dc9a
commit 6eb83812e1
3 changed files with 7 additions and 7 deletions

View File

@@ -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")
}
})

View File

@@ -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) {

View File

@@ -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)
}
}