Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/test/walletdb_tests.cpp
Show All 25 Lines | |||||
} | } | ||||
} // namespace | } // namespace | ||||
BOOST_FIXTURE_TEST_SUITE(walletdb_tests, WalletTestingSetup) | BOOST_FIXTURE_TEST_SUITE(walletdb_tests, WalletTestingSetup) | ||||
BOOST_AUTO_TEST_CASE(write_erase_name) { | BOOST_AUTO_TEST_CASE(write_erase_name) { | ||||
WalletBatch batch(m_wallet.GetDBHandle(), "cr+"); | WalletBatch batch(m_wallet.GetDBHandle(), "cr+"); | ||||
CTxDestination dst1 = CKeyID(uint160S("c0ffee")); | CTxDestination dst1 = PKHash(uint160S("c0ffee")); | ||||
CTxDestination dst2 = CKeyID(uint160S("f00d")); | CTxDestination dst2 = PKHash(uint160S("f00d")); | ||||
BOOST_CHECK(batch.WriteName(dst1, "name1")); | BOOST_CHECK(batch.WriteName(dst1, "name1")); | ||||
BOOST_CHECK(batch.WriteName(dst2, "name2")); | BOOST_CHECK(batch.WriteName(dst2, "name2")); | ||||
{ | { | ||||
auto w = LoadWallet(batch); | auto w = LoadWallet(batch); | ||||
LOCK(w->cs_wallet); | LOCK(w->cs_wallet); | ||||
BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst1)); | BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst1)); | ||||
BOOST_CHECK_EQUAL("name1", w->mapAddressBook[dst1].name); | BOOST_CHECK_EQUAL("name1", w->mapAddressBook[dst1].name); | ||||
BOOST_CHECK_EQUAL("name2", w->mapAddressBook[dst2].name); | BOOST_CHECK_EQUAL("name2", w->mapAddressBook[dst2].name); | ||||
} | } | ||||
batch.EraseName(dst1); | batch.EraseName(dst1); | ||||
{ | { | ||||
auto w = LoadWallet(batch); | auto w = LoadWallet(batch); | ||||
LOCK(w->cs_wallet); | LOCK(w->cs_wallet); | ||||
BOOST_CHECK_EQUAL(0, w->mapAddressBook.count(dst1)); | BOOST_CHECK_EQUAL(0, w->mapAddressBook.count(dst1)); | ||||
BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst2)); | BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst2)); | ||||
} | } | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(write_erase_purpose) { | BOOST_AUTO_TEST_CASE(write_erase_purpose) { | ||||
WalletBatch batch(m_wallet.GetDBHandle(), "cr+"); | WalletBatch batch(m_wallet.GetDBHandle(), "cr+"); | ||||
CTxDestination dst1 = CKeyID(uint160S("c0ffee")); | CTxDestination dst1 = PKHash(uint160S("c0ffee")); | ||||
CTxDestination dst2 = CKeyID(uint160S("f00d")); | CTxDestination dst2 = PKHash(uint160S("f00d")); | ||||
BOOST_CHECK(batch.WritePurpose(dst1, "purpose1")); | BOOST_CHECK(batch.WritePurpose(dst1, "purpose1")); | ||||
BOOST_CHECK(batch.WritePurpose(dst2, "purpose2")); | BOOST_CHECK(batch.WritePurpose(dst2, "purpose2")); | ||||
{ | { | ||||
auto w = LoadWallet(batch); | auto w = LoadWallet(batch); | ||||
LOCK(w->cs_wallet); | LOCK(w->cs_wallet); | ||||
BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst1)); | BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst1)); | ||||
BOOST_CHECK_EQUAL("purpose1", w->mapAddressBook[dst1].purpose); | BOOST_CHECK_EQUAL("purpose1", w->mapAddressBook[dst1].purpose); | ||||
BOOST_CHECK_EQUAL("purpose2", w->mapAddressBook[dst2].purpose); | BOOST_CHECK_EQUAL("purpose2", w->mapAddressBook[dst2].purpose); | ||||
} | } | ||||
batch.ErasePurpose(dst1); | batch.ErasePurpose(dst1); | ||||
{ | { | ||||
auto w = LoadWallet(batch); | auto w = LoadWallet(batch); | ||||
LOCK(w->cs_wallet); | LOCK(w->cs_wallet); | ||||
BOOST_CHECK_EQUAL(0, w->mapAddressBook.count(dst1)); | BOOST_CHECK_EQUAL(0, w->mapAddressBook.count(dst1)); | ||||
BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst2)); | BOOST_CHECK_EQUAL(1, w->mapAddressBook.count(dst2)); | ||||
} | } | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(write_erase_destdata) { | BOOST_AUTO_TEST_CASE(write_erase_destdata) { | ||||
WalletBatch batch(m_wallet.GetDBHandle(), "cr+"); | WalletBatch batch(m_wallet.GetDBHandle(), "cr+"); | ||||
CTxDestination dst1 = CKeyID(uint160S("c0ffee")); | CTxDestination dst1 = PKHash(uint160S("c0ffee")); | ||||
CTxDestination dst2 = CKeyID(uint160S("f00d")); | CTxDestination dst2 = PKHash(uint160S("f00d")); | ||||
BOOST_CHECK(batch.WriteDestData(dst1, "key1", "value1")); | BOOST_CHECK(batch.WriteDestData(dst1, "key1", "value1")); | ||||
BOOST_CHECK(batch.WriteDestData(dst1, "key2", "value2")); | BOOST_CHECK(batch.WriteDestData(dst1, "key2", "value2")); | ||||
BOOST_CHECK(batch.WriteDestData(dst2, "key1", "value3")); | BOOST_CHECK(batch.WriteDestData(dst2, "key1", "value3")); | ||||
BOOST_CHECK(batch.WriteDestData(dst2, "key2", "value4")); | BOOST_CHECK(batch.WriteDestData(dst2, "key2", "value4")); | ||||
{ | { | ||||
auto w = LoadWallet(batch); | auto w = LoadWallet(batch); | ||||
LOCK(w->cs_wallet); | LOCK(w->cs_wallet); | ||||
Show All 34 Lines |