def test_connectedLogTrafficFalse(self): """ Test raw data functions unset when logTraffic is set to False. """ sm = self.streamManager handler = DummyXMPPHandler() handler.setHandlerParent(sm) xs = xmlstream.XmlStream(xmlstream.Authenticator()) sm._connected(xs) self.assertIdentical(None, xs.rawDataInFn) self.assertIdentical(None, xs.rawDataOutFn)
def setUp(self): authenticator = xmlstream.ConnectAuthenticator('otherhost') authenticator.namespace = 'testns' self.xmlstream = xmlstream.XmlStream(authenticator) self.clock = task.Clock() self.xmlstream._callLater = self.clock.callLater self.xmlstream.makeConnection(proto_helpers.StringTransport()) self.xmlstream.dataReceived( "<stream:stream xmlns:stream='http://etherx.jabber.org/streams' " "xmlns='testns' from='otherhost' version='1.0'>") self.iq = xmlstream.IQ(self.xmlstream, 'get')
def test_disconnectedReason(self): """ A L{STREAM_END_EVENT} results in L{StreamManager} firing the handlers L{connectionLost} methods, passing a L{failure.Failure} reason. """ sm = self.streamManager handler = FailureReasonXMPPHandler() handler.setHandlerParent(sm) xs = xmlstream.XmlStream(xmlstream.Authenticator()) sm._disconnected(failure.Failure(Exception("no reason"))) self.assertEquals(True, handler.gotFailureReason)
def setUp(self): self.output = [] self.authenticator = xmlstream.Authenticator() self.xmlstream = xmlstream.XmlStream(self.authenticator) self.xmlstream.send = self.output.append self.xmlstream.connectionMade() self.xmlstream.dataReceived("<stream:stream xmlns='jabber:client' " "xmlns:stream='http://etherx.jabber.org/streams' " "from='example.com' id='12345' version='1.0'>") self.init = DummySASLInitiatingInitializer(self.xmlstream)
def test_addHandlerConnected(self): """ Adding a handler when connected doesn't call connectionInitialized. """ sm = self.streamManager xs = xmlstream.XmlStream(xmlstream.Authenticator()) sm._connected(xs) handler = DummyXMPPHandler() handler.setHandlerParent(sm) self.assertEquals(1, handler.doneMade) self.assertEquals(0, handler.doneInitialized) self.assertEquals(0, handler.doneLost)
def test_makeConnection(self): """ Test that makeConnection saves the XML stream and calls connectionMade. """ class TestXMPPHandler(xmlstream.XMPPHandler): def connectionMade(self): self.doneMade = True handler = TestXMPPHandler() xs = xmlstream.XmlStream(xmlstream.Authenticator()) handler.makeConnection(xs) self.assertTrue(handler.doneMade) self.assertIdentical(xs, handler.xmlstream)
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 setUp(self): self.outlist = [] authenticator = xmlstream.ConnectAuthenticator('otherhost') authenticator.namespace = 'testns' self.xmlstream = xmlstream.XmlStream(authenticator) self.xmlstream.transport = self self.xmlstream.transport.write = self.outlist.append self.xmlstream.connectionMade() self.xmlstream.dataReceived( "<stream:stream xmlns:stream='http://etherx.jabber.org/streams' " "xmlns='testns' from='otherhost' version='1.0'>") self.iq = xmlstream.IQ(self.xmlstream, type='get')
def test_connected(self): """ Test that protocol handlers have their connectionMade method called when the XML stream is connected. """ sm = self.streamManager handler = DummyXMPPHandler() handler.setHandlerParent(sm) xs = xmlstream.XmlStream(xmlstream.Authenticator()) sm._connected(xs) self.assertEqual(1, handler.doneMade) self.assertEqual(0, handler.doneInitialized) self.assertEqual(0, handler.doneLost)
def setUp(self): self.output = [] self.authenticator = xmlstream.Authenticator() self.authenticator.password = '******' self.xmlstream = xmlstream.XmlStream(self.authenticator) self.xmlstream.namespace = 'test:component' self.xmlstream.send = self.output.append self.xmlstream.connectionMade() self.xmlstream.dataReceived( "<stream:stream xmlns='test:component' " "xmlns:stream='http://etherx.jabber.org/streams' " "from='example.com' id='12345' version='1.0'>") self.init = ComponentInitiatingInitializer(self.xmlstream)
def setUp(self): self.output = [] class MyService(object): pass self.service = MyService() self.service.defaultDomain = self.receiving self.service.domains = [self.receiving, 'pubsub.' + self.receiving] self.service.secret = self.secret self.authenticator = server.XMPPServerListenAuthenticator(self.service) self.xmlstream = xmlstream.XmlStream(self.authenticator) self.xmlstream.send = self.output.append self.xmlstream.transport = StringTransport()
def testOnFailure(self): """ Test that the SASL error condition is correctly extracted. """ self.authenticator = xmlstream.Authenticator() self.xmlstream = xmlstream.XmlStream(self.authenticator) init = sasl.SASLInitiatingInitializer(self.xmlstream) failure = domish.Element( ('urn:ietf:params:xml:ns:xmpp-sasl', 'failure')) failure.addElement('not-authorized') init._deferred = defer.Deferred() init.onFailure(failure) self.assertFailure(init._deferred, sasl.SASLAuthError) init._deferred.addCallback( lambda e: self.assertEquals('not-authorized', e.condition)) return init._deferred
def setUp(self): """ Set up XmlStream and several observers. """ self.gotStreamStart = False self.gotStreamEnd = False self.gotStreamError = False xs = xmlstream.XmlStream(xmlstream.Authenticator()) xs.addObserver('//event/stream/start', self.onStreamStart) xs.addObserver('//event/stream/end', self.onStreamEnd) xs.addObserver('//event/stream/error', self.onStreamError) xs.makeConnection(proto_helpers.StringTransportWithDisconnection()) xs.transport.protocol = xs xs.namespace = 'testns' xs.version = (1, 0) self.xmlstream = xs
def test_addHandlerInitialized(self): """ Test the addition of a protocol handler after the stream have been initialized. Make sure that the handler will have the connected stream passed via C{makeConnection} and have C{connectionInitialized} called. """ sm = self.streamManager xs = xmlstream.XmlStream(xmlstream.Authenticator()) sm._connected(xs) sm._authd(xs) handler = DummyXMPPHandler() handler.setHandlerParent(sm) self.assertEqual(1, handler.doneMade) self.assertEqual(1, handler.doneInitialized) self.assertEqual(0, handler.doneLost)
def testAuth(self): self.authComplete = False outlist = [] ca = component.ConnectComponentAuthenticator(u"cjid", u"secret") xs = xmlstream.XmlStream(ca) xs.transport = DummyTransport(outlist) xs.addObserver(xmlstream.STREAM_AUTHD_EVENT, self.authPassed) # Go... xs.connectionMade() xs.dataReceived(b"<stream:stream xmlns='jabber:component:accept' xmlns:stream='http://etherx.jabber.org/streams' from='cjid' id='12345'>") # Calculate what we expect the handshake value to be hv = sha1(b"12345" + b"secret").hexdigest().encode('ascii') self.assertEqual(outlist[1], b"<handshake>" + hv + b"</handshake>") xs.dataReceived("<handshake/>") self.assertEqual(self.authComplete, True)
def __init__(self): self.output = [] self.xmlstream = xmlstream.XmlStream(xmlstream.Authenticator()) self.xmlstream.send = self.output.append
def setUp(self): self.xmlstream = xmlstream.XmlStream(xmlstream.Authenticator()) self.init = TestFeatureInitializer(self.xmlstream)
def setUp(self): self.authenticator = xmlstream.ListenAuthenticator() self.xmlstream = xmlstream.XmlStream(self.authenticator)
def setUp(self): self.output = [] authenticator = component.ListenComponentAuthenticator('secret') self.xmlstream = xmlstream.XmlStream(authenticator) self.xmlstream.send = self.output.append
def setUp(self): a = xmlstream.Authenticator() xs = xmlstream.XmlStream(a) self.init = client.CheckVersionInitializer(xs)