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()