@@ -49,8 +49,6 @@ pub mod create_command {
4949 let res = match res {
5050 Ok ( ( ) ) => Ok ( println_succ ! ( "Wallet \" {}\" has been created" , name) ) ,
5151 Err ( ErrorCode :: WalletAlreadyExistsError ) => Err ( println_err ! ( "Wallet \" {}\" already exists" , name) ) ,
52- Err ( ErrorCode :: WalletInputError ) => Err ( println_err ! ( "Invalid wallet key \" {}\" " , key) ) ,
53- Err ( ErrorCode :: WalletDecodingError ) => Err ( println_err ! ( "Invalid wallet key \" {}\" " , key) ) ,
5452 Err ( ErrorCode :: CommonIOError ) => Err ( println_err ! ( "Invalid wallet name \" {}\" " , name) ) ,
5553 Err ( err) => return Err ( println_err ! ( "Indy SDK error occurred {:?}" , err) ) ,
5654 } ;
@@ -112,10 +110,8 @@ pub mod open_command {
112110 match err {
113111 ErrorCode :: CommonInvalidStructure => Err ( println_err ! ( "Invalid wallet config" ) ) ,
114112 ErrorCode :: WalletAlreadyOpenedError => Err ( println_err ! ( "Wallet \" {}\" already opened" , name) ) ,
115- ErrorCode :: WalletInputError => Err ( println_err ! ( "Invalid wallet key \" {}\" " , key) ) ,
116- ErrorCode :: WalletDecodingError => Err ( println_err ! ( "Invalid wallet key \" {}\" " , key) ) ,
117- ErrorCode :: WalletAccessFailed => Err ( println_err ! ( "Cannot open encrypted wallet \" {}\" " , name) ) ,
118- ErrorCode :: CommonIOError => Err ( println_err ! ( "Wallet \" {}\" not found or unavailable" , name) ) ,
113+ ErrorCode :: WalletAccessFailed => Err ( println_err ! ( "Cannot open wallet \" {}\" . Invalid key \" {}\" has been provided" , name, key) ) ,
114+ ErrorCode :: WalletNotFoundError => Err ( println_err ! ( "Wallet \" {}\" not found or unavailable" , name) ) ,
119115 err => Err ( println_err ! ( "Indy SDK error occurred {:?}" , err) ) ,
120116 }
121117 }
@@ -241,8 +237,8 @@ pub mod delete_command {
241237 let res = match Wallet :: delete_wallet ( name, credentials. as_str ( ) ) {
242238 Ok ( ( ) ) => Ok ( println_succ ! ( "Wallet \" {}\" has been deleted" , name) ) ,
243239 Err ( ErrorCode :: CommonIOError ) => Err ( println_err ! ( "Wallet \" {}\" not found or unavailable" , name) ) ,
244- Err ( ErrorCode :: WalletInputError ) => Err ( println_err ! ( "Invalid wallet key \" {}\" " , key ) ) ,
245- Err ( ErrorCode :: WalletDecodingError ) => Err ( println_err ! ( "Invalid wallet key \" {}\" " , key) ) ,
240+ Err ( ErrorCode :: WalletNotFoundError ) => Err ( println_err ! ( "Wallet \" {}\" not found or unavailable " , name ) ) ,
241+ Err ( ErrorCode :: WalletAccessFailed ) => Err ( println_err ! ( "Cannot delete wallet \" {} \" . Invalid key \" {}\" has been provided " , name , key) ) ,
246242 Err ( err) => Err ( println_err ! ( "Indy SDK error occurred {:?}" , err) ) ,
247243 } ;
248244
@@ -397,6 +393,21 @@ pub mod tests {
397393 }
398394 delete_wallet ( & ctx) ;
399395 }
396+
397+ #[ test]
398+ pub fn open_works_for_wrong_key ( ) {
399+ let ctx = CommandContext :: new ( ) ;
400+
401+ create_wallet ( & ctx) ;
402+ {
403+ let cmd = open_command:: new ( ) ;
404+ let mut params = CommandParams :: new ( ) ;
405+ params. insert ( "name" , WALLET . to_string ( ) ) ;
406+ params. insert ( "key" , "other_key" . to_string ( ) ) ;
407+ cmd. execute ( & ctx, & params) . unwrap_err ( ) ;
408+ }
409+ delete_wallet ( & ctx) ;
410+ }
400411 }
401412
402413 mod list {
@@ -535,6 +546,22 @@ pub mod tests {
535546 close_and_delete_wallet ( & ctx) ;
536547 TestUtils :: cleanup_storage ( ) ;
537548 }
549+
550+ #[ test]
551+ pub fn delete_works_for_wrong_key ( ) {
552+ TestUtils :: cleanup_storage ( ) ;
553+ let ctx = CommandContext :: new ( ) ;
554+
555+ create_wallet ( & ctx) ;
556+ {
557+ let cmd = delete_command:: new ( ) ;
558+ let mut params = CommandParams :: new ( ) ;
559+ params. insert ( "name" , WALLET . to_string ( ) ) ;
560+ params. insert ( "key" , "other_key" . to_string ( ) ) ;
561+ cmd. execute ( & ctx, & params) . unwrap_err ( ) ;
562+ }
563+ TestUtils :: cleanup_storage ( ) ;
564+ }
538565 }
539566
540567 pub fn create_wallet ( ctx : & CommandContext ) {
0 commit comments