From a65be432dd6f69331bc5126c5f81399c82e8fce8 Mon Sep 17 00:00:00 2001 From: "Sybren A. St?vel" Date: Mon, 20 Jun 2011 00:13:53 +0200 Subject: Added unittests --- tests/test_integers.py | 36 ++++++++++++++++++++++++++++++++++++ tests/test_strings.py | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 tests/test_integers.py create mode 100644 tests/test_strings.py (limited to 'tests') 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) + -- cgit v1.2.1