github.com/nhannv/mattermost-server@v5.11.1+incompatible/cmd/mattermost/commands/plugin_test.go (about)

     1  package commands
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/mattermost/mattermost-server/config"
     9  	"github.com/mattermost/mattermost-server/utils/fileutils"
    10  	"github.com/stretchr/testify/assert"
    11  	"github.com/stretchr/testify/require"
    12  )
    13  
    14  func TestPlugin(t *testing.T) {
    15  	th := Setup().InitBasic()
    16  	defer th.TearDown()
    17  
    18  	cfg := th.Config()
    19  	*cfg.PluginSettings.EnableUploads = true
    20  	*cfg.PluginSettings.Directory = "./test-plugins"
    21  	*cfg.PluginSettings.ClientDirectory = "./test-client-plugins"
    22  	th.SetConfig(cfg)
    23  
    24  	os.MkdirAll("./test-plugins", os.ModePerm)
    25  	os.MkdirAll("./test-client-plugins", os.ModePerm)
    26  
    27  	path, _ := fileutils.FindDir("tests")
    28  
    29  	th.CheckCommand(t, "plugin", "add", filepath.Join(path, "testplugin.tar.gz"))
    30  
    31  	th.CheckCommand(t, "plugin", "enable", "testplugin")
    32  	fs, err := config.NewFileStore(th.ConfigPath(), false)
    33  	require.Nil(t, err)
    34  	assert.True(t, fs.Get().PluginSettings.PluginStates["testplugin"].Enable)
    35  	fs.Close()
    36  
    37  	th.CheckCommand(t, "plugin", "disable", "testplugin")
    38  	fs, err = config.NewFileStore(th.ConfigPath(), false)
    39  	require.Nil(t, err)
    40  	assert.False(t, fs.Get().PluginSettings.PluginStates["testplugin"].Enable)
    41  	fs.Close()
    42  
    43  	th.CheckCommand(t, "plugin", "list")
    44  
    45  	th.CheckCommand(t, "plugin", "delete", "testplugin")
    46  }