Allow XEP 0092 to send os information
[slixmpp.git] / tests / test_stanza_message.py
blobf06b0253f63fdbfbca070ce3dc852aa6a25b07ae
1 from sleekxmpp.test import *
2 from sleekxmpp.stanza.message import Message
3 from sleekxmpp.stanza.htmlim import HTMLIM
6 class TestMessageStanzas(SleekTest):
8 def setUp(self):
9 register_stanza_plugin(Message, HTMLIM)
11 def testGroupchatReplyRegression(self):
12 "Regression groupchat reply should be to barejid"
13 msg = self.Message()
14 msg['to'] = 'me@myserver.tld'
15 msg['from'] = 'room@someservice.someserver.tld/somenick'
16 msg['type'] = 'groupchat'
17 msg['body'] = "this is a message"
18 msg.reply()
19 self.failUnless(str(msg['to']) == 'room@someservice.someserver.tld')
21 def testAttribProperty(self):
22 "Test attrib property returning self"
23 msg = self.Message()
24 msg.attrib.attrib.attrib['to'] = 'usr@server.tld'
25 self.failUnless(str(msg['to']) == 'usr@server.tld')
27 def testHTMLPlugin(self):
28 "Test message/html/body stanza"
29 msg = self.Message()
30 msg['to'] = "fritzy@netflint.net/sleekxmpp"
31 msg['body'] = "this is the plaintext message"
32 msg['type'] = 'chat'
33 p = ET.Element('{http://www.w3.org/1999/xhtml}p')
34 p.text = "This is the htmlim message"
35 msg['html']['body'] = p
36 self.check(msg, """
37 <message to="fritzy@netflint.net/sleekxmpp" type="chat">
38 <body>this is the plaintext message</body>
39 <html xmlns="http://jabber.org/protocol/xhtml-im">
40 <body xmlns="http://www.w3.org/1999/xhtml">
41 <p>This is the htmlim message</p>
42 </body>
43 </html>
44 </message>""")
46 def testNickPlugin(self):
47 "Test message/nick/nick stanza."
48 msg = self.Message()
49 msg['nick']['nick'] = 'A nickname!'
50 self.check(msg, """
51 <message>
52 <nick xmlns="http://jabber.org/nick/nick">A nickname!</nick>
53 </message>
54 """)
57 suite = unittest.TestLoader().loadTestsFromTestCase(TestMessageStanzas)