MM-10702 Moving plugins to use hashicorp go-plugin. (#8978)

* Moving plugins to use hashicorp go-plugin.

* Tweaks from feedback.
Этот коммит содержится в:
Christopher Speller
2018-06-25 12:33:13 -07:00
коммит произвёл GitHub
родитель ecefa6cdd1
Коммит 1e5c432e10
303 изменённых файлов: 52150 добавлений и 9404 удалений

Просмотреть файл

@@ -6,7 +6,6 @@ package api4
import (
"bytes"
"encoding/json"
"io/ioutil"
"os"
"path/filepath"
"testing"
@@ -14,18 +13,9 @@ import (
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/utils"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestPlugin(t *testing.T) {
pluginDir, err := ioutil.TempDir("", "mm-plugin-test")
require.NoError(t, err)
defer os.RemoveAll(pluginDir)
webappDir, err := ioutil.TempDir("", "mm-webapp-test")
require.NoError(t, err)
defer os.RemoveAll(webappDir)
th := Setup().InitBasic().InitSystemAdmin()
defer th.TearDown()
@@ -47,12 +37,6 @@ func TestPlugin(t *testing.T) {
*cfg.PluginSettings.EnableUploads = true
})
th.App.InitPlugins(pluginDir, webappDir, nil)
defer func() {
th.App.ShutDownPlugins()
th.App.PluginEnv = nil
}()
path, _ := utils.FindDir("tests")
file, err := os.Open(filepath.Join(path, "testplugin.tar.gz"))
if err != nil {
@@ -109,7 +93,7 @@ func TestPlugin(t *testing.T) {
assert.False(t, found)
// Successful activate
ok, resp := th.SystemAdminClient.ActivatePlugin(manifest.Id)
ok, resp := th.SystemAdminClient.EnablePlugin(manifest.Id)
CheckNoError(t, resp)
assert.True(t, ok)
@@ -126,12 +110,12 @@ func TestPlugin(t *testing.T) {
assert.True(t, found)
// Activate error case
ok, resp = th.SystemAdminClient.ActivatePlugin("junk")
ok, resp = th.SystemAdminClient.EnablePlugin("junk")
CheckBadRequestStatus(t, resp)
assert.False(t, ok)
// Successful deactivate
ok, resp = th.SystemAdminClient.DeactivatePlugin(manifest.Id)
ok, resp = th.SystemAdminClient.DisablePlugin(manifest.Id)
CheckNoError(t, resp)
assert.True(t, ok)
@@ -148,7 +132,7 @@ func TestPlugin(t *testing.T) {
assert.True(t, found)
// Deactivate error case
ok, resp = th.SystemAdminClient.DeactivatePlugin("junk")
ok, resp = th.SystemAdminClient.DisablePlugin("junk")
CheckBadRequestStatus(t, resp)
assert.False(t, ok)
@@ -162,7 +146,7 @@ func TestPlugin(t *testing.T) {
CheckForbiddenStatus(t, resp)
// Successful webapp get
_, resp = th.SystemAdminClient.ActivatePlugin(manifest.Id)
_, resp = th.SystemAdminClient.EnablePlugin(manifest.Id)
CheckNoError(t, resp)
manifests, resp := th.Client.GetWebappPlugins()