test: Wallet methods are disabled when no wallet is loaded

This commit is contained in:
João Barbosa 2018-06-12 15:30:32 +01:00
parent 4940a20a46
commit ccbf7ae749
2 changed files with 1 additions and 5 deletions

View file

@ -75,11 +75,6 @@ bool EnsureWalletIsAvailable(CWallet * const pwallet, bool avoidException)
if (pwallet) return true; if (pwallet) return true;
if (avoidException) return false; if (avoidException) return false;
if (!HasWallets()) { if (!HasWallets()) {
// Note: It isn't currently possible to trigger this error because
// wallet RPC methods aren't registered unless a wallet is loaded. But
// this error is being kept as a precaution, because it's possible in
// the future that wallet RPC methods might get or remain registered
// when no wallets are loaded.
throw JSONRPCError( throw JSONRPCError(
RPC_METHOD_NOT_FOUND, "Method not found (wallet method is disabled because no wallet is loaded)"); RPC_METHOD_NOT_FOUND, "Method not found (wallet method is disabled because no wallet is loaded)");
} }

View file

@ -254,6 +254,7 @@ class MultiWalletTest(BitcoinTestFramework):
for wallet_name in self.nodes[0].listwallets(): for wallet_name in self.nodes[0].listwallets():
self.nodes[0].unloadwallet(wallet_name) self.nodes[0].unloadwallet(wallet_name)
assert_equal(self.nodes[0].listwallets(), []) assert_equal(self.nodes[0].listwallets(), [])
assert_raises_rpc_error(-32601, "Method not found (wallet method is disabled because no wallet is loaded)", self.nodes[0].getwalletinfo)
if __name__ == '__main__': if __name__ == '__main__':
MultiWalletTest().main() MultiWalletTest().main()