MM-16725 Respect env var overrides when setting config (#11821)

* Respect env var overrides when setting config

* Use strings.NewReader
Этот коммит содержится в:
Joram Wilander
2019-08-09 11:33:59 -04:00
коммит произвёл GitHub
родитель 9ea0a60d88
Коммит 404c49f62f
15 изменённых файлов: 85 добавлений и 23 удалений

Просмотреть файл

@@ -1,6 +1,7 @@
package config_test
import (
"os"
"testing"
"github.com/mattermost/mattermost-server/config"
@@ -134,5 +135,29 @@ func TestMergeConfigs(t *testing.T) {
})
}
func TestConfigEnvironmentOverrides(t *testing.T) {
base, err := config.NewMemoryStore()
require.NoError(t, err)
originalConfig := &model.Config{}
originalConfig.ServiceSettings.SiteURL = newString("http://notoverriden.ca")
os.Setenv("MM_SERVICESETTINGS_SITEURL", "http://overridden.ca")
defer os.Unsetenv("MM_SERVICESETTINGS_SITEURL")
t.Run("loading config should respect environment variable overrides", func(t *testing.T) {
err := base.Load()
require.NoError(t, err)
assert.Equal(t, "http://overridden.ca", *base.Get().ServiceSettings.SiteURL)
})
t.Run("setting config should respect environment variable overrides", func(t *testing.T) {
_, err := base.Set(originalConfig)
require.NoError(t, err)
assert.Equal(t, "http://overridden.ca", *base.Get().ServiceSettings.SiteURL)
})
}
func newBool(b bool) *bool { return &b }
func newString(s string) *string { return &s }