def test_addBuilder(self): """ Should add builder to _builders list """ h = Hub() o = object() h.addBuilder(o) self.assertEqual(h._builders, [o]) h.addBuilder(o) self.assertEqual(h._builders, [o])
def test__build(self): """ Should pass it along to all registered builders. """ class FakeBuilder: def build(self, request): self.called = request b = FakeBuilder() h = Hub() h.addBuilder(b) r = {} h._build(r) self.assertEqual(b.called, r)
def test_gotRemoteRoot(self): """ Should add remote to builder and observers, add self to remote builders and observers, start static info fetching. """ hub = Hub() remote = FakeRemoteHub('foo') called = [] def makeFake(name): def f(*args): called.append((name, args)) return f hub.addBuilder = makeFake('addB') hub.addObserver = makeFake('addO') remote.addBuilder = makeFake('r_addB') remote.addObserver = makeFake('r_addO') remote.getStaticInfo = makeFake('r_getStaticInfo') hub.gotRemoteRoot(remote) self.assertEqual(set(called), set([ ('addB', (remote,)), ('addO', (remote,)), ('r_addB', (hub,)), ('r_addO', (hub,)), ('r_getStaticInfo', ()), ])) self.assertEqual(remote.hub, hub)
def test_remote_addBuilder(self): """ Should wrap the remote in a RemoteHub then call addBuilder """ h = Hub() h.remoteHubFactory = FakeRemoteHub called = [] h.addBuilder = called.append h.remote_addBuilder('foo') self.assertEqual(len(called), 1) r = called[0] self.assertTrue(isinstance(r, FakeRemoteHub)) self.assertEqual(r.original, 'foo') self.assertEqual(r.hub, h)
from twisted.internet import reactor, task, utils from twisted.python import log import sys from simplebb.hub import Hub from simplebb.builder import FileBuilder log.startLogging(sys.stdout) fb = FileBuilder('example/projects') h = Hub() h.addBuilder(fb) h.connect('tcp:host=127.0.0.1:port=9222') h.startServer(h.getShellServerFactory(), 'tcp:9224') reactor.run()