github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/service/crypto_test.go (about) 1 package service 2 3 import ( 4 "errors" 5 "testing" 6 7 "github.com/keybase/client/go/libkb" 8 keybase1 "github.com/keybase/client/go/protocol/keybase1" 9 ) 10 11 type nullSecretUI struct{} 12 13 func (nullSecretUI) GetPassphrase(keybase1.GUIEntryArg, *keybase1.SecretEntryArg) (keybase1.GetPassphraseRes, error) { 14 return keybase1.GetPassphraseRes{}, nil 15 } 16 17 func TestCryptoSecretUI(t *testing.T) { 18 tc := libkb.SetupTest(t, "crypto", 2) 19 defer tc.Cleanup() 20 21 c := NewCryptoHandler(tc.G) 22 23 // Should return errorSecretUI because UIRouter returned an 24 // error. 25 tc.G.SetUIRouter(fakeUIRouter{secretUIErr: errors.New("fake error")}) 26 secretUI := c.getSecretUI(0, "") 27 if _, ok := secretUI.(errorSecretUI); !ok { 28 t.Errorf("secretUI %v is not an errorSecretUI", secretUI) 29 } 30 31 // Should return errorSecretUI because UIRouter returned nil. 32 tc.G.SetUIRouter(fakeUIRouter{}) 33 secretUI = c.getSecretUI(0, "") 34 if _, ok := secretUI.(errorSecretUI); !ok { 35 t.Errorf("secretUI %v is not an errorSecretUI", secretUI) 36 } 37 38 // Should return nullSecretUI.. 39 tc.G.SetUIRouter(fakeUIRouter{secretUI: nullSecretUI{}}) 40 secretUI = c.getSecretUI(0, "") 41 if _, ok := secretUI.(nullSecretUI); !ok { 42 t.Errorf("secretUI %v is not a nullSecretUI", secretUI) 43 } 44 }