Files
mattermost/model/bundle_info_test.go
Joram Wilander 899ab31fff Implement experimental REST API endpoints for plugins (#7279)
* Implement experimental REST API endpoints for plugins

* Updates per feedback and rebase

* Update tests

* Further updates

* Update extraction of plugins

* Use OS temp dir for plugins instead of search path

* Fail extraction on paths that attempt to traverse upward

* Update pluginenv ActivePlugins()
2017-09-01 09:00:27 -04:00

31 lines
646 B
Go

package model
import (
"io/ioutil"
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestBundleInfoForPath(t *testing.T) {
dir, err := ioutil.TempDir("", "mm-plugin-test")
require.NoError(t, err)
defer os.RemoveAll(dir)
path := filepath.Join(dir, "plugin.json")
f, err := os.Create(path)
require.NoError(t, err)
_, err = f.WriteString(`{"id": "foo"}`)
f.Close()
require.NoError(t, err)
info := BundleInfoForPath(dir)
assert.Equal(t, info.Path, dir)
assert.NotNil(t, info.Manifest)
assert.Equal(t, info.ManifestPath, path)
assert.Nil(t, info.ManifestError)
}