github.com/viant/toolbox@v0.34.5/ssh/service_replay_test.go (about) 1 package ssh_test 2 3 import ( 4 "github.com/stretchr/testify/assert" 5 "github.com/viant/toolbox" 6 "github.com/viant/toolbox/ssh" 7 "path" 8 "testing" 9 ) 10 11 func Test_NewReplayService(t *testing.T) { 12 13 parent := toolbox.CallerDirectory(3) 14 commands, err := ssh.NewReplayCommands(path.Join(parent, "test/ls")) 15 assert.Nil(t, err) 16 err = commands.Load() 17 if !assert.Nil(t, err) { 18 return 19 } 20 assert.Equal(t, 3, len(commands.Commands)) 21 22 assert.Nil(t, err) 23 defer commands.Store() 24 service := ssh.NewReplayService("AWITAS-C02TF066H040:awitas1511796457759720702$", "darwin", commands, nil) 25 if err == nil { 26 assert.NotNil(t, service) 27 session, err := service.OpenMultiCommandSession(nil) 28 assert.Nil(t, err) 29 defer session.Close() 30 31 assert.NotNil(t, session) 32 33 var out string 34 out, err = session.Run("ls /etc/hosts", nil, 2000) 35 assert.Equal(t, "/etc/hosts", out) 36 37 } else { 38 assert.Nil(t, service) 39 } 40 41 }