From 577ed27f1bb060080d311342047e31943a02ccbb Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Thu, 18 May 2017 15:05:57 -0400 Subject: 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 --- utils/config_test.go | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) (limited to 'utils/config_test.go') 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") + } +} -- cgit v1.2.3-1-g7c22