| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package commands
- import (
- "io/ioutil"
- "os"
- "testing"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestFoldernameReplacement(t *testing.T) {
- Convey("path containing git commit path", t, func() {
- pluginName := "datasource-plugin-kairosdb"
- paths := map[string]string{
- "datasource-plugin-kairosdb-cc4a3965ef5d3eb1ae0ee4f93e9e78ec7db69e64/": "datasource-plugin-kairosdb/",
- "datasource-plugin-kairosdb-cc4a3965ef5d3eb1ae0ee4f93e9e78ec7db69e64/README.md": "datasource-plugin-kairosdb/README.md",
- "datasource-plugin-kairosdb-cc4a3965ef5d3eb1ae0ee4f93e9e78ec7db69e64/partials/": "datasource-plugin-kairosdb/partials/",
- "datasource-plugin-kairosdb-cc4a3965ef5d3eb1ae0ee4f93e9e78ec7db69e64/partials/config.html": "datasource-plugin-kairosdb/partials/config.html",
- }
- Convey("should be replaced with plugin name", func() {
- for k, v := range paths {
- So(RemoveGitBuildFromName(pluginName, k), ShouldEqual, v)
- }
- })
- })
- Convey("path containing git commit path", t, func() {
- pluginName := "app-example"
- paths := map[string]string{
- "app-plugin-example-3c28f65ac6fb7f1e234b0364b97081d836495439/": "app-example/",
- }
- Convey("should be replaced with plugin name", func() {
- for k, v := range paths {
- So(RemoveGitBuildFromName(pluginName, k), ShouldEqual, v)
- }
- })
- })
- }
- func TestExtractFiles(t *testing.T) {
- Convey("Should preserve file permissions for plugin backend binaries for linux and darwin", t, func() {
- err := os.RemoveAll("testdata/fake-plugins-dir")
- So(err, ShouldBeNil)
- err = os.MkdirAll("testdata/fake-plugins-dir", 0774)
- So(err, ShouldBeNil)
- body, err := ioutil.ReadFile("testdata/grafana-simple-json-datasource-ec18fa4da8096a952608a7e4c7782b4260b41bcf.zip")
- So(err, ShouldBeNil)
- err = extractFiles(body, "grafana-simple-json-datasource", "testdata/fake-plugins-dir")
- So(err, ShouldBeNil)
- //File in zip has permissions 777
- fileInfo, err := os.Stat("testdata/fake-plugins-dir/grafana-simple-json-datasource/simple-plugin_darwin_amd64")
- So(err, ShouldBeNil)
- So(fileInfo.Mode().String(), ShouldEqual, "-rwxr-xr-x")
- //File in zip has permission 664
- fileInfo, err = os.Stat("testdata/fake-plugins-dir/grafana-simple-json-datasource/simple-plugin_linux_amd64")
- So(err, ShouldBeNil)
- So(fileInfo.Mode().String(), ShouldEqual, "-rwxr-xr-x")
- //File in zip has permission 644
- fileInfo, err = os.Stat("testdata/fake-plugins-dir/grafana-simple-json-datasource/simple-plugin_windows_amd64.exe")
- So(err, ShouldBeNil)
- So(fileInfo.Mode().String(), ShouldEqual, "-rw-r--r--")
- //File in zip has permission 755
- fileInfo, err = os.Stat("testdata/fake-plugins-dir/grafana-simple-json-datasource/non-plugin-binary")
- So(err, ShouldBeNil)
- So(fileInfo.Mode().String(), ShouldEqual, "-rwxr-xr-x")
- err = os.RemoveAll("testdata/fake-plugins-dir")
- So(err, ShouldBeNil)
- })
- }
|