aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Toth <andrewstoth@gmail.com>2022-10-03 23:29:21 -0400
committerAndrew Toth <andrewstoth@gmail.com>2022-10-05 09:25:07 -0400
commit52a31dccc92366efb36db3b94920bdf8b05b264c (patch)
treee063e75d26e8b4a563028f7c87021b924040ff6c
parenta518fff0f2e479064dd4cff6c29fb54c72c1407b (diff)
downloadbitcoin-52a31dccc92366efb36db3b94920bdf8b05b264c.tar.xz
tests: mempool/contents verbose and mempool_sequence query params tests
-rwxr-xr-xtest/functional/interface_rest.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/functional/interface_rest.py b/test/functional/interface_rest.py
index 610a28c56b..ebefb8bd6a 100755
--- a/test/functional/interface_rest.py
+++ b/test/functional/interface_rest.py
@@ -348,6 +348,34 @@ class RESTTest (BitcoinTestFramework):
assert_equal(json_obj[tx]['spentby'], txs[i + 1:i + 2])
assert_equal(json_obj[tx]['depends'], txs[i - 1:i])
+ # Check the mempool response for explicit parameters
+ json_obj = self.test_rest_request("/mempool/contents", query_params={"verbose": "true", "mempool_sequence": "false"})
+ assert_equal(json_obj, raw_mempool_verbose)
+
+ # Check the mempool response for not verbose
+ json_obj = self.test_rest_request("/mempool/contents", query_params={"verbose": "false"})
+ raw_mempool = self.nodes[0].getrawmempool(verbose=False)
+
+ assert_equal(json_obj, raw_mempool)
+
+ # Check the mempool response for sequence
+ json_obj = self.test_rest_request("/mempool/contents", query_params={"verbose": "false", "mempool_sequence": "true"})
+ raw_mempool = self.nodes[0].getrawmempool(verbose=False, mempool_sequence=True)
+
+ assert_equal(json_obj, raw_mempool)
+
+ # Check for error response if verbose=true and mempool_sequence=true
+ resp = self.test_rest_request("/mempool/contents", ret_type=RetType.OBJ, status=400, query_params={"verbose": "true", "mempool_sequence": "true"})
+ assert_equal(resp.read().decode('utf-8').strip(), 'Verbose results cannot contain mempool sequence values. (hint: set "verbose=false")')
+
+ # Check for error response if verbose is not "true" or "false"
+ resp = self.test_rest_request("/mempool/contents", ret_type=RetType.OBJ, status=400, query_params={"verbose": "TRUE"})
+ assert_equal(resp.read().decode('utf-8').strip(), 'The "verbose" query parameter must be either "true" or "false".')
+
+ # Check for error response if mempool_sequence is not "true" or "false"
+ resp = self.test_rest_request("/mempool/contents", ret_type=RetType.OBJ, status=400, query_params={"verbose": "false", "mempool_sequence": "TRUE"})
+ assert_equal(resp.read().decode('utf-8').strip(), 'The "mempool_sequence" query parameter must be either "true" or "false".')
+
# Now mine the transactions
newblockhash = self.generate(self.nodes[1], 1)