summaryrefslogtreecommitdiffstats
path: root/api4/apitestlib.go
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2018-06-25 12:33:13 -0700
committerGitHub <noreply@github.com>2018-06-25 12:33:13 -0700
commit1e5c432e1029601a664454388ae366ef69618d62 (patch)
treecb9e8bfb66640ac3b29c934bb2c3202d25aeb368 /api4/apitestlib.go
parentecefa6cdd1e7376046bbec82c1b47f7756fea646 (diff)
downloadchat-1e5c432e1029601a664454388ae366ef69618d62.tar.gz
chat-1e5c432e1029601a664454388ae366ef69618d62.tar.bz2
chat-1e5c432e1029601a664454388ae366ef69618d62.zip
MM-10702 Moving plugins to use hashicorp go-plugin. (#8978)
* Moving plugins to use hashicorp go-plugin. * Tweaks from feedback.
Diffstat (limited to 'api4/apitestlib.go')
-rw-r--r--api4/apitestlib.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/api4/apitestlib.go b/api4/apitestlib.go
index 8293a03f7..ff7d47b26 100644
--- a/api4/apitestlib.go
+++ b/api4/apitestlib.go
@@ -49,6 +49,7 @@ type TestHelper struct {
SystemAdminClient *model.Client4
SystemAdminUser *model.User
+ tempWorkspace string
}
type persistentTestStore struct {
@@ -137,6 +138,25 @@ func setupTestHelper(enterprise bool) *TestHelper {
th.Client = th.CreateClient()
th.SystemAdminClient = th.CreateClient()
+
+ if th.tempWorkspace == "" {
+ dir, err := ioutil.TempDir("", "apptest")
+ if err != nil {
+ panic(err)
+ }
+ th.tempWorkspace = dir
+ }
+
+ pluginDir := filepath.Join(th.tempWorkspace, "plugins")
+ webappDir := filepath.Join(th.tempWorkspace, "webapp")
+
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.PluginSettings.Directory = pluginDir
+ *cfg.PluginSettings.ClientDirectory = webappDir
+ })
+
+ th.App.InitPlugins(pluginDir, webappDir)
+
return th
}