From fec61ece4c1593e79bc52c84cf69a715cd6a9dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 29 Mar 2016 18:18:50 +0200 Subject: Added unittest for rsa.key.gen_keys This unittest tests both execution branches of the function (keys relatively prime or not), reducing randomness of code coverage. --- tests/test_key.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests') diff --git a/tests/test_key.py b/tests/test_key.py index 0e62f55..24f6501 100644 --- a/tests/test_key.py +++ b/tests/test_key.py @@ -40,3 +40,20 @@ class KeyGenTest(unittest.TestCase): self.assertEqual(0x10001, priv.e) self.assertEqual(0x10001, pub.e) + + def test_custom_getprime_func(self): + # List of primes to test with, in order [p, q, p, q, ....] + primes = [64123, 50957, 39317, 33107] + + def getprime(_): + return primes.pop(0) + + # This exponent will cause two other primes to be generated. + exponent = 136407 + + (p, q, e, d) = rsa.key.gen_keys(64, + accurate=False, + getprime_func=getprime, + exponent=exponent) + self.assertEqual(39317, p) + self.assertEqual(33107, q) -- cgit v1.2.1