fix: import path should be github.com/ooni/probe-cli/v3 (#200)
See https://github.com/ooni/probe/issues/1335#issuecomment-771499511
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package info
|
||||
|
||||
import (
|
||||
"github.com/alecthomas/kingpin"
|
||||
"github.com/apex/log"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/cli/root"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/ooni"
|
||||
)
|
||||
|
||||
func init() {
|
||||
cmd := root.Command("info", "Display information about OONI Probe")
|
||||
cmd.Action(func(_ *kingpin.ParseContext) error {
|
||||
return doinfo(defaultconfig)
|
||||
})
|
||||
}
|
||||
|
||||
type doinfoconfig struct {
|
||||
Logger log.Interface
|
||||
NewProbeCLI func() (ooni.ProbeCLI, error)
|
||||
}
|
||||
|
||||
var defaultconfig = doinfoconfig{
|
||||
Logger: log.Log,
|
||||
NewProbeCLI: root.NewProbeCLI,
|
||||
}
|
||||
|
||||
func doinfo(config doinfoconfig) error {
|
||||
probeCLI, err := config.NewProbeCLI()
|
||||
if err != nil {
|
||||
config.Logger.Errorf("%s", err)
|
||||
return err
|
||||
}
|
||||
config.Logger.WithFields(log.Fields{"path": probeCLI.Home()}).Info("Home")
|
||||
config.Logger.WithFields(log.Fields{"path": probeCLI.TempDir()}).Info("TempDir")
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package info
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/apex/log"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/ooni"
|
||||
"github.com/ooni/probe-cli/v3/cmd/ooniprobe/internal/oonitest"
|
||||
)
|
||||
|
||||
func TestNewProbeCLIFailed(t *testing.T) {
|
||||
expected := errors.New("mocked error")
|
||||
handler := &oonitest.FakeLoggerHandler{}
|
||||
err := doinfo(doinfoconfig{
|
||||
NewProbeCLI: func() (ooni.ProbeCLI, error) {
|
||||
return nil, expected
|
||||
},
|
||||
Logger: &log.Logger{
|
||||
Handler: handler,
|
||||
Level: log.DebugLevel,
|
||||
},
|
||||
})
|
||||
if !errors.Is(err, expected) {
|
||||
t.Fatalf("not the error we expected: %+v", err)
|
||||
}
|
||||
if len(handler.FakeEntries) != 1 {
|
||||
t.Fatal("invalid number of log entries")
|
||||
}
|
||||
entry := handler.FakeEntries[0]
|
||||
if entry.Level != log.ErrorLevel {
|
||||
t.Fatal("invalid log level")
|
||||
}
|
||||
if entry.Message != "mocked error" {
|
||||
t.Fatal("invalid .Message")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSuccess(t *testing.T) {
|
||||
handler := &oonitest.FakeLoggerHandler{}
|
||||
cli := &oonitest.FakeProbeCLI{
|
||||
FakeHome: "fakehome",
|
||||
FakeTempDir: "faketempdir",
|
||||
}
|
||||
err := doinfo(doinfoconfig{
|
||||
NewProbeCLI: func() (ooni.ProbeCLI, error) {
|
||||
return cli, nil
|
||||
},
|
||||
Logger: &log.Logger{
|
||||
Handler: handler,
|
||||
Level: log.DebugLevel,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(handler.FakeEntries) != 2 {
|
||||
t.Fatal("invalid number of log entries")
|
||||
}
|
||||
entry := handler.FakeEntries[0]
|
||||
if entry.Level != log.InfoLevel {
|
||||
t.Fatal("invalid log level")
|
||||
}
|
||||
if entry.Message != "Home" {
|
||||
t.Fatal("invalid .Message")
|
||||
}
|
||||
if entry.Fields["path"].(string) != "fakehome" {
|
||||
t.Fatal("invalid path")
|
||||
}
|
||||
entry = handler.FakeEntries[1]
|
||||
if entry.Level != log.InfoLevel {
|
||||
t.Fatal("invalid log level")
|
||||
}
|
||||
if entry.Message != "TempDir" {
|
||||
t.Fatal("invalid .Message")
|
||||
}
|
||||
if entry.Fields["path"].(string) != "faketempdir" {
|
||||
t.Fatal("invalid path")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user