Permalink
Browse files

Merge #7702: [qa] Add tests verifychain, lockunspent, getbalance, lis…

…tsinceblock

fa4a522 [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock (MarcoFalke)
  • Loading branch information...
laanwj committed Mar 18, 2016
2 parents efde86b + fa4a522 commit 29e1131c4642459349a0ed4737121fb1902f8a47
Showing with 22 additions and 2 deletions.
  1. +2 −0 qa/rpc-tests/blockchain.py
  2. +0 −1 qa/rpc-tests/mempool_limit.py
  3. +20 −1 qa/rpc-tests/wallet.py
@@ -28,6 +28,7 @@ class BlockchainTest(BitcoinTestFramework):
Test blockchain-related RPC calls:
- gettxoutsetinfo
- verifychain
"""
@@ -44,6 +45,7 @@ def setup_network(self, split=False):
def run_test(self):
self._test_gettxoutsetinfo()
self._test_getblockheader()
self.nodes[0].verifychain(4, 0)
def _test_gettxoutsetinfo(self):
node = self.nodes[0]
@@ -38,7 +38,6 @@ def run_test(self):
self.nodes[0].settxfee(0) # return to automatic fee selection
txFS = self.nodes[0].signrawtransaction(txF['hex'])
txid = self.nodes[0].sendrawtransaction(txFS['hex'])
self.nodes[0].lockunspent(True, [us0])
relayfee = self.nodes[0].getnetworkinfo()['relayfee']
base_fee = relayfee*100
View
@@ -59,6 +59,15 @@ def run_test (self):
self.nodes[0].generate(1)
self.sync_all()
# Exercise locking of unspent outputs
unspent_0 = self.nodes[2].listunspent()[0]
unspent_0 = {"txid": unspent_0["txid"], "vout": unspent_0["vout"]}
self.nodes[2].lockunspent(False, [unspent_0])
assert_raises(JSONRPCException, self.nodes[2].sendtoaddress, self.nodes[2].getnewaddress(), 20)
assert_equal([unspent_0], self.nodes[2].listlockunspent())
self.nodes[2].lockunspent(True, [unspent_0])
assert_equal(len(self.nodes[2].listlockunspent()), 0)
# Have node1 generate 100 blocks (so node0 can recover the fee)
self.nodes[1].generate(100)
self.sync_all()
@@ -148,6 +157,10 @@ def run_test (self):
assert(txid1 in self.nodes[3].getrawmempool())
# Exercise balance rpcs
assert_equal(self.nodes[0].getwalletinfo()["unconfirmed_balance"], 1)
assert_equal(self.nodes[0].getunconfirmedbalance(), 1)
#check if we can list zero value tx as available coins
#1. create rawtx
#2. hex-changed one output to 0.0
@@ -251,7 +264,7 @@ def run_test (self):
#check if wallet or blochchain maintenance changes the balance
self.sync_all()
self.nodes[0].generate(1)
blocks = self.nodes[0].generate(2)
self.sync_all()
balance_nodes = [self.nodes[i].getbalance() for i in range(3)]
@@ -269,6 +282,12 @@ def run_test (self):
self.nodes = start_nodes(3, self.options.tmpdir, [[m]] * 3)
assert_equal(balance_nodes, [self.nodes[i].getbalance() for i in range(3)])
# Exercise listsinceblock with the last two blocks
coinbase_tx_1 = self.nodes[0].listsinceblock(blocks[0])
assert_equal(coinbase_tx_1["lastblock"], blocks[1])
assert_equal(len(coinbase_tx_1["transactions"]), 1)
assert_equal(coinbase_tx_1["transactions"][0]["blockhash"], blocks[1])
assert_equal(len(self.nodes[0].listsinceblock(blocks[1])["transactions"]), 0)
if __name__ == '__main__':
WalletTest ().main ()

0 comments on commit 29e1131

Please sign in to comment.