aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/test/test_jabbererror.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/test/test_jabbererror.py')
-rwxr-xr-xlib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/test/test_jabbererror.py342
1 files changed, 0 insertions, 342 deletions
diff --git a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/test/test_jabbererror.py b/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/test/test_jabbererror.py
deleted file mode 100755
index 45d8dac8..00000000
--- a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/words/test/test_jabbererror.py
+++ /dev/null
@@ -1,342 +0,0 @@
-# Copyright (c) Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-"""
-Tests for L{twisted.words.protocols.jabber.error}.
-"""
-
-from twisted.trial import unittest
-
-from twisted.words.protocols.jabber import error
-from twisted.words.xish import domish
-
-NS_XML = 'http://www.w3.org/XML/1998/namespace'
-NS_STREAMS = 'http://etherx.jabber.org/streams'
-NS_XMPP_STREAMS = 'urn:ietf:params:xml:ns:xmpp-streams'
-NS_XMPP_STANZAS = 'urn:ietf:params:xml:ns:xmpp-stanzas'
-
-class BaseErrorTest(unittest.TestCase):
-
- def test_getElementPlain(self):
- """
- Test getting an element for a plain error.
- """
- e = error.BaseError('feature-not-implemented')
- element = e.getElement()
- self.assertIdentical(element.uri, None)
- self.assertEqual(len(element.children), 1)
-
- def test_getElementText(self):
- """
- Test getting an element for an error with a text.
- """
- e = error.BaseError('feature-not-implemented', 'text')
- element = e.getElement()
- self.assertEqual(len(element.children), 2)
- self.assertEqual(unicode(element.text), 'text')
- self.assertEqual(element.text.getAttribute((NS_XML, 'lang')), None)
-
- def test_getElementTextLang(self):
- """
- Test getting an element for an error with a text and language.
- """
- e = error.BaseError('feature-not-implemented', 'text', 'en_US')
- element = e.getElement()
- self.assertEqual(len(element.children), 2)
- self.assertEqual(unicode(element.text), 'text')
- self.assertEqual(element.text[(NS_XML, 'lang')], 'en_US')
-
- def test_getElementAppCondition(self):
- """
- Test getting an element for an error with an app specific condition.
- """
- ac = domish.Element(('testns', 'myerror'))
- e = error.BaseError('feature-not-implemented', appCondition=ac)
- element = e.getElement()
- self.assertEqual(len(element.children), 2)
- self.assertEqual(element.myerror, ac)
-
-class StreamErrorTest(unittest.TestCase):
-
- def test_getElementPlain(self):
- """
- Test namespace of the element representation of an error.
- """
- e = error.StreamError('feature-not-implemented')
- element = e.getElement()
- self.assertEqual(element.uri, NS_STREAMS)
-
- def test_getElementConditionNamespace(self):
- """
- Test that the error condition element has the correct namespace.
- """
- e = error.StreamError('feature-not-implemented')
- element = e.getElement()
- self.assertEqual(NS_XMPP_STREAMS, getattr(element, 'feature-not-implemented').uri)
-
- def test_getElementTextNamespace(self):
- """
- Test that the error text element has the correct namespace.
- """
- e = error.StreamError('feature-not-implemented', 'text')
- element = e.getElement()
- self.assertEqual(NS_XMPP_STREAMS, element.text.uri)
-
-
-
-class StanzaErrorTest(unittest.TestCase):
- """
- Tests for L{error.StreamError}.
- """
-
-
- def test_typeRemoteServerTimeout(self):
- """
- Remote Server Timeout should yield type wait, code 504.
- """
- e = error.StanzaError('remote-server-timeout')
- self.assertEqual('wait', e.type)
- self.assertEqual('504', e.code)
-
-
- def test_getElementPlain(self):
- """
- Test getting an element for a plain stanza error.
- """
- e = error.StanzaError('feature-not-implemented')
- element = e.getElement()
- self.assertEqual(element.uri, None)
- self.assertEqual(element['type'], 'cancel')
- self.assertEqual(element['code'], '501')
-
-
- def test_getElementType(self):
- """
- Test getting an element for a stanza error with a given type.
- """
- e = error.StanzaError('feature-not-implemented', 'auth')
- element = e.getElement()
- self.assertEqual(element.uri, None)
- self.assertEqual(element['type'], 'auth')
- self.assertEqual(element['code'], '501')
-
-
- def test_getElementConditionNamespace(self):
- """
- Test that the error condition element has the correct namespace.
- """
- e = error.StanzaError('feature-not-implemented')
- element = e.getElement()
- self.assertEqual(NS_XMPP_STANZAS, getattr(element, 'feature-not-implemented').uri)
-
-
- def test_getElementTextNamespace(self):
- """
- Test that the error text element has the correct namespace.
- """
- e = error.StanzaError('feature-not-implemented', text='text')
- element = e.getElement()
- self.assertEqual(NS_XMPP_STANZAS, element.text.uri)
-
-
- def test_toResponse(self):
- """
- Test an error response is generated from a stanza.
-
- The addressing on the (new) response stanza should be reversed, an
- error child (with proper properties) added and the type set to
- C{'error'}.
- """
- stanza = domish.Element(('jabber:client', 'message'))
- stanza['type'] = 'chat'
- stanza['to'] = 'user1@example.com'
- stanza['from'] = 'user2@example.com/resource'
- e = error.StanzaError('service-unavailable')
- response = e.toResponse(stanza)
- self.assertNotIdentical(response, stanza)
- self.assertEqual(response['from'], 'user1@example.com')
- self.assertEqual(response['to'], 'user2@example.com/resource')
- self.assertEqual(response['type'], 'error')
- self.assertEqual(response.error.children[0].name,
- 'service-unavailable')
- self.assertEqual(response.error['type'], 'cancel')
- self.assertNotEqual(stanza.children, response.children)
-
-
-
-class ParseErrorTest(unittest.TestCase):
- """
- Tests for L{error._parseError}.
- """
-
-
- def setUp(self):
- self.error = domish.Element((None, 'error'))
-
-
- def test_empty(self):
- """
- Test parsing of the empty error element.
- """
- result = error._parseError(self.error, 'errorns')
- self.assertEqual({'condition': None,
- 'text': None,
- 'textLang': None,
- 'appCondition': None}, result)
-
-
- def test_condition(self):
- """
- Test parsing of an error element with a condition.
- """
- self.error.addElement(('errorns', 'bad-request'))
- result = error._parseError(self.error, 'errorns')
- self.assertEqual('bad-request', result['condition'])
-
-
- def test_text(self):
- """
- Test parsing of an error element with a text.
- """
- text = self.error.addElement(('errorns', 'text'))
- text.addContent('test')
- result = error._parseError(self.error, 'errorns')
- self.assertEqual('test', result['text'])
- self.assertEqual(None, result['textLang'])
-
-
- def test_textLang(self):
- """
- Test parsing of an error element with a text with a defined language.
- """
- text = self.error.addElement(('errorns', 'text'))
- text[NS_XML, 'lang'] = 'en_US'
- text.addContent('test')
- result = error._parseError(self.error, 'errorns')
- self.assertEqual('en_US', result['textLang'])
-
-
- def test_textLangInherited(self):
- """
- Test parsing of an error element with a text with inherited language.
- """
- text = self.error.addElement(('errorns', 'text'))
- self.error[NS_XML, 'lang'] = 'en_US'
- text.addContent('test')
- result = error._parseError(self.error, 'errorns')
- self.assertEqual('en_US', result['textLang'])
- test_textLangInherited.todo = "xml:lang inheritance not implemented"
-
-
- def test_appCondition(self):
- """
- Test parsing of an error element with an app specific condition.
- """
- condition = self.error.addElement(('testns', 'condition'))
- result = error._parseError(self.error, 'errorns')
- self.assertEqual(condition, result['appCondition'])
-
-
- def test_appConditionMultiple(self):
- """
- Test parsing of an error element with multiple app specific conditions.
- """
- self.error.addElement(('testns', 'condition'))
- condition = self.error.addElement(('testns', 'condition2'))
- result = error._parseError(self.error, 'errorns')
- self.assertEqual(condition, result['appCondition'])
-
-
-
-class ExceptionFromStanzaTest(unittest.TestCase):
-
- def test_basic(self):
- """
- Test basic operations of exceptionFromStanza.
-
- Given a realistic stanza, check if a sane exception is returned.
-
- Using this stanza::
-
- <iq type='error'
- from='pubsub.shakespeare.lit'
- to='francisco@denmark.lit/barracks'
- id='subscriptions1'>
- <pubsub xmlns='http://jabber.org/protocol/pubsub'>
- <subscriptions/>
- </pubsub>
- <error type='cancel'>
- <feature-not-implemented
- xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
- <unsupported xmlns='http://jabber.org/protocol/pubsub#errors'
- feature='retrieve-subscriptions'/>
- </error>
- </iq>
- """
-
- stanza = domish.Element((None, 'stanza'))
- p = stanza.addElement(('http://jabber.org/protocol/pubsub', 'pubsub'))
- p.addElement('subscriptions')
- e = stanza.addElement('error')
- e['type'] = 'cancel'
- e.addElement((NS_XMPP_STANZAS, 'feature-not-implemented'))
- uc = e.addElement(('http://jabber.org/protocol/pubsub#errors',
- 'unsupported'))
- uc['feature'] = 'retrieve-subscriptions'
-
- result = error.exceptionFromStanza(stanza)
- self.assert_(isinstance(result, error.StanzaError))
- self.assertEqual('feature-not-implemented', result.condition)
- self.assertEqual('cancel', result.type)
- self.assertEqual(uc, result.appCondition)
- self.assertEqual([p], result.children)
-
- def test_legacy(self):
- """
- Test legacy operations of exceptionFromStanza.
-
- Given a realistic stanza with only legacy (pre-XMPP) error information,
- check if a sane exception is returned.
-
- Using this stanza::
-
- <message type='error'
- to='piers@pipetree.com/Home'
- from='qmacro@jaber.org'>
- <body>Are you there?</body>
- <error code='502'>Unable to resolve hostname.</error>
- </message>
- """
- stanza = domish.Element((None, 'stanza'))
- p = stanza.addElement('body', content='Are you there?')
- e = stanza.addElement('error', content='Unable to resolve hostname.')
- e['code'] = '502'
-
- result = error.exceptionFromStanza(stanza)
- self.assert_(isinstance(result, error.StanzaError))
- self.assertEqual('service-unavailable', result.condition)
- self.assertEqual('wait', result.type)
- self.assertEqual('Unable to resolve hostname.', result.text)
- self.assertEqual([p], result.children)
-
-class ExceptionFromStreamErrorTest(unittest.TestCase):
-
- def test_basic(self):
- """
- Test basic operations of exceptionFromStreamError.
-
- Given a realistic stream error, check if a sane exception is returned.
-
- Using this error::
-
- <stream:error xmlns:stream='http://etherx.jabber.org/streams'>
- <xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
- </stream:error>
- """
-
- e = domish.Element(('http://etherx.jabber.org/streams', 'error'))
- e.addElement((NS_XMPP_STREAMS, 'xml-not-well-formed'))
-
- result = error.exceptionFromStreamError(e)
- self.assert_(isinstance(result, error.StreamError))
- self.assertEqual('xml-not-well-formed', result.condition)