summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-09-12 14:12:29 -0500
committerJoram Wilander <jwawilander@gmail.com>2017-09-12 15:12:29 -0400
commit4731b8f9b993536ed61dbc065e161e8994253f0d (patch)
tree140e7407ef793204dd94e1b58a725e836c75b2b5
parentb066b6df138e88e75cb40f1ec3e58fbd13e61909 (diff)
downloadchat-4731b8f9b993536ed61dbc065e161e8994253f0d.tar.gz
chat-4731b8f9b993536ed61dbc065e161e8994253f0d.tar.bz2
chat-4731b8f9b993536ed61dbc065e161e8994253f0d.zip
fix plugin test (#7436)
* fix plugin test * ugh. global state * Fix plugin test * Fix TestDeleteChannel * Remove plugin config listener when shutting down
-rw-r--r--api/apitestlib.go8
-rw-r--r--api4/apitestlib.go8
-rw-r--r--api4/channel_test.go3
-rw-r--r--api4/plugin_test.go14
-rw-r--r--app/app.go5
-rw-r--r--app/apptestlib.go8
-rw-r--r--app/plugins.go4
7 files changed, 31 insertions, 19 deletions
diff --git a/api/apitestlib.go b/api/apitestlib.go
index 3f63f3ffc..276ff81e1 100644
--- a/api/apitestlib.go
+++ b/api/apitestlib.go
@@ -46,9 +46,6 @@ func setupTestHelper(enterprise bool) *TestHelper {
*utils.Cfg.RateLimitSettings.Enable = false
utils.Cfg.EmailSettings.SendEmailNotifications = true
utils.DisableDebugLogForTest()
- if enterprise {
- utils.License().Features.SetDefaults()
- }
th.App.NewServer()
th.App.InitStores()
th.App.Srv.Router = NewRouter()
@@ -63,6 +60,11 @@ func setupTestHelper(enterprise bool) *TestHelper {
*utils.Cfg.TeamSettings.EnableOpenServer = true
}
+ utils.SetIsLicensed(enterprise)
+ if enterprise {
+ utils.License().Features.SetDefaults()
+ }
+
return th
}
diff --git a/api4/apitestlib.go b/api4/apitestlib.go
index d98683d32..9538eb99c 100644
--- a/api4/apitestlib.go
+++ b/api4/apitestlib.go
@@ -58,9 +58,6 @@ func setupTestHelper(enterprise bool) *TestHelper {
*utils.Cfg.RateLimitSettings.Enable = false
utils.Cfg.EmailSettings.SendEmailNotifications = true
utils.DisableDebugLogForTest()
- if enterprise {
- utils.License().Features.SetDefaults()
- }
th.App.NewServer()
th.App.InitStores()
th.App.Srv.Router = NewRouter()
@@ -74,6 +71,11 @@ func setupTestHelper(enterprise bool) *TestHelper {
*utils.Cfg.TeamSettings.EnableOpenServer = true
}
+ utils.SetIsLicensed(enterprise)
+ if enterprise {
+ utils.License().Features.SetDefaults()
+ }
+
if jobs.Srv.Store == nil {
jobs.Srv.Store = th.App.Srv.Store
}
diff --git a/api4/channel_test.go b/api4/channel_test.go
index 57b760178..7237eb47a 100644
--- a/api4/channel_test.go
+++ b/api4/channel_test.go
@@ -876,6 +876,8 @@ func TestDeleteChannel(t *testing.T) {
_, resp = th.SystemAdminClient.DeleteChannel(publicChannel5.Id)
CheckNoError(t, resp)
+ th = Setup().InitBasic().InitSystemAdmin()
+
isLicensed := utils.IsLicensed()
license := utils.License()
restrictPublicChannel := *utils.Cfg.TeamSettings.RestrictPublicChannelManagement
@@ -894,7 +896,6 @@ func TestDeleteChannel(t *testing.T) {
utils.License().Features.SetDefaults()
utils.SetDefaultRolesBasedOnConfig()
- th = Setup().InitBasic().InitSystemAdmin()
Client = th.Client
team = th.BasicTeam
user = th.BasicUser
diff --git a/api4/plugin_test.go b/api4/plugin_test.go
index 898649f56..f92e58ea0 100644
--- a/api4/plugin_test.go
+++ b/api4/plugin_test.go
@@ -26,17 +26,21 @@ func TestPlugin(t *testing.T) {
os.RemoveAll(webappDir)
}()
- th := Setup().InitBasic().InitSystemAdmin()
+ th := SetupEnterprise().InitBasic().InitSystemAdmin()
defer TearDown()
- th.App.InitPlugins(pluginDir, webappDir)
-
enablePlugins := *utils.Cfg.PluginSettings.Enable
defer func() {
*utils.Cfg.PluginSettings.Enable = enablePlugins
}()
*utils.Cfg.PluginSettings.Enable = true
+ th.App.InitPlugins(pluginDir, webappDir)
+ defer func() {
+ th.App.ShutDownPlugins()
+ th.App.PluginEnv = nil
+ }()
+
path, _ := utils.FindDir("tests")
file, err := os.Open(path + "/testplugin.tar.gz")
if err != nil {
@@ -108,7 +112,5 @@ func TestPlugin(t *testing.T) {
CheckForbiddenStatus(t, resp)
_, resp = th.SystemAdminClient.RemovePlugin("bad.id")
- CheckNotFoundStatus(t, resp)
-
- th.App.PluginEnv = nil
+ CheckBadRequestStatus(t, resp)
}
diff --git a/app/app.go b/app/app.go
index 953ca285a..667c425bd 100644
--- a/app/app.go
+++ b/app/app.go
@@ -11,8 +11,9 @@ import (
)
type App struct {
- Srv *Server
- PluginEnv *pluginenv.Environment
+ Srv *Server
+ PluginEnv *pluginenv.Environment
+ PluginConfigListenerId string
}
var globalApp App
diff --git a/app/apptestlib.go b/app/apptestlib.go
index a640ff391..67a380f2d 100644
--- a/app/apptestlib.go
+++ b/app/apptestlib.go
@@ -33,9 +33,6 @@ func setupTestHelper(enterprise bool) *TestHelper {
*utils.Cfg.TeamSettings.MaxUsersPerTeam = 50
*utils.Cfg.RateLimitSettings.Enable = false
utils.DisableDebugLogForTest()
- if enterprise {
- utils.License().Features.SetDefaults()
- }
th.App.NewServer()
th.App.InitStores()
th.App.StartServer()
@@ -46,6 +43,11 @@ func setupTestHelper(enterprise bool) *TestHelper {
*utils.Cfg.TeamSettings.EnableOpenServer = true
}
+ utils.SetIsLicensed(enterprise)
+ if enterprise {
+ utils.License().Features.SetDefaults()
+ }
+
return th
}
diff --git a/app/plugins.go b/app/plugins.go
index f165f7b49..f00308a86 100644
--- a/app/plugins.go
+++ b/app/plugins.go
@@ -354,7 +354,7 @@ func (a *App) InitPlugins(pluginPath, webappPath string) {
return
}
- utils.AddConfigListener(func(_, _ *model.Config) {
+ a.PluginConfigListenerId = utils.AddConfigListener(func(_, _ *model.Config) {
for _, err := range a.PluginEnv.Hooks().OnConfigurationChange() {
l4g.Error(err.Error())
}
@@ -412,4 +412,6 @@ func (a *App) ShutDownPlugins() {
for _, err := range a.PluginEnv.Shutdown() {
l4g.Error(err.Error())
}
+ utils.RemoveConfigListener(a.PluginConfigListenerId)
+ a.PluginConfigListenerId = ""
}