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
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
920bc0d871
Коммит
577ed27f1b
@@ -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")
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user