Wallet::refresh + tests

This commit is contained in:
Ilya Kitaev 2016-03-31 16:38:57 +03:00
parent 9cdf0b7d7f
commit e04c67ac4c
3 changed files with 28 additions and 0 deletions

View File

@ -76,6 +76,7 @@ public:
uint64_t balance() const;
uint64_t unlockedBalance() const;
std::string displayAmount(uint64_t amount) const;
bool refresh();
private:
@ -293,6 +294,18 @@ std::string WalletImpl::displayAmount(uint64_t amount) const
return cryptonote::print_money(amount);
}
bool WalletImpl::refresh()
{
clearStatus();
try {
m_wallet->refresh();
} catch (const std::exception &e) {
m_status = Status_Error;
m_errorString = e.what();
}
return m_status == Status_Ok;
}
bool WalletImpl::connectToDaemon()
{
bool result = m_wallet->check_connection();

View File

@ -74,6 +74,9 @@ struct Wallet
virtual std::string displayAmount(uint64_t amount) const = 0;
// TODO?
// virtual uint64_t unlockedDustBalance() const = 0;
// TODO refresh
virtual bool refresh() = 0;
// TODO transfer
};
/**

View File

@ -71,10 +71,13 @@ struct WalletManagerTest : public testing::Test
const char * WALLET_PASS2 = "password22";
const char * WALLET_LANG = "English";
// TODO: add test wallets to the source tree (as they have some balance mined)?
const char * TESTNET_WALLET_NAME = "/home/mbg033/dev/monero/testnet/wallet_01.bin";
const char * TESTNET_WALLET_PASS = "";
const char * TESTNET_DAEMON_ADDRESS = "localhost:38081";
WalletManagerTest()
{
std::cout << __FUNCTION__ << std::endl;
@ -249,6 +252,15 @@ TEST_F(WalletManagerTest, WalletShowsBalance)
ASSERT_TRUE(wmgr->closeWallet(wallet2));
}
TEST_F(WalletManagerTest, WalletRefresh)
{
Bitmonero::Wallet * wallet1 = wmgr->openWallet(TESTNET_WALLET_NAME, TESTNET_WALLET_PASS, true);
// make sure testnet daemon is running
ASSERT_TRUE(wallet1->init(TESTNET_DAEMON_ADDRESS, 0));
ASSERT_TRUE(wallet1->refresh());
ASSERT_TRUE(wmgr->closeWallet(wallet1));
}
int main(int argc, char** argv)
{