summaryrefslogtreecommitdiffstats
path: root/utils/config_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/config_test.go')
-rw-r--r--utils/config_test.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/utils/config_test.go b/utils/config_test.go
index d42f99a69..c15165fe5 100644
--- a/utils/config_test.go
+++ b/utils/config_test.go
@@ -4,6 +4,7 @@
package utils
import (
+ "os"
"testing"
)
@@ -12,3 +13,49 @@ func TestConfig(t *testing.T) {
LoadConfig("config.json")
InitTranslations(Cfg.LocalizationSettings)
}
+
+func TestConfigFromEnviroVars(t *testing.T) {
+
+ os.Setenv("MM_TEAMSETTINGS_SITENAME", "From Enviroment")
+ os.Setenv("MM_TEAMSETTINGS_CUSTOMBRANDTEXT", "Custom Brand")
+ os.Setenv("MM_SERVICESETTINGS_ENABLECOMMANDS", "false")
+ os.Setenv("MM_SERVICESETTINGS_READTIMEOUT", "400")
+
+ TranslationsPreInit()
+ EnableConfigFromEnviromentVars()
+ LoadConfig("config.json")
+
+ if Cfg.TeamSettings.SiteName != "From Enviroment" {
+ t.Fatal("Couldn't read config from enviroment var")
+ }
+
+ if *Cfg.TeamSettings.CustomBrandText != "Custom Brand" {
+ t.Fatal("Couldn't read config from enviroment var")
+ }
+
+ if *Cfg.ServiceSettings.EnableCommands != false {
+ t.Fatal("Couldn't read config from enviroment var")
+ }
+
+ if *Cfg.ServiceSettings.ReadTimeout != 400 {
+ t.Fatal("Couldn't read config from enviroment var")
+ }
+
+ os.Unsetenv("MM_TEAMSETTINGS_SITENAME")
+ os.Unsetenv("MM_TEAMSETTINGS_CUSTOMBRANDTEXT")
+ os.Unsetenv("MM_SERVICESETTINGS_ENABLECOMMANDS")
+ os.Unsetenv("MM_SERVICESETTINGS_READTIMEOUT")
+
+ Cfg.TeamSettings.SiteName = "Mattermost"
+ *Cfg.ServiceSettings.SiteURL = ""
+ *Cfg.ServiceSettings.EnableCommands = true
+ *Cfg.ServiceSettings.ReadTimeout = 300
+ SaveConfig(CfgFileName, Cfg)
+
+ LoadConfig("config.json")
+
+ if Cfg.TeamSettings.SiteName != "Mattermost" {
+ t.Fatal("should have been reset")
+ }
+
+}