summaryrefslogtreecommitdiffstats
path: root/utils/config_test.go
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2017-03-29 18:13:32 -0700
committerJoram Wilander <jwawilander@gmail.com>2017-03-29 21:13:32 -0400
commitc06a23ea0b0aa317b88327a78e55d2fe7b2c1b89 (patch)
treef01ed74f4bf0d27074066dcc1080d480ef8b848c /utils/config_test.go
parent6ac87d82e38c83e3b9b3bd12c3122e047f0110b1 (diff)
downloadchat-c06a23ea0b0aa317b88327a78e55d2fe7b2c1b89.tar.gz
chat-c06a23ea0b0aa317b88327a78e55d2fe7b2c1b89.tar.bz2
chat-c06a23ea0b0aa317b88327a78e55d2fe7b2c1b89.zip
PLT-6076 Read config file info from enviroment vars (#5873)
* Adding viper libs for config file changes * Removing the old fsnotify lib * updating some missing libs * PLT-6076 Read config file info from enviroment vars * Changing unit test to use less important props
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")
+ }
+
+}