Skip to content

Commit 62f44e8

Browse files
committed
Corrected error handling in CLI on open/close wallet and pool
Signed-off-by: artem.ivanov <[email protected]>
1 parent 129b813 commit 62f44e8

File tree

2 files changed

+36
-8
lines changed

2 files changed

+36
-8
lines changed

cli/src/commands/pool.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ pub mod connect_command {
8888
Ok(println_succ!("Pool \"{}\" has been connected", name))
8989
}
9090
Err(ErrorCode::CommonIOError) => Err(println_err!("Pool \"{}\" does not exist.", name)),
91+
Err(ErrorCode::PoolLedgerNotCreatedError) => Err(println_err!("Pool \"{}\" does not exist.", name)),
9192
Err(ErrorCode::PoolLedgerTerminated) => Err(println_err!("Pool \"{}\" does not exist.", name)),
9293
Err(ErrorCode::PoolLedgerTimeout) => Err(println_err!("Pool \"{}\" has not been connected.", name)),
9394
Err(err) => Err(println_err!("Indy SDK error occurred {:?}", err)),

cli/src/commands/wallet.rs

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)