39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
|
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')
|