Skip to content

Commit c6d1422

Browse files
committed
Fixed pool-restart cli command
Signed-off-by: artem.ivanov <[email protected]>
1 parent 129b813 commit c6d1422

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

cli/src/commands/ledger.rs

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -650,18 +650,29 @@ pub mod pool_restart_command {
650650
.and_then(|request| Ledger::sign_and_submit_request(pool_handle, wallet_handle, &submitter_did, &request))
651651
.map_err(|err| handle_transaction_error(err, Some(&submitter_did), Some(&pool_name), Some(&wallet_name)))?;
652652

653-
let response = serde_json::from_str::<Response<serde_json::Value>>(&response)
654-
.map_err(|err| println_err!("Invalid data has been received: {:?}", err))?;
653+
let responses = match serde_json::from_str::<HashMap<String, String>>(&response) {
654+
Ok(responses) => responses,
655+
Err(_) => {
656+
let response = serde_json::from_str::<Response<serde_json::Value>>(&response)
657+
.map_err(|err| println_err!("Invalid data has been received: {:?}", err))?;
658+
return handle_transaction_response(response).map(|result| println_succ!("{}", result));
659+
}
660+
};
661+
662+
for (node, response) in responses {
663+
let response = serde_json::from_str::<Response<serde_json::Value>>(&response)
664+
.map_err(|err| println_err!("Invalid data has been received: {:?}", err))?;
665+
666+
println_succ!("Restart pool response for node {}:", node);
667+
let _res = handle_transaction_response(response).map(|result|
668+
print_table(&result, &[
669+
("identifier", "From"),
670+
("reqId", "Request Id"),
671+
("action", "Action"),
672+
("datetime", "Datetime")]));
673+
}
674+
let res = Ok(());
655675

656-
let res = handle_transaction_response(response)
657-
.map(|result| print_transaction_response(result,
658-
"Restart pool request has been sent to Ledger.",
659-
None,
660-
&[
661-
("isSuccess", "IsSuccess"),
662-
("msg", "Message"),
663-
("action", "Action"),
664-
("datetime", "Datetime")]));
665676
trace!("execute << {:?}", res);
666677
res
667678
}
@@ -2389,7 +2400,6 @@ pub mod tests {
23892400
use super::*;
23902401

23912402
#[test]
2392-
#[ignore]
23932403
pub fn pool_restart_works() {
23942404
TestUtils::cleanup_storage();
23952405
let datetime = r#"2020-01-25T12:49:05.258870+00:00"#;

cli/src/commands/pool.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ pub mod connect_command {
8787
set_connected_pool(ctx, Some((handle, name.to_owned())));
8888
Ok(println_succ!("Pool \"{}\" has been connected", name))
8989
}
90+
Err(ErrorCode::PoolLedgerNotCreatedError) => Err(println_err!("Pool \"{}\" does not exist.", name)),
9091
Err(ErrorCode::CommonIOError) => 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)),

cli/src/commands/wallet.rs

Lines changed: 1 addition & 4 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,9 +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)),
117113
ErrorCode::WalletAccessFailed => Err(println_err!("Cannot open encrypted wallet \"{}\"", name)),
114+
ErrorCode::WalletNotFoundError => Err(println_err!("Wallet \"{}\" not found or unavailable", name)),
118115
ErrorCode::CommonIOError => Err(println_err!("Wallet \"{}\" not found or unavailable", name)),
119116
err => Err(println_err!("Indy SDK error occurred {:?}", err)),
120117
}

0 commit comments

Comments
 (0)