from twisted.trial import unittest
from twisted.internet import defer, reactor
from twisted.application import service
-from allmydata import upload, client, queen
+from allmydata import client, queen
import os
from foolscap.eventual import flushEventualQueue
+from twisted.python import log
class SystemTest(unittest.TestCase):
def setUp(self):
s.setServiceParent(self.sparent)
return s
- def setUpNodes(self):
- os.mkdir("queen")
- q = self.addService(queen.Queen(basedir="queen"))
- clients = []
- NUMCLIENTS = 5
+ def setUpNodes(self, NUMCLIENTS=5):
+ if not os.path.isdir("queen"):
+ os.mkdir("queen")
+ q = self.queen = self.addService(queen.Queen(basedir="queen"))
+ queen_pburl = q.urls["roster"]
+ clients = self.clients = []
+
for i in range(NUMCLIENTS):
basedir = "client%d" % i
- os.mkdir(basedir)
+ if not os.path.isdir(basedir):
+ os.mkdir(basedir)
c = self.addService(client.Client(basedir=basedir))
+ c.set_queen_pburl(queen_pburl)
clients.append(c)
reactor.callLater(1, d.callback, None)
return d
- def test_it(self):
+ def test_connections(self):
+ self.setUpNodes()
+ d = self.waitForConnections()
+ def _check(res):
+ log.msg("CHECKING")
+ for c in self.clients:
+ self.failUnlessEqual(len(c.connections), 4)
+ d.addCallback(_check)
+ return d
+
+ def test_upload(self):
self.setUpNodes()
d = self.waitForConnections()
+ def _upload(res):
+ log.msg("DONE")
+ u = self.clients[0].getServiceNamed("uploader")
+ d1 = u.upload_data("Some data to upload")
+ return d1
+ d.addCallback(_upload)
return d