From 2ebf2fe0e4727a5a57a03f4283bdf1e263855803 Mon Sep 17 00:00:00 2001 From: Sebastian Falbesoner Date: Thu, 1 Jul 2021 02:30:37 +0200 Subject: [PATCH] test: check for RPC error 'Transaction already in block chain' (-27) --- test/functional/rpc_rawtransaction.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/functional/rpc_rawtransaction.py b/test/functional/rpc_rawtransaction.py index 3ff74dc5a47..9d4a5525d14 100755 --- a/test/functional/rpc_rawtransaction.py +++ b/test/functional/rpc_rawtransaction.py @@ -515,6 +515,15 @@ class RawTransactionsTest(BitcoinTestFramework): assert_equal(testres['allowed'], True) self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], maxfeerate='0.20000000') + self.log.info('sendrawtransaction/testmempoolaccept with tx that is already in the chain') + self.nodes[2].generate(1) + self.sync_blocks() + for node in self.nodes: + testres = node.testmempoolaccept([rawTxSigned['hex']])[0] + assert_equal(testres['allowed'], False) + assert_equal(testres['reject-reason'], 'txn-already-known') + assert_raises_rpc_error(-27, 'Transaction already in block chain', node.sendrawtransaction, rawTxSigned['hex']) + if __name__ == '__main__': RawTransactionsTest().main()