URI:
       ttest.py - tomb - the crypto undertaker
  HTML git clone git://parazyd.org/tomb.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       ttest.py (3364B)
       ---
            1 import os
            2 import unittest
            3 from tomber import *
            4 from random import randrange
            5 from shutil import rmtree, copyfile
            6 
            7 
            8 class tomberTester(unittest.TestCase):
            9 
           10     @classmethod
           11     def setUpClass(self):
           12         self.pid = str(os.getpid())
           13         self.tombfile = '.'.join([self.pid, 'tomb'])
           14         self.keyfile = '.'.join([self.pid, 'key'])
           15         self.keyfile2 = '.'.join([self.pid, '2ndkey'])
           16         self.exhumedkey = '.'.join([self.pid, 'exhumed'])
           17         self.mountpath = './tmptomb'
           18         os.mkdir(self.mountpath)
           19         # generate a passphrase with spaces
           20         self.passphrase = str(randrange(2 ** 64)).replace("", " ")[1:-1]
           21         self.passphrase2 = str(randrange(2 ** 64))
           22         self.imagefile = '.'.join([self.pid, 'jpg'])
           23         copyfile(
           24             '/'.join([os.path.dirname(os.path.abspath(__file__)), 'test.jpg']),
           25             self.imagefile)
           26 
           27     @classmethod
           28     def tearDownClass(self):
           29         os.unlink(self.tombfile)
           30         os.unlink(self.keyfile)
           31         os.unlink(self.keyfile2)
           32         os.unlink(self.imagefile)
           33         os.unlink(self.exhumedkey)
           34         rmtree(self.mountpath, ignore_errors=True)
           35 
           36     def test_01_dig(self):
           37         """ Dig a tomb of 10mb"""
           38         self.assertTrue(tdig(self.tombfile, 10)[0])
           39 
           40     def test_02_forge(self):
           41         """ Forge a keyfile and set a passphrase """
           42         self.assertTrue(tforge(self.keyfile, self.passphrase)[0])
           43 
           44     def test_03_lock(self):
           45         """ Lock created tomb with forged keyfile """
           46         self.assertTrue(tlock(self.tombfile, self.keyfile, self.passphrase)[0])
           47 
           48     def test_04_open(self):
           49         """ Open the created tomb with forged keyfile and passhrase """
           50         self.assertTrue(topen(
           51                 self.tombfile, self.keyfile, self.passphrase, self.mountpath
           52                 )[0]
           53             )
           54 
           55     def test_05_close(self):
           56         """ Close the created tomb """
           57         self.assertTrue(tclose(self.tombfile.split('.')[0])[0])
           58 
           59     def test_06_resize(self):
           60         """ Resize created tomb to 12mb """
           61         self.assertTrue(tresize(
           62                 self.tombfile, self.keyfile, self.passphrase, 12
           63                 )[0]
           64             )
           65 
           66     def test_07_passwd(self):
           67         """ Change password in keyfile """
           68         self.assertTrue(tpasswd(
           69                 self.keyfile, self.passphrase2, self.passphrase
           70                 )[0]
           71             )
           72 
           73     def test_08_bury(self):
           74         """ Bury keyfile in a image file """
           75         self.assertTrue(tbury(
           76                 self.keyfile, self.passphrase2, self.imagefile
           77                 )[0]
           78             )
           79 
           80     def test_09_exhume(self):
           81         """ Exhume a key from an image """
           82         self.assertTrue(texhume(
           83                 self.exhumedkey, self.passphrase2, self.imagefile
           84                 )[0]
           85             )
           86 
           87     def test_10_setkey(self):
           88         """ Forge a new key and and set different keyfile to created tomb """
           89         tforge(self.keyfile2, self.passphrase)
           90         self.assertTrue(tsetkey(
           91                 self.keyfile,
           92                 self.tombfile,
           93                 self.keyfile2,
           94                 self.passphrase2,
           95                 self.passphrase
           96                 )[0]
           97             )
           98 
           99     def test_11_slam(self):
          100         """ Slam open tombs """
          101         topen(self.tombfile, self.keyfile2, self.passphrase, self.mountpath)
          102         self.assertTrue(tslam()[0])
          103 
          104 if __name__ == '__main__':
          105     unittest.main()