summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSybren A. St?vel <sybren@stuvel.eu>2011-06-20 00:13:53 +0200
committerSybren A. St?vel <sybren@stuvel.eu>2011-06-20 00:13:53 +0200
commita65be432dd6f69331bc5126c5f81399c82e8fce8 (patch)
tree2506b242d8eb7b4ad686f1ed95b726479391a4ea /tests
parentce38988a3cf99edbde3f622cd4831be6283f92c3 (diff)
downloadrsa-a65be432dd6f69331bc5126c5f81399c82e8fce8.tar.gz
Added unittests
Diffstat (limited to 'tests')
-rw-r--r--tests/test_integers.py36
-rw-r--r--tests/test_strings.py38
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)
+