Skip to content

Commit

Permalink
Merge pull request #1104 from nanomobile/valera_issue_1050
Browse files Browse the repository at this point in the history
add quit command to cli_wallet #1050
  • Loading branch information
abitmore authored Jul 27, 2018
2 parents 1608ce0 + af5ee4d commit f372825
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 1 deletion.
7 changes: 7 additions & 0 deletions libraries/wallet/include/graphene/wallet/wallet.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -663,6 +663,12 @@ class wallet_api
*/
bool load_wallet_file(string wallet_filename = "");

/** Quitting from BitShares wallet.
*
* The current wallet will be closed.
*/
void quit();

/** Saves the current wallet to the given filename.
*
* @warning This does not change the wallet filename that will be used for future
Expand Down Expand Up @@ -1848,4 +1854,5 @@ FC_API( graphene::wallet::wallet_api,
(blind_history)
(receive_blind_transfer)
(get_order_book)
(quit)
)
13 changes: 13 additions & 0 deletions libraries/wallet/wallet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -774,6 +774,14 @@ class wallet_api_impl

return true;
}

void quit()
{
ilog( "Quitting Cli Wallet ..." );

throw fc::canceled_exception();
}

void save_wallet_file(string wallet_filename = "")
{
//
Expand Down Expand Up @@ -3805,6 +3813,11 @@ bool wallet_api::load_wallet_file( string wallet_filename )
return my->load_wallet_file( wallet_filename );
}

void wallet_api::quit()
{
my->quit();
}

void wallet_api::save_wallet_file( string wallet_filename )
{
my->save_wallet_file( wallet_filename );
Expand Down
28 changes: 28 additions & 0 deletions tests/cli/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,34 @@ BOOST_AUTO_TEST_CASE( cli_connect )
app1->shutdown();
}

////////////////
// Start a server and connect using the same calls as the CLI
// Quit wallet and be sure that file was saved correctly
////////////////
BOOST_AUTO_TEST_CASE( cli_quit )
{
using namespace graphene::chain;
using namespace graphene::app;
std::shared_ptr<graphene::app::application> app1;
try {
BOOST_TEST_MESSAGE("Testing wallet connection and quit command.");

fc::temp_directory app_dir ( graphene::utilities::temp_directory_path() );

int server_port_number = 0;
app1 = start_application(app_dir, server_port_number);

// connect to the server
client_connection con(app1, app_dir, server_port_number);

BOOST_CHECK_THROW( con.wallet_api_ptr->quit(), fc::canceled_exception );
} catch( fc::exception& e ) {
edump((e.to_detail_string()));
throw;
}
app1->shutdown();
}

///////////////////////
// Start a server and connect using the same calls as the CLI
// Vote for two witnesses, and make sure they both stay there
Expand Down

0 comments on commit f372825

Please sign in to comment.