1
# Copyright (c) 2001-2006 Twisted Matrix Laboratories.
2
# See LICENSE for details.
4
from twisted.internet import defer
5
from twisted.trial import unittest
6
from twisted.words.protocols.jabber import sasl, xmlstream
7
from twisted.words.xish import domish
9
class SASLInitiatingInitializerTest(unittest.TestCase):
11
def testOnFailure(self):
13
Test that the SASL error condition is correctly extracted.
15
self.authenticator = xmlstream.Authenticator()
16
self.xmlstream = xmlstream.XmlStream(self.authenticator)
17
init = sasl.SASLInitiatingInitializer(self.xmlstream)
18
failure = domish.Element(('urn:ietf:params:xml:ns:xmpp-sasl',
20
failure.addElement('not-authorized')
21
init._deferred = defer.Deferred()
22
init.onFailure(failure)
23
self.assertFailure(init._deferred, sasl.SASLAuthError)
24
init._deferred.addCallback(lambda e:
25
self.assertEquals('not-authorized',