diff options
author | Jonas Schnelli <dev@jonasschnelli.ch> | 2016-12-07 15:20:40 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2016-12-07 23:48:12 +0100 |
commit | 8dee97f98253c7d7a5219f4ab0d0e6e9bec0dcef (patch) | |
tree | c154937c55ff99a858ed2c8b2d821911c6967544 | |
parent | 82e29e8b7c223a5ab068d39ef475019df6ed4680 (diff) |
[QA] add fundrawtransaction test on a locked wallet with empty keypool
Github-Pull: #9295
Rebased-From: 1a6eacbf3b7e3d5941fec1154079bbc4678ce861
-rwxr-xr-x | qa/rpc-tests/fundrawtransaction.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/qa/rpc-tests/fundrawtransaction.py b/qa/rpc-tests/fundrawtransaction.py index 10dee6dbc8..fedf511046 100755 --- a/qa/rpc-tests/fundrawtransaction.py +++ b/qa/rpc-tests/fundrawtransaction.py @@ -457,6 +457,23 @@ class RawTransactionsTest(BitcoinTestFramework): self.is_network_split=False self.sync_all() + # drain the keypool + self.nodes[1].getnewaddress() + inputs = [] + outputs = {self.nodes[0].getnewaddress():1.1} + rawTx = self.nodes[1].createrawtransaction(inputs, outputs) + # fund a transaction that requires a new key for the change output + # creating the key must be impossible because the wallet is locked + try: + fundedTx = self.nodes[1].fundrawtransaction(rawTx) + raise AssertionError("Wallet unlocked without passphrase") + except JSONRPCException as e: + assert('Keypool ran out' in e.error['message']) + + #refill the keypool + self.nodes[1].walletpassphrase("test", 100) + self.nodes[1].walletlock() + try: self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1.2) raise AssertionError("Wallet unlocked without passphrase") |