1package libkb 2 3import ( 4 "testing" 5 6 keybase1 "github.com/keybase/client/go/protocol/keybase1" 7) 8 9type TestGenericKey struct { 10 GenericKey 11} 12 13func (k *TestGenericKey) SignToString(msg []byte) (sig string, id keybase1.SigIDBase, err error) { 14 sig = "TestSignature" 15 return 16} 17 18func InitTestKey(k *PGPKeyBundle) { 19 k.GPGFallbackKey = &TestGenericKey{k} 20} 21 22var gpgDummyKey = `-----BEGIN PGP PRIVATE KEY BLOCK----- 23Version: GnuPG v2 24 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 63=jcas 64-----END PGP PRIVATE KEY BLOCK----- 65` 66 67var msg = []byte("test") 68 69func TestSignWithTestKey(t *testing.T) { 70 k, _, err := ReadOneKeyFromString(gpgDummyKey) 71 if err != nil { 72 t.Fatal(err) 73 } 74 75 if _, _, err := k.SignToString(msg); err == nil { 76 t.Fatal("was able to sign with dummy skey") 77 } 78 79 // Set a fallback key to use when SimpleSign fails. 80 InitTestKey(k) 81 if _, _, err := k.SignToString(msg); err != nil { 82 t.Fatal(err) 83 } 84} 85