multissh/ssh_test.go
2017-12-28 16:43:33 +08:00

53 lines
833 B
Go

package main
import (
"os"
"strings"
"testing"
)
const (
username = "admin"
password = "admin"
ip = "192.168.31.21"
port = 22
cmd = "show clock;exit"
)
func Test_SSH(t *testing.T) {
session, err := connect(username, password, ip, port)
if err != nil {
t.Error(err)
return
}
defer session.Close()
cmdlist := strings.Split(cmd, ";")
stdinBuf, err := session.StdinPipe()
if err != nil {
t.Error(err)
return
}
// var bt bytes.Buffer
// session.Stdout = &bt
t.Log(session.Stdout)
t.Log(session.Stderr)
session.Stdout = os.Stdout
session.Stderr = os.Stderr
session.Stdin = os.Stdin
err = session.Shell()
if err != nil {
t.Error(err)
return
}
for _, c := range cmdlist {
c = c + "\n"
stdinBuf.Write([]byte(c))
}
session.Wait()
t.Error(err)
// t.Log(bt.String())
return
}