def setUp(self): self.output = [] self.xmlstream = xmlstream.XmlStream(xmlstream.Authenticator()) self.xmlstream.thisEntity = jid.JID('example.org') self.xmlstream.otherEntity = jid.JID('example.com') self.xmlstream.send = self.output.append self.router = component.Router() self.service = server.ServerService(self.router, secret='mysecret', domain='example.org') self.service.xmlstream = self.xmlstream
def test_addRoute(self): """ Test route registration and routing on incoming stanzas. """ router = component.Router() routed = [] router.route = lambda element: routed.append(element) pipe = XmlPipe() router.addRoute('example.org', pipe.sink) self.assertEquals(1, len(router.routes)) self.assertEquals(pipe.sink, router.routes['example.org']) element = domish.Element(('testns', 'test')) pipe.source.send(element) self.assertEquals([element], routed)
def test_route(self): """ Test routing of a message. """ component1 = XmlPipe() component2 = XmlPipe() router = component.Router() router.addRoute('component1.example.org', component1.sink) router.addRoute('component2.example.org', component2.sink) outgoing = [] component2.source.addObserver('/*', lambda element: outgoing.append(element)) stanza = domish.Element((None, 'presence')) stanza['from'] = 'component1.example.org' stanza['to'] = 'component2.example.org' component1.source.send(stanza) self.assertEquals([stanza], outgoing)
def test_routeDefault(self): """ Test routing of a message using the default route. The default route is the one with C{None} as its key in the routing table. It is taken when there is no more specific route in the routing table that matches the stanza's destination. """ component1 = XmlPipe() s2s = XmlPipe() router = component.Router() router.addRoute('component1.example.org', component1.sink) router.addRoute(None, s2s.sink) outgoing = [] s2s.source.addObserver('/*', lambda element: outgoing.append(element)) stanza = domish.Element((None, 'presence')) stanza['from'] = 'component1.example.org' stanza['to'] = 'example.com' component1.source.send(stanza) self.assertEquals([stanza], outgoing)
def buildXMPPApp(domain, port, secret, groupset, application): router = component.Router() serverService = server.ServerService(router, domain=domain, secret=secret) serverService.logTraffic = LOG s2sFactory = server.XMPPS2SServerFactory(serverService) s2sFactory.logTraffic = LOG s2sService = strports.service(port, s2sFactory) s2sService.setServiceParent(application) w4Comp = component.InternalComponent(router, domain) w4Comp.logTraffic = LOG w4Comp.setServiceParent(application) presenceHandler = PresenceHandler(groupset) presenceHandler.setHandlerParent(w4Comp) chatHandler = ChatHandler(groupset) chatHandler.setHandlerParent(w4Comp) discoHandler = disco.DiscoHandler() discoHandler.setHandlerParent(w4Comp) return application
def setUp(self): self.router = component.Router() self.factory = component.XMPPComponentServerFactory( self.router, 'secret') self.xmlstream = self.factory.buildProtocol(None) self.xmlstream.thisEntity = JID('component.example.org')
def setUp(self): self.router = component.Router() self.component = component.InternalComponent(self.router, 'component')
def test_generatedSecret(self): self.router = component.Router() self.service = server.ServerService(self.router, domain='example.org') self.assertEqual(32, len(self.service.secret))