Changeset View
Changeset View
Standalone View
Standalone View
test/functional/rpc_rawtransaction.py
Show First 20 Lines • Show All 424 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
self.sync_all() | self.sync_all() | ||||
self.nodes[0].generate(1) | self.nodes[0].generate(1) | ||||
self.sync_all() | self.sync_all() | ||||
assert_equal(self.nodes[0].getbalance( | assert_equal(self.nodes[0].getbalance( | ||||
), bal + Decimal('50.00000000') + Decimal('2.19000000')) # block reward + tx | ), bal + Decimal('50.00000000') + Decimal('2.19000000')) # block reward + tx | ||||
# getrawtransaction tests | # getrawtransaction tests | ||||
# 1. valid parameters - only supply txid | # 1. valid parameters - only supply txid | ||||
txHash = rawTx["hash"] | txId = rawTx["txid"] | ||||
assert_equal( | assert_equal( | ||||
self.nodes[0].getrawtransaction(txHash), rawTxSigned['hex']) | self.nodes[0].getrawtransaction(txId), rawTxSigned['hex']) | ||||
# 2. valid parameters - supply txid and 0 for non-verbose | # 2. valid parameters - supply txid and 0 for non-verbose | ||||
assert_equal( | assert_equal( | ||||
self.nodes[0].getrawtransaction(txHash, 0), rawTxSigned['hex']) | self.nodes[0].getrawtransaction(txId, 0), rawTxSigned['hex']) | ||||
# 3. valid parameters - supply txid and False for non-verbose | # 3. valid parameters - supply txid and False for non-verbose | ||||
assert_equal(self.nodes[0].getrawtransaction( | assert_equal(self.nodes[0].getrawtransaction(txId, False), | ||||
txHash, False), rawTxSigned['hex']) | rawTxSigned['hex']) | ||||
# 4. valid parameters - supply txid and 1 for verbose. | # 4. valid parameters - supply txid and 1 for verbose. | ||||
# We only check the "hex" field of the output so we don't need to | # We only check the "hex" field of the output so we don't need to | ||||
# update this test every time the output format changes. | # update this test every time the output format changes. | ||||
assert_equal(self.nodes[0].getrawtransaction( | assert_equal(self.nodes[0].getrawtransaction(txId, 1)["hex"], | ||||
txHash, 1)["hex"], rawTxSigned['hex']) | rawTxSigned['hex']) | ||||
# 5. valid parameters - supply txid and True for non-verbose | # 5. valid parameters - supply txid and True for non-verbose | ||||
assert_equal(self.nodes[0].getrawtransaction( | assert_equal(self.nodes[0].getrawtransaction(txId, True)["hex"], | ||||
txHash, True)["hex"], rawTxSigned['hex']) | rawTxSigned['hex']) | ||||
# 6. invalid parameters - supply txid and string "Flase" | # 6. invalid parameters - supply txid and string "Flase" | ||||
assert_raises_rpc_error( | assert_raises_rpc_error(-1, "not a boolean", | ||||
-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, "False") | self.nodes[0].getrawtransaction, | ||||
txId, "Flase") | |||||
# 7. invalid parameters - supply txid and empty array | # 7. invalid parameters - supply txid and empty array | ||||
assert_raises_rpc_error( | assert_raises_rpc_error(-1, "not a boolean", | ||||
-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, []) | self.nodes[0].getrawtransaction, txId, []) | ||||
# 8. invalid parameters - supply txid and empty dict | # 8. invalid parameters - supply txid and empty dict | ||||
assert_raises_rpc_error( | assert_raises_rpc_error( | ||||
-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, {}) | -1, "not a boolean", self.nodes[0].getrawtransaction, txId, {}) | ||||
# Sanity checks on verbose getrawtransaction output | # Sanity checks on verbose getrawtransaction output | ||||
rawTxOutput = self.nodes[0].getrawtransaction(txHash, True) | rawTxOutput = self.nodes[0].getrawtransaction(txId, True) | ||||
assert_equal(rawTxOutput["hex"], rawTxSigned["hex"]) | assert_equal(rawTxOutput["hex"], rawTxSigned["hex"]) | ||||
assert_equal(rawTxOutput["txid"], txHash) | assert_equal(rawTxOutput["txid"], txId) | ||||
assert_equal(rawTxOutput["hash"], txHash) | assert_equal(rawTxOutput["hash"], txId) | ||||
assert_greater_than(rawTxOutput["size"], 300) | assert_greater_than(rawTxOutput["size"], 300) | ||||
assert_equal(rawTxOutput["version"], 0x02) | assert_equal(rawTxOutput["version"], 0x02) | ||||
assert_equal(rawTxOutput["locktime"], 0) | assert_equal(rawTxOutput["locktime"], 0) | ||||
assert_equal(len(rawTxOutput["vin"]), 1) | assert_equal(len(rawTxOutput["vin"]), 1) | ||||
assert_equal(len(rawTxOutput["vout"]), 1) | assert_equal(len(rawTxOutput["vout"]), 1) | ||||
assert_equal(rawTxOutput["blockhash"], rawTxBlock["hash"]) | assert_equal(rawTxOutput["blockhash"], rawTxBlock["hash"]) | ||||
assert_equal(rawTxOutput["confirmations"], 3) | assert_equal(rawTxOutput["confirmations"], 3) | ||||
assert_equal(rawTxOutput["time"], rawTxBlock["time"]) | assert_equal(rawTxOutput["time"], rawTxBlock["time"]) | ||||
▲ Show 20 Lines • Show All 153 Lines • Show Last 20 Lines |