Files
ssh-netbox-wrapper/cmd/netssh/notes_test.go
T
2026-10-27 17:51:59 +01:00

41 lines
1.1 KiB
Go

package main
import (
"bytes"
"path/filepath"
"strings"
"testing"
)
func TestLocalNotesCLI(t *testing.T) {
t.Setenv("XDG_CONFIG_HOME", t.TempDir())
t.Setenv("NETSSH_CACHE_PATH", filepath.Join(t.TempDir(), "hosts.json"))
run := func(args []string, input string) (string, error) {
root := rootCmd()
var out bytes.Buffer
root.SetOut(&out)
root.SetErr(&out)
root.SetIn(strings.NewReader(input))
root.SetArgs(args)
err := root.Execute()
return out.String(), err
}
if _, err := run([]string{"notes", "set", "web01", "--kind", "vm"}, "First\nSecond"); err != nil {
t.Fatal(err)
}
if _, err := run([]string{"notes", "append", "web01", "Third", "--kind", "vm"}, ""); err != nil {
t.Fatal(err)
}
out, err := run([]string{"notes", "show", "web01", "--kind", "vm"}, "")
if err != nil || out != "First\nSecond\nThird" {
t.Fatalf("show: %q, %v", out, err)
}
if _, err := run([]string{"notes", "set", "web01", "", "--kind", "vm"}, ""); err != nil {
t.Fatal(err)
}
out, err = run([]string{"notes", "show", "web01", "--kind", "vm"}, "")
if err != nil || out != "" {
t.Fatalf("clear: %q, %v", out, err)
}
}