Index: third_party/twisted_8_1/twisted/words/test/test_jabbererror.py |
diff --git a/third_party/twisted_8_1/twisted/words/test/test_jabbererror.py b/third_party/twisted_8_1/twisted/words/test/test_jabbererror.py |
deleted file mode 100644 |
index 9b4643dcd9fc89a8d2b8544b82cf1a1c12dec1c3..0000000000000000000000000000000000000000 |
--- a/third_party/twisted_8_1/twisted/words/test/test_jabbererror.py |
+++ /dev/null |
@@ -1,308 +0,0 @@ |
-# Copyright (c) 2001-2007 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.assertEquals(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.assertEquals(len(element.children), 2) |
- self.assertEquals(unicode(element.text), 'text') |
- self.assertEquals(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.assertEquals(len(element.children), 2) |
- self.assertEquals(unicode(element.text), 'text') |
- self.assertEquals(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.assertEquals(len(element.children), 2) |
- self.assertEquals(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.assertEquals(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.assertEquals(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.assertEquals(NS_XMPP_STREAMS, element.text.uri) |
- |
-class StanzaErrorTest(unittest.TestCase): |
- |
- def test_getElementPlain(self): |
- """ |
- Test getting an element for a plain stanza error. |
- """ |
- e = error.StanzaError('feature-not-implemented') |
- element = e.getElement() |
- self.assertEquals(element.uri, None) |
- self.assertEquals(element['type'], 'cancel') |
- self.assertEquals(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.assertEquals(element.uri, None) |
- self.assertEquals(element['type'], 'auth') |
- self.assertEquals(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.assertEquals(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.assertEquals(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): |
- |
- 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. |
- """ |
- condition = self.error.addElement(('testns', 'condition')) |
- condition2 = self.error.addElement(('testns', 'condition2')) |
- result = error._parseError(self.error, 'errorns') |
- self.assertEqual(condition2, 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.assertEquals('feature-not-implemented', result.condition) |
- self.assertEquals('cancel', result.type) |
- self.assertEquals(uc, result.appCondition) |
- self.assertEquals([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.assertEquals('service-unavailable', result.condition) |
- self.assertEquals('wait', result.type) |
- self.assertEquals('Unable to resolve hostname.', result.text) |
- self.assertEquals([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.assertEquals('xml-not-well-formed', result.condition) |