Exemple #1
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 #2
0
 def test_remote_addObserver(self):
     """
     Should wrap the remote and call addObserver
     """
     h = Hub()
     h.remoteHubFactory = FakeRemoteHub
     called = []
     h.addObserver = called.append
     
     h.remote_addObserver('foo')
     
     self.assertEqual(len(called), 1)
     observer = called[0]
     self.assertTrue(isinstance(observer, FakeRemoteHub))
     self.assertEqual(observer.original, 'foo')
     self.assertEqual(observer.hub, h)