package ssh import ( "testing" "github.com/stretchr/testify/assert" ) func TestGetSSHCmdArgs(t *testing.T) { cases := []struct { binaryPath string args []string expectedArgs []string }{ { binaryPath: "/usr/local/bin/ssh", args: []string{ "docker@localhost", "apt-get install -y htop", }, expectedArgs: []string{ "/usr/local/bin/ssh", "docker@localhost", "apt-get install -y htop", }, }, { binaryPath: "C:\\Program Files\\Git\\bin\\ssh.exe", args: []string{ "docker@localhost", "sudo /usr/bin/sethostname foobar && echo 'foobar' | sudo tee /var/lib/boot2docker/etc/hostname", }, expectedArgs: []string{ "C:\\Program Files\\Git\\bin\\ssh.exe", "docker@localhost", "sudo /usr/bin/sethostname foobar && echo 'foobar' | sudo tee /var/lib/boot2docker/etc/hostname", }, }, } for _, c := range cases { cmd := getSSHCmd(c.binaryPath, c.args...) assert.Equal(t, cmd.Args, c.expectedArgs) } }