github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/hostutil/host_status_test.go (about) 1 package hostutil 2 3 import ( 4 "testing" 5 6 "github.com/evergreen-ci/evergreen/util" 7 . "github.com/smartystreets/goconvey/convey" 8 ) 9 10 func TestHostSshParse(t *testing.T) { 11 Convey("Parsing a string with hostname and port should be parsed correctly", t, func() { 12 hostname1 := "host:123" 13 host1, err := util.ParseSSHInfo(hostname1) 14 So(err, ShouldBeNil) 15 So(host1.User, ShouldEqual, "") 16 So(host1.Hostname, ShouldEqual, "host") 17 So(host1.Port, ShouldEqual, "123") 18 }) 19 20 Convey("Parsing a string with only a hostname should assume default port", t, func() { 21 hostname2 := "host" 22 host2, err := util.ParseSSHInfo(hostname2) 23 So(err, ShouldBeNil) 24 So(host2.User, ShouldEqual, "") 25 So(host2.Hostname, ShouldEqual, "host") 26 So(host2.Port, ShouldEqual, "22") 27 }) 28 29 Convey("Parsing a string with user, hostname, and port should extract all 3", t, func() { 30 hostname3 := "user@host:400" 31 host3, err := util.ParseSSHInfo(hostname3) 32 So(err, ShouldBeNil) 33 So(host3.User, ShouldEqual, "user") 34 So(host3.Hostname, ShouldEqual, "host") 35 So(host3.Port, ShouldEqual, "400") 36 }) 37 38 Convey("Parsing a string with user and host should assume the default port", t, func() { 39 hostname4 := "user@host" 40 host4, err := util.ParseSSHInfo(hostname4) 41 So(err, ShouldBeNil) 42 So(host4.User, ShouldEqual, "user") 43 So(host4.Hostname, ShouldEqual, "host") 44 So(host4.Port, ShouldEqual, "22") 45 }) 46 }