functional_tests: add spend proof tests

This commit is contained in:
moneromooo-monero 2019-04-29 20:08:47 +00:00
parent a71d91cecf
commit 8e077a5fc0
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
2 changed files with 60 additions and 0 deletions

View file

@ -44,6 +44,7 @@ class ProofsTest():
txid, tx_key, amount = self.transfer()
self.check_tx_key(txid, tx_key, amount)
self.check_tx_proof(txid, amount)
self.check_spend_proof(txid)
self.check_reserve_proof()
def reset(self):
@ -217,6 +218,40 @@ class ProofsTest():
except: ok = True
assert ok or not res.good
def check_spend_proof(self, txid):
daemon = Daemon()
print('Checking spend proof')
self.wallet[0].refresh()
self.wallet[1].refresh()
res = self.wallet[0].get_spend_proof(txid, message = 'foo')
assert len(res.signature) > 0
signature = res.signature
res = self.wallet[1].check_spend_proof(txid, message = 'foo', signature = signature)
assert res.good
res = self.wallet[0].get_spend_proof(txid, message = 'foobar')
assert len(res.signature) > 0
signature2 = res.signature
res = self.wallet[1].check_spend_proof(txid, message = 'foobar', signature = signature2)
assert res.good
ok = False
try: res = self.wallet[1].check_spend_proof('0' * 64, message = 'foo', signature = signature)
except: ok = True
assert ok or not res.good
ok = False
try: res = self.wallet[1].check_spend_proof(txid, message = 'bar', signature = signature)
except: ok = True
assert ok or not res.good
ok = False
try: res = self.wallet[1].check_spend_proof(txid, message = 'foo', signature = signature2)
except: ok = True
assert ok or not res.good
def check_reserve_proof(self):
daemon = Daemon()