]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blobdiff - src/allmydata/test/test_keygen.py
isolate test_keygen data
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / test / test_keygen.py
index 81d6df7e189b123a185642b74f04c6faf4cec5e6..71d7eafd95f8f691219df7119ea509f8174e7b22 100644 (file)
@@ -3,32 +3,35 @@ import os
 from twisted.trial import unittest
 from twisted.application import service
 
-from foolscap import Tub, eventual
+from foolscap.api import Tub, fireEventually, flushEventualQueue
 
 from allmydata import key_generator
-from allmydata.util import testutil
+from allmydata.util import pollmixin
+from allmydata.test.common import TEST_RSA_KEY_SIZE
 from pycryptopp.publickey import rsa
 
 def flush_but_dont_ignore(res):
-    d = eventual.flushEventualQueue()
+    d = flushEventualQueue()
     def _done(ignored):
         return res
     d.addCallback(_done)
     return d
 
-class KeyGenService(unittest.TestCase, testutil.PollMixin):
+class KeyGenService(unittest.TestCase, pollmixin.PollMixin):
     def setUp(self):
         self.parent = service.MultiService()
         self.parent.startService()
 
         self.tub = t = Tub()
+        t.setOption("expose-remote-exception-types", False)
         t.setServiceParent(self.parent)
         t.listenOn("tcp:0")
         t.setLocationAutomatically()
+        return fireEventually()
 
     def tearDown(self):
         d = self.parent.stopService()
-        d.addCallback(eventual.fireEventually)
+        d.addCallback(fireEventually)
         d.addBoth(flush_but_dont_ignore)
         return d
 
@@ -39,19 +42,19 @@ class KeyGenService(unittest.TestCase, testutil.PollMixin):
             return junk
 
         #print 'starting key generator service'
-        kgs = key_generator.KeyGeneratorService(display_furl=False)
+        keysize = TEST_RSA_KEY_SIZE
+        kgs = key_generator.KeyGeneratorService(display_furl=False, default_key_size=keysize, basedir="key_generator_service")
         kgs.key_generator.verbose = True
         kgs.setServiceParent(self.parent)
         kgs.key_generator.pool_size = 8
-        keysize = kgs.key_generator.DEFAULT_KEY_SIZE
 
         def keypool_full():
             return len(kgs.key_generator.keypool) == kgs.key_generator.pool_size
 
         # first wait for key gen pool to fill up
-        d = eventual.fireEventually()
+        d = fireEventually()
         d.addCallback(p, 'waiting for pool to fill up')
-        d.addCallback(lambda junk: self.poll(keypool_full, timeout=60))
+        d.addCallback(lambda junk: self.poll(keypool_full))
 
         d.addCallback(p, 'grabbing a few keys')
         # grab a few keys, check that pool size shrinks
@@ -92,7 +95,6 @@ class KeyGenService(unittest.TestCase, testutil.PollMixin):
 
         d.addCallback(p, 'checking pool replenishment')
         # check that the pool will refill
-        timeout = 4*kgs.key_generator.pool_size + kgs.key_generator.pool_refresh_delay
-        d.addCallback(lambda junk: self.poll(keypool_full, timeout=timeout))
+        d.addCallback(lambda junk: self.poll(keypool_full))
 
         return d