diff --git a/tests/integration/test_transaction_commands.py b/tests/integration/test_transaction_commands.py new file mode 100644 index 000000000..a5ff7d7ed --- /dev/null +++ b/tests/integration/test_transaction_commands.py @@ -0,0 +1,38 @@ +from integration.testcase import CommandTestCase + + +class TransactionCommandsTestCase(CommandTestCase): + + async def test_transaction_show(self): + # local tx + result = await self.out(self.daemon.jsonrpc_wallet_send( + '5.0', await self.daemon.jsonrpc_address_unused(self.account.id) + )) + await self.confirm_tx(result['txid']) + tx = await self.daemon.jsonrpc_transaction_show(result['txid']) + self.assertEqual(tx.id, result['txid']) + + # someone's tx + change_address = await self.blockchain.get_raw_change_address() + sendtxid = await self.blockchain.send_to_address(change_address, 10) + tx = await self.daemon.jsonrpc_transaction_show(sendtxid) + self.assertEqual(tx.id, sendtxid) + self.assertEqual(tx.height, -2) + await self.generate(1) + tx = await self.daemon.jsonrpc_transaction_show(sendtxid) + self.assertEqual(tx.height, self.ledger.headers.height) + + # inexistent + result = await self.daemon.jsonrpc_transaction_show('0'*64) + self.assertFalse(result['success']) + + async def test_utxo_release(self): + sendtxid = await self.blockchain.send_to_address( + await self.account.receiving.get_or_create_usable_address(), 1 + ) + await self.confirm_tx(sendtxid) + await self.assertBalance(self.account, '11.0') + await self.ledger.reserve_outputs(await self.account.get_utxos()) + await self.assertBalance(self.account, '0.0') + await self.daemon.jsonrpc_utxo_release() + await self.assertBalance(self.account, '11.0')