usawa

Signed, immutable accounting.
Log | Files | Refs | Submodules | LICENSE

wallet.py (1245B)


      1 import logging
      2 import unittest
      3 import os
      4 
      5 from usawa import DemoWallet
      6 from usawa.error import VerifyError
      7 
      8 logging.basicConfig(level=logging.DEBUG)
      9 logg = logging.getLogger()
     10 
     11 testdir = os.path.realpath(os.path.dirname(__file__))
     12 
     13 class TestWallet(unittest.TestCase):
     14 
     15     def test_wallet_create(self):
     16         wallet = DemoWallet()
     17         v = b'foo'
     18         r = wallet.sign(v)
     19         wallet.verify(v, r)
     20 
     21 
     22     def test_wallet_verify(self):
     23         wallet = DemoWallet()
     24         v = b'foo'
     25         r = wallet.sign(v)
     26 
     27         k = wallet.pubkey()
     28         wallet = DemoWallet(publickey=k)
     29         wallet.verify(v, r)
     30 
     31 
     32     def test_wallet_export(self):
     33         wallet = DemoWallet()
     34         v = b'foo'
     35         r = wallet.sign(v)
     36 
     37         b = wallet.export()
     38         with self.assertRaises(VerifyError):
     39             wallet = DemoWallet.from_export(b, passphrase='baz', opslimit=3)
     40         wallet = DemoWallet.from_export(b)
     41         wallet.verify(v, r)
     42 
     43         b = wallet.export(passphrase='bar')
     44         with self.assertRaises(VerifyError):
     45             wallet = DemoWallet.from_export(b, passphrase='baz')
     46         wallet = DemoWallet.from_export(b, passphrase='bar')
     47         wallet.verify(v, r)
     48 
     49 
     50 if __name__ == '__main__':
     51     unittest.main()