tests: Test for migrating encrypted wallets

Due to an oversight, we cannot currently migrate encrypted wallets,
regardless of whether they are unlocked. Migrating such wallets will
trigger an error, and result in the cleanup being run. This conveniently
allows us to check some parts of the cleanup code.
This commit is contained in:
Andrew Chow 2022-11-28 18:30:40 -05:00
parent 86ef7b3c7b
commit 88afc73ae0

View File

@ -393,6 +393,16 @@ class WalletMigrationTest(BitcoinTestFramework):
assert_equal(bals, wallet.getbalances())
def test_encrypted(self):
self.log.info("Test migration of an encrypted wallet")
wallet = self.create_legacy_wallet("encrypted")
wallet.encryptwallet("pass")
wallet.walletpassphrase("pass", 10)
assert_raises_rpc_error(-4, "Error: Unable to produce descriptors for this legacy wallet. Make sure the wallet is unlocked first", wallet.migratewallet)
# TODO: Fix migratewallet so that we can actually migrate encrypted wallets
def run_test(self):
self.generate(self.nodes[0], 101)
@ -402,6 +412,7 @@ class WalletMigrationTest(BitcoinTestFramework):
self.test_other_watchonly()
self.test_no_privkeys()
self.test_pk_coinbases()
self.test_encrypted()
if __name__ == '__main__':
WalletMigrationTest().main()