Exemple #1
0
 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])
Exemple #2
0
 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)
Exemple #3
0
    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)
Exemple #4
0
 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)
Exemple #5
0
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()