diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2018-06-21 10:30:20 -0400 |
---|---|---|
committer | Jesús Espino <jespinog@gmail.com> | 2018-06-21 16:30:20 +0200 |
commit | 07c785e294e70494ae6016d59749a71af3f74920 (patch) | |
tree | 9b5e8deb15a182aa6a890261bb77b2e6faebbaea /utils | |
parent | 1f65f0e3d6d142b859f8dda52da99cb3d4a01c9c (diff) | |
download | chat-07c785e294e70494ae6016d59749a71af3f74920.tar.gz chat-07c785e294e70494ae6016d59749a71af3f74920.tar.bz2 chat-07c785e294e70494ae6016d59749a71af3f74920.zip |
MM-10730 Added support for empty environment variables to viper (#8973)
Diffstat (limited to 'utils')
-rw-r--r-- | utils/config_test.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/utils/config_test.go b/utils/config_test.go index 278f24251..80ab05ffe 100644 --- a/utils/config_test.go +++ b/utils/config_test.go @@ -335,6 +335,9 @@ func TestConfigFromEnviroVars(t *testing.T) { "TeamSettings": { "SiteName": "Mattermost", "CustomBrandText": "" + }, + "SupportSettings": { + "TermsOfServiceLink": "https://about.mattermost.com/default-terms/" } }` @@ -447,6 +450,28 @@ func TestConfigFromEnviroVars(t *testing.T) { } } }) + + t.Run("empty string setting", func(t *testing.T) { + os.Setenv("MM_SUPPORTSETTINGS_TERMSOFSERVICELINK", "") + defer os.Unsetenv("MM_SUPPORTSETTINGS_TERMSOFSERVICELINK") + + cfg, envCfg, err := ReadConfig(strings.NewReader(config), true) + require.Nil(t, err) + + if *cfg.SupportSettings.TermsOfServiceLink != "" { + t.Fatal("Couldn't read empty TermsOfServiceLink from environment var") + } + + if supportSettings, ok := envCfg["SupportSettings"]; !ok { + t.Fatal("SupportSettings is missing from envConfig") + } else if supportSettingsAsMap, ok := supportSettings.(map[string]interface{}); !ok { + t.Fatal("SupportSettings is not a map in envConfig") + } else { + if termsOfServiceLinkInEnv, ok := supportSettingsAsMap["TermsOfServiceLink"].(bool); !ok || !termsOfServiceLinkInEnv { + t.Fatal("TermsOfServiceLink should be in envConfig") + } + } + }) } func TestValidateLocales(t *testing.T) { |