| Index: third_party/twisted_8_1/twisted/words/test/test_jabbersasl.py
|
| diff --git a/third_party/twisted_8_1/twisted/words/test/test_jabbersasl.py b/third_party/twisted_8_1/twisted/words/test/test_jabbersasl.py
|
| deleted file mode 100644
|
| index 81b24848d5f0c41c270a7ce3ef1ecf4991d7c56c..0000000000000000000000000000000000000000
|
| --- a/third_party/twisted_8_1/twisted/words/test/test_jabbersasl.py
|
| +++ /dev/null
|
| @@ -1,171 +0,0 @@
|
| -# Copyright (c) 2001-2007 Twisted Matrix Laboratories.
|
| -# See LICENSE for details.
|
| -
|
| -from zope.interface import implements
|
| -from twisted.internet import defer
|
| -from twisted.trial import unittest
|
| -from twisted.words.protocols.jabber import sasl, sasl_mechanisms, xmlstream
|
| -from twisted.words.xish import domish
|
| -
|
| -NS_XMPP_SASL = 'urn:ietf:params:xml:ns:xmpp-sasl'
|
| -
|
| -class DummySASLMechanism(object):
|
| - """
|
| - Dummy SASL mechanism.
|
| -
|
| - This just returns the initialResponse passed on creation, stores any
|
| - challenges and replies with an empty response.
|
| -
|
| - @ivar challenge: Last received challenge.
|
| - @type challenge: C{unicode}.
|
| - @ivar initialResponse: Initial response to be returned when requested
|
| - via C{getInitialResponse} or C{None}.
|
| - @type initialResponse: C{unicode}
|
| - """
|
| -
|
| - implements(sasl_mechanisms.ISASLMechanism)
|
| -
|
| - challenge = None
|
| - name = "DUMMY"
|
| -
|
| - def __init__(self, initialResponse):
|
| - self.initialResponse = initialResponse
|
| -
|
| - def getInitialResponse(self):
|
| - return self.initialResponse
|
| -
|
| - def getResponse(self, challenge):
|
| - self.challenge = challenge
|
| - return ""
|
| -
|
| -class DummySASLInitiatingInitializer(sasl.SASLInitiatingInitializer):
|
| - """
|
| - Dummy SASL Initializer for initiating entities.
|
| -
|
| - This hardwires the SASL mechanism to L{DummySASLMechanism}, that is
|
| - instantiated with the value of C{initialResponse}.
|
| -
|
| - @ivar initialResponse: The initial response to be returned by the
|
| - dummy SASL mechanism or C{None}.
|
| - @type initialResponse: C{unicode}.
|
| - """
|
| -
|
| - initialResponse = None
|
| -
|
| - def setMechanism(self):
|
| - self.mechanism = DummySASLMechanism(self.initialResponse)
|
| -
|
| -class SASLInitiatingInitializerTest(unittest.TestCase):
|
| -
|
| - 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_onFailure(self):
|
| - """
|
| - Test that the SASL error condition is correctly extracted.
|
| - """
|
| - failure = domish.Element(('urn:ietf:params:xml:ns:xmpp-sasl',
|
| - 'failure'))
|
| - failure.addElement('not-authorized')
|
| - self.init._deferred = defer.Deferred()
|
| - self.init.onFailure(failure)
|
| - self.assertFailure(self.init._deferred, sasl.SASLAuthError)
|
| - self.init._deferred.addCallback(lambda e:
|
| - self.assertEquals('not-authorized',
|
| - e.condition))
|
| - return self.init._deferred
|
| -
|
| - def test_sendAuthInitialResponse(self):
|
| - """
|
| - Test starting authentication with an initial response.
|
| - """
|
| - self.init.initialResponse = "dummy"
|
| - self.init.start()
|
| - auth = self.output[0]
|
| - self.assertEquals(NS_XMPP_SASL, auth.uri)
|
| - self.assertEquals('auth', auth.name)
|
| - self.assertEquals('DUMMY', auth['mechanism'])
|
| - self.assertEquals('ZHVtbXk=', str(auth))
|
| -
|
| - def test_sendAuthNoInitialResponse(self):
|
| - """
|
| - Test starting authentication without an initial response.
|
| - """
|
| - self.init.initialResponse = None
|
| - self.init.start()
|
| - auth = self.output[0]
|
| - self.assertEquals('', str(auth))
|
| -
|
| - def test_sendAuthEmptyInitialResponse(self):
|
| - """
|
| - Test starting authentication where the initial response is empty.
|
| - """
|
| - self.init.initialResponse = ""
|
| - self.init.start()
|
| - auth = self.output[0]
|
| - self.assertEquals('=', str(auth))
|
| -
|
| - def test_onChallenge(self):
|
| - """
|
| - Test receiving a challenge message.
|
| - """
|
| - d = self.init.start()
|
| - challenge = domish.Element((NS_XMPP_SASL, 'challenge'))
|
| - challenge.addContent('bXkgY2hhbGxlbmdl')
|
| - self.init.onChallenge(challenge)
|
| - self.assertEqual('my challenge', self.init.mechanism.challenge)
|
| - self.init.onSuccess(None)
|
| - return d
|
| -
|
| - def test_onChallengeEmpty(self):
|
| - """
|
| - Test receiving an empty challenge message.
|
| - """
|
| - d = self.init.start()
|
| - challenge = domish.Element((NS_XMPP_SASL, 'challenge'))
|
| - self.init.onChallenge(challenge)
|
| - self.assertEqual('', self.init.mechanism.challenge)
|
| - self.init.onSuccess(None)
|
| - return d
|
| -
|
| - def test_onChallengeIllegalPadding(self):
|
| - """
|
| - Test receiving a challenge message with illegal padding.
|
| - """
|
| - d = self.init.start()
|
| - challenge = domish.Element((NS_XMPP_SASL, 'challenge'))
|
| - challenge.addContent('bXkg=Y2hhbGxlbmdl')
|
| - self.init.onChallenge(challenge)
|
| - self.assertFailure(d, sasl.SASLIncorrectEncodingError)
|
| - return d
|
| -
|
| - def test_onChallengeIllegalCharacters(self):
|
| - """
|
| - Test receiving a challenge message with illegal characters.
|
| - """
|
| - d = self.init.start()
|
| - challenge = domish.Element((NS_XMPP_SASL, 'challenge'))
|
| - challenge.addContent('bXkg*Y2hhbGxlbmdl')
|
| - self.init.onChallenge(challenge)
|
| - self.assertFailure(d, sasl.SASLIncorrectEncodingError)
|
| - return d
|
| -
|
| - def test_onChallengeMalformed(self):
|
| - """
|
| - Test receiving a malformed challenge message.
|
| - """
|
| - d = self.init.start()
|
| - challenge = domish.Element((NS_XMPP_SASL, 'challenge'))
|
| - challenge.addContent('a')
|
| - self.init.onChallenge(challenge)
|
| - self.assertFailure(d, sasl.SASLIncorrectEncodingError)
|
| - return d
|
|
|