diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2017-05-18 15:05:57 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-18 15:05:57 -0400 |
commit | 577ed27f1bb060080d311342047e31943a02ccbb (patch) | |
tree | ad57fa69b1daf143e914ea2480a475e5450cc236 /utils/config_test.go | |
parent | 920bc0d8712a50691b1f698779f60132536eb214 (diff) | |
download | chat-577ed27f1bb060080d311342047e31943a02ccbb.tar.gz chat-577ed27f1bb060080d311342047e31943a02ccbb.tar.bz2 chat-577ed27f1bb060080d311342047e31943a02ccbb.zip |
PLT-6408 Framework for job server (#6404)
* Added initial job server
* Added job server to be ran as part of platform
* Added test job to the enterprise repo
* Fixed job server not loading license
* Renamed job package to jobs
* Fixed TE not being buildable
* Added JobStatus table to database
* Changed fields used by JobStatus
* Added APIs to query job status
* Added config change listener to server
* Added option to run job server from Makefile
* Added ability to enable/disable jobs from config
* Commented out placeholder for search indexing job
* Fixed govet
* Removed debug messages and fixed job api init message
Diffstat (limited to 'utils/config_test.go')
-rw-r--r-- | utils/config_test.go | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/utils/config_test.go b/utils/config_test.go index 755cd9acd..bce85d2ae 100644 --- a/utils/config_test.go +++ b/utils/config_test.go @@ -6,6 +6,8 @@ package utils import ( "os" "testing" + + "github.com/mattermost/platform/model" ) func TestConfig(t *testing.T) { @@ -59,3 +61,80 @@ func TestConfigFromEnviroVars(t *testing.T) { } } + +func TestAddRemoveConfigListener(t *testing.T) { + if len(cfgListeners) != 0 { + t.Fatal("should've started with 0 listeners") + } + + id1 := AddConfigListener(func(*model.Config, *model.Config) { + }) + if len(cfgListeners) != 1 { + t.Fatal("should now have 1 listener") + } + + id2 := AddConfigListener(func(*model.Config, *model.Config) { + }) + if len(cfgListeners) != 2 { + t.Fatal("should now have 2 listeners") + } + + RemoveConfigListener(id1) + if len(cfgListeners) != 1 { + t.Fatal("should've removed first listener") + } + + RemoveConfigListener(id2) + if len(cfgListeners) != 0 { + t.Fatal("should've removed both listeners") + } +} + +func TestConfigListener(t *testing.T) { + TranslationsPreInit() + EnableConfigFromEnviromentVars() + LoadConfig("config.json") + + SiteName := Cfg.TeamSettings.SiteName + defer func() { + Cfg.TeamSettings.SiteName = SiteName + SaveConfig(CfgFileName, Cfg) + }() + Cfg.TeamSettings.SiteName = "test123" + + listenerCalled := false + listener := func(oldConfig *model.Config, newConfig *model.Config) { + if listenerCalled { + t.Fatal("listener called twice") + } + + if oldConfig.TeamSettings.SiteName != "test123" { + t.Fatal("old config contains incorrect site name") + } else if newConfig.TeamSettings.SiteName != "Mattermost" { + t.Fatal("new config contains incorrect site name") + } + + listenerCalled = true + } + listenerId := AddConfigListener(listener) + defer RemoveConfigListener(listenerId) + + listener2Called := false + listener2 := func(oldConfig *model.Config, newConfig *model.Config) { + if listener2Called { + t.Fatal("listener2 called twice") + } + + listener2Called = true + } + listener2Id := AddConfigListener(listener2) + defer RemoveConfigListener(listener2Id) + + LoadConfig("config.json") + + if !listenerCalled { + t.Fatal("listener should've been called") + } else if !listener2Called { + t.Fatal("listener 2 should've been called") + } +} |