mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 05:32:15 +08:00
71 lines
1.8 KiB
Go
71 lines
1.8 KiB
Go
package commands
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"github.com/grafana/grafana/pkg/cmd/grafana-cli/commands/commandstest"
|
|
"github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func TestMissingPath(t *testing.T) {
|
|
var org = validateLsCommand
|
|
|
|
Convey("ls command", t, func() {
|
|
validateLsCommand = org
|
|
|
|
Convey("Missing path flag", func() {
|
|
cmd := Command{}
|
|
c, err := commandstest.NewCliContext(map[string]string{})
|
|
So(err, ShouldBeNil)
|
|
services.IoHelper = &commandstest.FakeIoUtil{}
|
|
|
|
Convey("should return error", func() {
|
|
err := cmd.lsCommand(c)
|
|
So(err, ShouldBeError, "missing path flag")
|
|
})
|
|
})
|
|
|
|
Convey("Path is not a directory", func() {
|
|
c, err := commandstest.NewCliContext(map[string]string{"path": "/var/lib/grafana/plugins"})
|
|
So(err, ShouldBeNil)
|
|
services.IoHelper = &commandstest.FakeIoUtil{
|
|
FakeIsDirectory: false,
|
|
}
|
|
cmd := Command{}
|
|
|
|
Convey("should return error", func() {
|
|
err := cmd.lsCommand(c)
|
|
So(err, ShouldNotBeNil)
|
|
})
|
|
})
|
|
|
|
Convey("can override validateLsCommand", func() {
|
|
c, err := commandstest.NewCliContext(map[string]string{"path": "/var/lib/grafana/plugins"})
|
|
So(err, ShouldBeNil)
|
|
|
|
validateLsCommand = func(pluginDir string) error {
|
|
return errors.New("dummy error")
|
|
}
|
|
|
|
Convey("should return error", func() {
|
|
cmd := Command{}
|
|
err := cmd.lsCommand(c)
|
|
So(err.Error(), ShouldEqual, "dummy error")
|
|
})
|
|
})
|
|
|
|
Convey("Validate that validateLsCommand is reset", func() {
|
|
c, err := commandstest.NewCliContext(map[string]string{"path": "/var/lib/grafana/plugins"})
|
|
So(err, ShouldBeNil)
|
|
cmd := Command{}
|
|
|
|
Convey("should return error", func() {
|
|
err := cmd.lsCommand(c)
|
|
So(err.Error(), ShouldNotEqual, "dummy error")
|
|
})
|
|
})
|
|
})
|
|
}
|