mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-09 21:57:20 +01:00
test: rest /tx with an invalid/unknown txid
This commit is contained in:
parent
c561f2f06e
commit
bd52684508
1 changed files with 14 additions and 4 deletions
|
@ -22,6 +22,10 @@ from test_framework.util import (
|
||||||
|
|
||||||
from test_framework.messages import BLOCK_HEADER_SIZE
|
from test_framework.messages import BLOCK_HEADER_SIZE
|
||||||
|
|
||||||
|
INVALID_PARAM = "abc"
|
||||||
|
UNKNOWN_PARAM = "0000000000000000000000000000000000000000000000000000000000000000"
|
||||||
|
|
||||||
|
|
||||||
class ReqType(Enum):
|
class ReqType(Enum):
|
||||||
JSON = 1
|
JSON = 1
|
||||||
BIN = 2
|
BIN = 2
|
||||||
|
@ -103,6 +107,12 @@ class RESTTest (BitcoinTestFramework):
|
||||||
n, = filter_output_indices_by_value(json_obj['vout'], Decimal('0.1'))
|
n, = filter_output_indices_by_value(json_obj['vout'], Decimal('0.1'))
|
||||||
spending = (txid, n)
|
spending = (txid, n)
|
||||||
|
|
||||||
|
# Test /tx with an invalid and an unknown txid
|
||||||
|
resp = self.test_rest_request(uri=f"/tx/{INVALID_PARAM}", ret_type=RetType.OBJ, status=400)
|
||||||
|
assert_equal(resp.read().decode('utf-8').rstrip(), f"Invalid hash: {INVALID_PARAM}")
|
||||||
|
resp = self.test_rest_request(uri=f"/tx/{UNKNOWN_PARAM}", ret_type=RetType.OBJ, status=404)
|
||||||
|
assert_equal(resp.read().decode('utf-8').rstrip(), f"{UNKNOWN_PARAM} not found")
|
||||||
|
|
||||||
self.log.info("Query an unspent TXO using the /getutxos URI")
|
self.log.info("Query an unspent TXO using the /getutxos URI")
|
||||||
|
|
||||||
self.generatetoaddress(self.nodes[1], 1, not_related_address)
|
self.generatetoaddress(self.nodes[1], 1, not_related_address)
|
||||||
|
@ -205,8 +215,8 @@ class RESTTest (BitcoinTestFramework):
|
||||||
bb_hash = self.nodes[0].getbestblockhash()
|
bb_hash = self.nodes[0].getbestblockhash()
|
||||||
|
|
||||||
# Check result if block does not exists
|
# Check result if block does not exists
|
||||||
assert_equal(self.test_rest_request('/headers/1/0000000000000000000000000000000000000000000000000000000000000000'), [])
|
assert_equal(self.test_rest_request(f"/headers/1/{UNKNOWN_PARAM}"), [])
|
||||||
self.test_rest_request('/block/0000000000000000000000000000000000000000000000000000000000000000', status=404, ret_type=RetType.OBJ)
|
self.test_rest_request(f"/block/{UNKNOWN_PARAM}", status=404, ret_type=RetType.OBJ)
|
||||||
|
|
||||||
# Check result if block is not in the active chain
|
# Check result if block is not in the active chain
|
||||||
self.nodes[0].invalidateblock(bb_hash)
|
self.nodes[0].invalidateblock(bb_hash)
|
||||||
|
@ -250,8 +260,8 @@ class RESTTest (BitcoinTestFramework):
|
||||||
assert_equal(blockhash, bb_hash)
|
assert_equal(blockhash, bb_hash)
|
||||||
|
|
||||||
# Check invalid blockhashbyheight requests
|
# Check invalid blockhashbyheight requests
|
||||||
resp = self.test_rest_request("/blockhashbyheight/abc", ret_type=RetType.OBJ, status=400)
|
resp = self.test_rest_request(f"/blockhashbyheight/{INVALID_PARAM}", ret_type=RetType.OBJ, status=400)
|
||||||
assert_equal(resp.read().decode('utf-8').rstrip(), "Invalid height: abc")
|
assert_equal(resp.read().decode('utf-8').rstrip(), f"Invalid height: {INVALID_PARAM}")
|
||||||
resp = self.test_rest_request("/blockhashbyheight/1000000", ret_type=RetType.OBJ, status=404)
|
resp = self.test_rest_request("/blockhashbyheight/1000000", ret_type=RetType.OBJ, status=404)
|
||||||
assert_equal(resp.read().decode('utf-8').rstrip(), "Block height out of range")
|
assert_equal(resp.read().decode('utf-8').rstrip(), "Block height out of range")
|
||||||
resp = self.test_rest_request("/blockhashbyheight/-1", ret_type=RetType.OBJ, status=400)
|
resp = self.test_rest_request("/blockhashbyheight/-1", ret_type=RetType.OBJ, status=400)
|
||||||
|
|
Loading…
Add table
Reference in a new issue