mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
91 lines
2.1 KiB
Go
91 lines
2.1 KiB
Go
package commands
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/grafana/grafana/pkg/cmd/grafana-cli/commands/commandstest"
|
|
s "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
"testing"
|
|
)
|
|
|
|
func TestMissingPath(t *testing.T) {
|
|
var org = validateLsCommand
|
|
|
|
Convey("ls command", t, func() {
|
|
validateLsCommand = org
|
|
|
|
Convey("Missing path", func() {
|
|
commandLine := &commandstest.FakeCommandLine{
|
|
CliArgs: []string{"ls"},
|
|
GlobalFlags: &commandstest.FakeFlagger{
|
|
Data: map[string]interface{}{
|
|
"path": "",
|
|
},
|
|
},
|
|
}
|
|
s.IoHelper = &commandstest.FakeIoUtil{}
|
|
|
|
Convey("should return error", func() {
|
|
err := lsCommand(commandLine)
|
|
So(err, ShouldNotBeNil)
|
|
})
|
|
})
|
|
|
|
Convey("Path is not a directory", func() {
|
|
commandLine := &commandstest.FakeCommandLine{
|
|
CliArgs: []string{"ls"},
|
|
GlobalFlags: &commandstest.FakeFlagger{
|
|
Data: map[string]interface{}{
|
|
"path": "/var/lib/grafana/plugins",
|
|
},
|
|
},
|
|
}
|
|
|
|
s.IoHelper = &commandstest.FakeIoUtil{
|
|
FakeIsDirectory: false,
|
|
}
|
|
|
|
Convey("should return error", func() {
|
|
err := lsCommand(commandLine)
|
|
So(err, ShouldNotBeNil)
|
|
})
|
|
})
|
|
|
|
Convey("can override validateLsCommand", func() {
|
|
commandLine := &commandstest.FakeCommandLine{
|
|
CliArgs: []string{"ls"},
|
|
GlobalFlags: &commandstest.FakeFlagger{
|
|
Data: map[string]interface{}{
|
|
"path": "/var/lib/grafana/plugins",
|
|
},
|
|
},
|
|
}
|
|
|
|
validateLsCommand = func(pluginDir string) error {
|
|
return errors.New("dummie error")
|
|
}
|
|
|
|
Convey("should return error", func() {
|
|
err := lsCommand(commandLine)
|
|
So(err.Error(), ShouldEqual, "dummie error")
|
|
})
|
|
})
|
|
|
|
Convey("Validate that validateLsCommand is reset", func() {
|
|
commandLine := &commandstest.FakeCommandLine{
|
|
CliArgs: []string{"ls"},
|
|
GlobalFlags: &commandstest.FakeFlagger{
|
|
Data: map[string]interface{}{
|
|
"path": "/var/lib/grafana/plugins",
|
|
},
|
|
},
|
|
}
|
|
|
|
Convey("should return error", func() {
|
|
err := lsCommand(commandLine)
|
|
So(err.Error(), ShouldNotEqual, "dummie error")
|
|
})
|
|
})
|
|
})
|
|
}
|