From e0d5463ea7131294ed416c8320cc50d232320261 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 16 Jun 2025 14:35:30 +0000 Subject: [PATCH] test suite: `EtherscanServer`: return correct TxID --- test/cmdtest_d/httpd/etherscan.py | 19 ++++++++++++++++--- test/ref/ethereum/etherscan-result.html | 3 +-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/test/cmdtest_d/httpd/etherscan.py b/test/cmdtest_d/httpd/etherscan.py index 10fa9529..ac4299cf 100755 --- a/test/cmdtest_d/httpd/etherscan.py +++ b/test/cmdtest_d/httpd/etherscan.py @@ -20,6 +20,19 @@ class EtherscanServer(HTTPD): content_type = 'text/html' def make_response_body(self, method, environ): - targets = {'GET': 'form', 'POST': 'result'} - with open(f'test/ref/ethereum/etherscan-{targets[method]}.html') as fh: - return fh.read().encode() + if method == 'GET': + target = 'form' + elif method == 'POST': + target = 'result' + length = int(environ.get('CONTENT_LENGTH', '0')) + qs = environ['wsgi.input'].read(length).decode() + tx = [s for s in qs.split('&') if 'RawTx=' in s][0].split('=')[1][:10] + if tx == '0xf86f0185': + txid = '1c034395c9aa2217abbbf3ed4d89c5ad1aa0f0215aa11d02efeea33a5ac8331c' + else: + txid = 'beadcafebeadcafebeadcafebeadcafebeadcafebeadcafebeadcafebeadcafe' + + with open(f'test/ref/ethereum/etherscan-{target}.html') as fh: + text = fh.read() + + return (text if method == 'GET' else text.format(txid='0x'+txid)).encode() diff --git a/test/ref/ethereum/etherscan-result.html b/test/ref/ethereum/etherscan-result.html index 5ede565c..4226188f 100644 --- a/test/ref/ethereum/etherscan-result.html +++ b/test/ref/ethereum/etherscan-result.html @@ -15,8 +15,7 @@
-
Success! {"jsonrpc":"2.0","id":1,"result":"0xbeadcafebeadcafebeadcafebeadcafebeadcafebeadcafebeadcafebeadcafe"} - Transaction Hash: 0xbeadcafebeadcafebeadcafebeadcafebeadcafebeadcafebeadcafebeadcafe
+
Success! {{"jsonrpc":"2.0","id":1,"result":"{txid}"}} Transaction Hash: {txid}