From f652ba42882837c5e0206e7fe4875026586e785a Mon Sep 17 00:00:00 2001 From: PaddyMc Date: Fri, 28 Aug 2020 17:29:32 +0100 Subject: [PATCH] Add key recover test (#7183) Add missing tests, see #7049. Closes: #7179 --- client/keys/add_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/client/keys/add_test.go b/client/keys/add_test.go index 0a2262a61..42a6164ba 100644 --- a/client/keys/add_test.go +++ b/client/keys/add_test.go @@ -79,4 +79,35 @@ func Test_runAddCmdBasic(t *testing.T) { }) require.NoError(t, cmd.Execute()) + + // In recovery mode + cmd.SetArgs([]string{ + "keyname6", + fmt.Sprintf("--%s=true", flagRecover), + }) + + // use valid mnemonic and complete recovery key generation successfully + mockIn.Reset("decide praise business actor peasant farm drastic weather extend front hurt later song give verb rhythm worry fun pond reform school tumble august one\n") + require.NoError(t, cmd.Execute()) + + // use invalid mnemonic and fail recovery key generation + mockIn.Reset("invalid mnemonic\n") + require.Error(t, cmd.Execute()) + + // In interactive mode + cmd.SetArgs([]string{ + "keyname7", + "-i", + fmt.Sprintf("--%s=false", flagRecover), + }) + + const password = "password1!" + + // set password and complete interactive key generation successfully + mockIn.Reset("\n" + password + "\n" + password + "\n") + require.NoError(t, cmd.Execute()) + + // passwords don't match and fail interactive key generation + mockIn.Reset("\n" + password + "\n" + "fail" + "\n") + require.Error(t, cmd.Execute()) }