github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/utils/ssh/fingerprint_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package ssh_test 5 6 import ( 7 "github.com/juju/testing" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/utils/ssh" 12 sshtesting "github.com/juju/juju/utils/ssh/testing" 13 ) 14 15 type FingerprintSuite struct { 16 testing.IsolationSuite 17 } 18 19 var _ = gc.Suite(&FingerprintSuite{}) 20 21 func (s *FingerprintSuite) TestKeyFingerprint(c *gc.C) { 22 keys := []sshtesting.SSHKey{ 23 sshtesting.ValidKeyOne, 24 sshtesting.ValidKeyTwo, 25 sshtesting.ValidKeyThree, 26 } 27 for _, k := range keys { 28 fingerprint, _, err := ssh.KeyFingerprint(k.Key) 29 c.Assert(err, jc.ErrorIsNil) 30 c.Assert(fingerprint, gc.Equals, k.Fingerprint) 31 } 32 } 33 34 func (s *FingerprintSuite) TestKeyFingerprintError(c *gc.C) { 35 _, _, err := ssh.KeyFingerprint("invalid key") 36 c.Assert(err, gc.ErrorMatches, `generating key fingerprint: invalid authorized_key "invalid key"`) 37 }