diff options
author | Sybren A. St?vel <sybren@stuvel.eu> | 2011-06-20 00:13:53 +0200 |
---|---|---|
committer | Sybren A. St?vel <sybren@stuvel.eu> | 2011-06-20 00:13:53 +0200 |
commit | a65be432dd6f69331bc5126c5f81399c82e8fce8 (patch) | |
tree | 2506b242d8eb7b4ad686f1ed95b726479391a4ea /tests | |
parent | ce38988a3cf99edbde3f622cd4831be6283f92c3 (diff) | |
download | rsa-a65be432dd6f69331bc5126c5f81399c82e8fce8.tar.gz |
Added unittests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_integers.py | 36 | ||||
-rw-r--r-- | tests/test_strings.py | 38 |
2 files changed, 74 insertions, 0 deletions
diff --git a/tests/test_integers.py b/tests/test_integers.py new file mode 100644 index 0000000..1e318ab --- /dev/null +++ b/tests/test_integers.py @@ -0,0 +1,36 @@ +'''Tests integer operations.''' + +import unittest + +import rsa + +class IntegerTest(unittest.TestCase): + + def setUp(self): + (self.pub, self.priv) = rsa.newkeys(64) + + def test_enc_dec(self): + + message = 42 + print "\tMessage: %d" % message + + encrypted = rsa.encrypt_int(message, self.pub['e'], self.pub['n']) + print "\tEncrypted: %d" % encrypted + + decrypted = rsa.decrypt_int(encrypted, self.priv['d'], self.pub['n']) + print "\tDecrypted: %d" % decrypted + + self.assertEqual(message, decrypted) + + def test_sign_verify(self): + + message = 42 + + signed = rsa.encrypt_int(message,self.priv['d'], self.pub['n']) + print "\tSigned: %d" % signed + + verified = rsa.decrypt_int(signed, self.pub['e'],self.pub['n']) + print "\tVerified: %d" % verified + + self.assertEqual(message, verified) + diff --git a/tests/test_strings.py b/tests/test_strings.py new file mode 100644 index 0000000..c5803e4 --- /dev/null +++ b/tests/test_strings.py @@ -0,0 +1,38 @@ +'''Tests string operations.''' + +import unittest + +import rsa + +class StringTest(unittest.TestCase): + + def setUp(self): + (self.pub, self.priv) = rsa.newkeys(64) + + def test_enc_dec(self): + + # TODO: test with unicode strings and non-ascii chars + message = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + print "\tMessage: %s" % message + + encrypted = rsa.encrypt(message, self.pub) + print "\tEncrypted: %s" % encrypted + + decrypted = rsa.decrypt(encrypted, self.priv) + print "\tDecrypted: %s" % decrypted + + self.assertEqual(message, decrypted) + + def test_sign_verify(self): + + # TODO: test with unicode strings and non-ascii chars + message = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + + signed = rsa.sign(message, self.priv) + print "\tSigned: %s" % signed + + verified = rsa.verify(signed, self.pub) + print "\tVerified: %s" % verified + + self.assertEqual(message, verified) + |