github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/utils/helper/command_test.go (about) 1 package helper 2 3 import ( 4 "os/exec" 5 "testing" 6 7 "github.com/caos/orbos/mntr" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func newMonitor() mntr.Monitor { 12 13 monitor := mntr.Monitor{ 14 OnInfo: mntr.LogMessage, 15 OnChange: mntr.LogMessage, 16 OnError: mntr.LogError, 17 } 18 return monitor 19 } 20 21 func TestHelper_Run(t *testing.T) { 22 monitor := newMonitor() 23 24 cmd := exec.Command("echo", "first") 25 err := Run(monitor, *cmd) 26 assert.NoError(t, err) 27 } 28 29 func TestHelper_Run_MoreArgs(t *testing.T) { 30 monitor := newMonitor() 31 32 cmd := exec.Command("echo", "first", "second") 33 err := Run(monitor, *cmd) 34 assert.NoError(t, err) 35 } 36 37 func TestHelper_Run_UnknowCommand(t *testing.T) { 38 monitor := newMonitor() 39 40 cmd := exec.Command("unknowncommand", "first") 41 err := Run(monitor, *cmd) 42 assert.Error(t, err) 43 } 44 45 func TestHelper_Run_ErrorCommand(t *testing.T) { 46 monitor := newMonitor() 47 48 cmd := exec.Command("ls", "/unknownfolder/unknownsubfolder") 49 err := Run(monitor, *cmd) 50 assert.Error(t, err) 51 }