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  }