From 34466a14911163fadcc54725143b04c47d4080aa Mon Sep 17 00:00:00 2001 From: Dave Cheney Date: Sun, 13 Nov 2011 20:58:51 -0500 Subject: [PATCH] exp/ssh: add client functional tests Requires CL 5373055 R=rsc, agl, n13m3y3r CC=golang-dev https://golang.org/cl/5320053 --- src/pkg/exp/ssh/client_func_test.go | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/pkg/exp/ssh/client_func_test.go diff --git a/src/pkg/exp/ssh/client_func_test.go b/src/pkg/exp/ssh/client_func_test.go new file mode 100644 index 0000000000..137456095a --- /dev/null +++ b/src/pkg/exp/ssh/client_func_test.go @@ -0,0 +1,61 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package ssh + +// ClientConn functional tests. +// These tests require a running ssh server listening on port 22 +// on the local host. Functional tests will be skipped unless +// -ssh.user and -ssh.pass must be passed to gotest. + +import ( + "flag" + "testing" +) + +var ( + sshuser = flag.String("ssh.user", "", "ssh username") + sshpass = flag.String("ssh.pass", "", "ssh password") + sshprivkey = flag.String("ssh.privkey", "", "ssh privkey file") +) + +func TestFuncPasswordAuth(t *testing.T) { + if *sshuser == "" { + t.Log("ssh.user not defined, skipping test") + return + } + config := &ClientConfig{ + User: *sshuser, + Auth: []ClientAuth{ + ClientAuthPassword(password(*sshpass)), + }, + } + conn, err := Dial("tcp", "localhost:22", config) + if err != nil { + t.Fatalf("Unable to connect: %s", err) + } + defer conn.Close() +} + +func TestFuncPublickeyAuth(t *testing.T) { + if *sshuser == "" { + t.Log("ssh.user not defined, skipping test") + return + } + kc := new(keychain) + if err := kc.loadPEM(*sshprivkey); err != nil { + t.Fatalf("unable to load private key: %s", err) + } + config := &ClientConfig{ + User: *sshuser, + Auth: []ClientAuth{ + ClientAuthPublickey(kc), + }, + } + conn, err := Dial("tcp", "localhost:22", config) + if err != nil { + t.Fatalf("unable to connect: %s", err) + } + defer conn.Close() +} -- 2.50.0