refactor other son cli tests to use son_test_helper

This commit is contained in:
gladcow 2019-10-22 15:17:07 +03:00
parent c798f40643
commit e98b462cde

View file

@ -95,95 +95,15 @@ BOOST_AUTO_TEST_CASE( create_sons )
BOOST_TEST_MESSAGE("SON cli wallet tests begin");
try
{
init_nathan();
son_test_helper sth(*this);
sth.create_son("son1account", "http://son1");
sth.create_son("son2account", "http://son2");
graphene::wallet::brain_key_info bki;
signed_transaction create_tx;
signed_transaction transfer_tx;
signed_transaction upgrade_tx;
account_object son1_before_upgrade, son1_after_upgrade;
account_object son2_before_upgrade, son2_after_upgrade;
son_object son1_obj;
son_object son2_obj;
// create son1account
bki = con.wallet_api_ptr->suggest_brain_key();
BOOST_CHECK(!bki.brain_priv_key.empty());
create_tx = con.wallet_api_ptr->create_account_with_brain_key(
bki.brain_priv_key, "son1account", "nathan", "nathan", true
);
// save the private key for this new account in the wallet file
BOOST_CHECK(con.wallet_api_ptr->import_key("son1account", bki.wif_priv_key));
con.wallet_api_ptr->save_wallet_file(con.wallet_filename);
// attempt to give son1account some CORE tokens
BOOST_TEST_MESSAGE("Transferring CORE tokens from Nathan to son1account");
transfer_tx = con.wallet_api_ptr->transfer(
"nathan", "son1account", "15000", "1.3.0", "Here are some CORE token for your new account", true
);
son1_before_upgrade = con.wallet_api_ptr->get_account("son1account");
BOOST_CHECK(generate_block());
// upgrade son1account
BOOST_TEST_MESSAGE("Upgrading son1account to LTM");
upgrade_tx = con.wallet_api_ptr->upgrade_account("son1account", true);
son1_after_upgrade = con.wallet_api_ptr->get_account("son1account");
// verify that the upgrade was successful
BOOST_CHECK_PREDICATE(
std::not_equal_to<uint32_t>(),
(son1_before_upgrade.membership_expiration_date.sec_since_epoch())
(son1_after_upgrade.membership_expiration_date.sec_since_epoch())
);
BOOST_CHECK(son1_after_upgrade.is_lifetime_member());
BOOST_CHECK(generate_block());
// create son2account
bki = con.wallet_api_ptr->suggest_brain_key();
BOOST_CHECK(!bki.brain_priv_key.empty());
create_tx = con.wallet_api_ptr->create_account_with_brain_key(
bki.brain_priv_key, "son2account", "nathan", "nathan", true
);
// save the private key for this new account in the wallet file
BOOST_CHECK(con.wallet_api_ptr->import_key("son2account", bki.wif_priv_key));
con.wallet_api_ptr->save_wallet_file(con.wallet_filename);
// attempt to give son2account some CORE tokens
BOOST_TEST_MESSAGE("Transferring CORE tokens from Nathan to son2account");
transfer_tx = con.wallet_api_ptr->transfer(
"nathan", "son2account", "15000", "1.3.0", "Here are some CORE token for your new account", true
);
son2_before_upgrade = con.wallet_api_ptr->get_account("son2account");
BOOST_CHECK(generate_block());
// upgrade son2account
BOOST_TEST_MESSAGE("Upgrading son2account to LTM");
upgrade_tx = con.wallet_api_ptr->upgrade_account("son2account", true);
son2_after_upgrade = con.wallet_api_ptr->get_account("son2account");
// verify that the upgrade was successful
BOOST_CHECK_PREDICATE(
std::not_equal_to<uint32_t>(),
(son2_before_upgrade.membership_expiration_date.sec_since_epoch())
(son2_after_upgrade.membership_expiration_date.sec_since_epoch())
);
BOOST_CHECK(son2_after_upgrade.is_lifetime_member());
BOOST_CHECK(generate_block());
// create 2 SONs
BOOST_TEST_MESSAGE("Creating two SONs");
create_tx = con.wallet_api_ptr->create_son("son1account", "http://son1", "true");
create_tx = con.wallet_api_ptr->create_son("son2account", "http://son2", "true");
BOOST_CHECK(generate_maintenance_block());
son1_obj = con.wallet_api_ptr->get_son("son1account");
auto son1_obj = con.wallet_api_ptr->get_son("son1account");
BOOST_CHECK(son1_obj.son_account == con.wallet_api_ptr->get_account_id("son1account"));
BOOST_CHECK_EQUAL(son1_obj.url, "http://son1");
son2_obj = con.wallet_api_ptr->get_son("son2account");
auto son2_obj = con.wallet_api_ptr->get_son("son2account");
BOOST_CHECK(son2_obj.son_account == con.wallet_api_ptr->get_account_id("son2account"));
BOOST_CHECK_EQUAL(son2_obj.url, "http://son2");
@ -201,33 +121,10 @@ BOOST_AUTO_TEST_CASE( cli_update_son )
{
BOOST_TEST_MESSAGE("Cli get_son and update_son Test");
init_nathan();
son_test_helper sth(*this);
sth.create_son("sonmember", "http://sonmember");
// create a new account
graphene::wallet::brain_key_info bki = con.wallet_api_ptr->suggest_brain_key();
BOOST_CHECK(!bki.brain_priv_key.empty());
signed_transaction create_acct_tx = con.wallet_api_ptr->create_account_with_brain_key(
bki.brain_priv_key, "sonmember", "nathan", "nathan", true
);
// save the private key for this new account in the wallet file
BOOST_CHECK(con.wallet_api_ptr->import_key("sonmember", bki.wif_priv_key));
con.wallet_api_ptr->save_wallet_file(con.wallet_filename);
// attempt to give sonmember some CORE
BOOST_TEST_MESSAGE("Transferring CORE from Nathan to sonmember");
signed_transaction transfer_tx = con.wallet_api_ptr->transfer(
"nathan", "sonmember", "100000", "1.3.0", "Here are some CORE token for your new account", true
);
BOOST_CHECK(generate_block());
// upgrade sonmember account
con.wallet_api_ptr->upgrade_account("sonmember", true);
auto sonmember_acct = con.wallet_api_ptr->get_account("sonmember");
BOOST_CHECK(sonmember_acct.is_lifetime_member());
// create son
con.wallet_api_ptr->create_son("sonmember", "http://sonmember", true);
// get_son
auto son_data = con.wallet_api_ptr->get_son("sonmember");
@ -256,7 +153,9 @@ BOOST_AUTO_TEST_CASE( son_voting )
BOOST_TEST_MESSAGE("SON Vote cli wallet tests begin");
try
{
INVOKE(create_sons);
son_test_helper sth(*this);
sth.create_son("son1account", "http://son1");
sth.create_son("son2account", "http://son2");
BOOST_TEST_MESSAGE("Voting for SONs");
@ -325,7 +224,9 @@ BOOST_AUTO_TEST_CASE( delete_son )
BOOST_TEST_MESSAGE("SON delete cli wallet tests begin");
try
{
INVOKE(create_sons);
son_test_helper sth(*this);
sth.create_son("son1account", "http://son1");
sth.create_son("son2account", "http://son2");
BOOST_TEST_MESSAGE("Deleting SONs");
signed_transaction delete_tx;
@ -428,7 +329,9 @@ BOOST_AUTO_TEST_CASE( list_son )
BOOST_TEST_MESSAGE("List SONs cli wallet tests begin");
try
{
INVOKE(create_sons);
son_test_helper sth(*this);
sth.create_son("son1account", "http://son1");
sth.create_son("son2account", "http://son2");
auto res = con.wallet_api_ptr->list_sons("", 100);
BOOST_REQUIRE(res.size() == 2);
@ -448,7 +351,9 @@ BOOST_AUTO_TEST_CASE( update_son_votes_test )
BOOST_TEST_MESSAGE("SON update_son_votes cli wallet tests begin");
try
{
INVOKE(create_sons);
son_test_helper sth(*this);
sth.create_son("son1account", "http://son1");
sth.create_son("son2account", "http://son2");
BOOST_TEST_MESSAGE("Vote for 2 accounts with update_son_votes");
@ -578,7 +483,9 @@ BOOST_AUTO_TEST_CASE( related_functions )
global_property_object gpo = con.wallet_api_ptr->get_global_properties();
BOOST_CHECK(gpo.active_sons.size() == 0);
INVOKE(create_sons);
son_test_helper sth(*this);
sth.create_son("son1account", "http://son1");
sth.create_son("son2account", "http://son2");
gpo = con.wallet_api_ptr->get_global_properties();
BOOST_CHECK(gpo.active_sons.size() == 2);