summaryrefslogtreecommitdiff
path: root/tests/test_messagestanzas.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_messagestanzas.py')
-rw-r--r--tests/test_messagestanzas.py101
1 files changed, 57 insertions, 44 deletions
diff --git a/tests/test_messagestanzas.py b/tests/test_messagestanzas.py
index 08488ce3..2a1567da 100644
--- a/tests/test_messagestanzas.py
+++ b/tests/test_messagestanzas.py
@@ -1,44 +1,57 @@
-import unittest
-from xml.etree import cElementTree as ET
-
-class testmessagestanzas(unittest.TestCase):
-
- def setUp(self):
- import sleekxmpp.stanza.message as m
- from sleekxmpp.basexmpp import stanzaPlugin
- from sleekxmpp.stanza.htmlim import HTMLIM
- stanzaPlugin(m.Message, HTMLIM)
- self.m = m
-
- def testGroupchatReplyRegression(self):
- "Regression groupchat reply should be to barejid"
- msg = self.m.Message()
- msg['to'] = 'me@myserver.tld'
- msg['from'] = 'room@someservice.someserver.tld/somenick'
- msg['type'] = 'groupchat'
- msg['body'] = "this is a message"
- msg.reply()
- self.failUnless(str(msg['to']) == 'room@someservice.someserver.tld')
-
- def testAttribProperty(self):
- "Test attrib property returning self"
- msg = self.m.Message()
- msg.attrib.attrib.attrib['to'] = 'usr@server.tld'
- self.failUnless(str(msg['to']) == 'usr@server.tld')
-
- def testHTMLPlugin(self):
- "Test message/html/html stanza"
- msgtxt = """<message to="fritzy@netflint.net/sleekxmpp" type="chat"><body>this is the plaintext message</body><html xmlns="http://jabber.org/protocol/xhtml-im"><body xmlns="http://www.w3.org/1999/xhtml"><p>This is the htmlim message</p></body></html></message>"""
- msg = self.m.Message()
- msg['to'] = "fritzy@netflint.net/sleekxmpp"
- msg['body'] = "this is the plaintext message"
- msg['type'] = 'chat'
- p = ET.Element('{http://www.w3.org/1999/xhtml}p')
- p.text = "This is the htmlim message"
- msg['html']['html'] = p
- msg2 = self.m.Message()
- values = msg.getValues()
- msg2.setValues(values)
- self.failUnless(msgtxt == str(msg) == str(msg2))
-
-suite = unittest.TestLoader().loadTestsFromTestCase(testmessagestanzas)
+from . sleektest import *
+from sleekxmpp.stanza.message import Message
+from sleekxmpp.stanza.htmlim import HTMLIM
+
+
+class TestMessageStanzas(SleekTest):
+
+ def setUp(self):
+ registerStanzaPlugin(Message, HTMLIM)
+
+ def testGroupchatReplyRegression(self):
+ "Regression groupchat reply should be to barejid"
+ msg = self.Message()
+ msg['to'] = 'me@myserver.tld'
+ msg['from'] = 'room@someservice.someserver.tld/somenick'
+ msg['type'] = 'groupchat'
+ msg['body'] = "this is a message"
+ msg.reply()
+ self.failUnless(str(msg['to']) == 'room@someservice.someserver.tld')
+
+ def testAttribProperty(self):
+ "Test attrib property returning self"
+ msg = self.Message()
+ msg.attrib.attrib.attrib['to'] = 'usr@server.tld'
+ self.failUnless(str(msg['to']) == 'usr@server.tld')
+
+ def testHTMLPlugin(self):
+ "Test message/html/body stanza"
+ msg = self.Message()
+ msg['to'] = "fritzy@netflint.net/sleekxmpp"
+ msg['body'] = "this is the plaintext message"
+ msg['type'] = 'chat'
+ p = ET.Element('{http://www.w3.org/1999/xhtml}p')
+ p.text = "This is the htmlim message"
+ msg['html']['body'] = p
+ self.checkMessage(msg, """
+ <message to="fritzy@netflint.net/sleekxmpp" type="chat">
+ <body>this is the plaintext message</body>
+ <html xmlns="http://jabber.org/protocol/xhtml-im">
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>This is the htmlim message</p>
+ </body>
+ </html>
+ </message>""")
+
+ def testNickPlugin(self):
+ "Test message/nick/nick stanza."
+ msg = self.Message()
+ msg['nick']['nick'] = 'A nickname!'
+ self.checkMessage(msg, """
+ <message>
+ <nick xmlns="http://jabber.org/nick/nick">A nickname!</nick>
+ </message>
+ """)
+
+
+suite = unittest.TestLoader().loadTestsFromTestCase(TestMessageStanzas)