diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2018-06-01 23:24:29 +0100 |
---|---|---|
committer | João Barbosa <joao.paulo.barbosa@gmail.com> | 2018-06-18 16:35:17 +0100 |
commit | 4940a20a46685cd56ea045d8cc7fe058c6222431 (patch) | |
tree | d241d3e2511cfd195c6515def4ae7b1af455d3e1 /test | |
parent | 6608c369b1a6cfc1d5b4a7905c193baa999ba84c (diff) |
test: Add functional tests for unloadwallet RPC
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/wallet_multiwallet.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/functional/wallet_multiwallet.py b/test/functional/wallet_multiwallet.py index 53638615f6..7f739a1316 100755 --- a/test/functional/wallet_multiwallet.py +++ b/test/functional/wallet_multiwallet.py @@ -234,5 +234,26 @@ class MultiWalletTest(BitcoinTestFramework): assert new_wallet_name in self.nodes[0].listwallets() + self.log.info("Test dynamic wallet unloading") + + # Test `unloadwallet` errors + assert_raises_rpc_error(-1, "JSON value is not a string as expected", self.nodes[0].unloadwallet) + assert_raises_rpc_error(-18, "Requested wallet does not exist or is not loaded", self.nodes[0].unloadwallet, "dummy") + assert_raises_rpc_error(-18, "Requested wallet does not exist or is not loaded", node.get_wallet_rpc("dummy").unloadwallet) + assert_raises_rpc_error(-8, "Cannot unload the requested wallet", w1.unloadwallet, "w2"), + + # Successfully unload the specified wallet name + self.nodes[0].unloadwallet("w1") + assert 'w1' not in self.nodes[0].listwallets() + + # Successfully unload the wallet referenced by the request endpoint + w2.unloadwallet() + assert 'w2' not in self.nodes[0].listwallets() + + # Successfully unload all wallets + for wallet_name in self.nodes[0].listwallets(): + self.nodes[0].unloadwallet(wallet_name) + assert_equal(self.nodes[0].listwallets(), []) + if __name__ == '__main__': MultiWalletTest().main() |