aboutsummaryrefslogtreecommitdiff
path: root/tests/functional_tests/transfer.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional_tests/transfer.py')
-rwxr-xr-xtests/functional_tests/transfer.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/functional_tests/transfer.py b/tests/functional_tests/transfer.py
index 7bf0f4957..7ebda6ebd 100755
--- a/tests/functional_tests/transfer.py
+++ b/tests/functional_tests/transfer.py
@@ -46,6 +46,7 @@ class TransferTest():
self.check_get_bulk_payments()
self.check_double_spend_detection()
self.sweep_single()
+ self.check_destinations()
def reset(self):
print('Resetting blockchain')
@@ -519,6 +520,9 @@ class TransferTest():
res = self.wallet[2].get_bulk_payments(payment_ids = ['1'*64, '1234500000012345abcde00000abcdeff1234500000012345abcde00000abcde', '2'*64])
assert len(res.payments) >= 1 # one tx was sent
+ res = self.wallet[1].get_bulk_payments(["1111111122222222"])
+ assert len(res.payments) >= 1 # we have one of these
+
def check_double_spend_detection(self):
print('Checking double spend detection')
txes = [[None, None], [None, None]]
@@ -571,6 +575,7 @@ class TransferTest():
assert res.overspend == False
assert res.fee_too_low == False
assert res.not_rct == False
+ assert res.too_few_outputs == False
res = daemon.get_transactions([txes[0][0]])
assert len(res.txs) >= 1
@@ -626,6 +631,64 @@ class TransferTest():
res = self.wallet[0].incoming_transfers(transfer_type = 'unavailable')
assert len([t for t in res.transfers if t.key_image == ki]) == 1
+ def check_destinations(self):
+ daemon = Daemon()
+
+ print("Checking transaction destinations")
+
+ dst = {'address': '42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 'amount': 1000000000000}
+ res = self.wallet[0].transfer([dst])
+ assert len(res.tx_hash) == 64
+ tx_hash = res.tx_hash
+ for i in range(2):
+ res = self.wallet[0].get_transfers(pending = True, out = True)
+ l = [x for x in (res.pending if i == 0 else res.out) if x.txid == tx_hash]
+ assert len(l) == 1
+ e = l[0]
+ assert len(e.destinations) == 1
+ assert e.destinations[0].amount == 1000000000000
+ assert e.destinations[0].address == '42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm'
+
+ if i == 0:
+ daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 1)
+ self.wallet[0].refresh()
+
+ dst = {'address': '8AsN91rznfkBGTY8psSNkJBg9SZgxxGGRUhGwRptBhgr5XSQ1XzmA9m8QAnoxydecSh5aLJXdrgXwTDMMZ1AuXsN1EX5Mtm', 'amount': 1000000000000}
+ res = self.wallet[0].transfer([dst])
+ assert len(res.tx_hash) == 64
+ tx_hash = res.tx_hash
+ for i in range(2):
+ res = self.wallet[0].get_transfers(pending = True, out = True)
+ l = [x for x in (res.pending if i == 0 else res.out) if x.txid == tx_hash]
+ assert len(l) == 1
+ e = l[0]
+ assert len(e.destinations) == 1
+ assert e.destinations[0].amount == 1000000000000
+ assert e.destinations[0].address == '8AsN91rznfkBGTY8psSNkJBg9SZgxxGGRUhGwRptBhgr5XSQ1XzmA9m8QAnoxydecSh5aLJXdrgXwTDMMZ1AuXsN1EX5Mtm'
+
+ if i == 0:
+ daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 1)
+ self.wallet[0].refresh()
+
+ dst = {'address': '4BxSHvcgTwu25WooY4BVmgdcKwZu5EksVZSZkDd6ooxSVVqQ4ubxXkhLF6hEqtw96i9cf3cVfLw8UWe95bdDKfRQeYtPwLm1Jiw7AKt2LY', 'amount': 1000000000000}
+ res = self.wallet[0].transfer([dst])
+ assert len(res.tx_hash) == 64
+ tx_hash = res.tx_hash
+ for i in range(2):
+ res = self.wallet[0].get_transfers(pending = True, out = True)
+ l = [x for x in (res.pending if i == 0 else res.out) if x.txid == tx_hash]
+ assert len(l) == 1
+ e = l[0]
+ assert len(e.destinations) == 1
+ assert e.destinations[0].amount == 1000000000000
+ assert e.destinations[0].address == '4BxSHvcgTwu25WooY4BVmgdcKwZu5EksVZSZkDd6ooxSVVqQ4ubxXkhLF6hEqtw96i9cf3cVfLw8UWe95bdDKfRQeYtPwLm1Jiw7AKt2LY'
+
+ if i == 0:
+ daemon.generateblocks('42ey1afDFnn4886T7196doS9GPMzexD9gXpsZJDwVjeRVdFCSoHnv7KPbBeGpzJBzHRCAs9UxqeoyFQMYbqSWYTfJJQAWDm', 1)
+ self.wallet[0].refresh()
+
+
+
if __name__ == '__main__':
TransferTest().run_test()