import unittest from slixmpp import Message from slixmpp.test import SlixTest import slixmpp.plugins.xep_0033 as xep_0033 from slixmpp.xmlstream import register_stanza_plugin class TestAddresses(SlixTest): def setUp(self): register_stanza_plugin(Message, xep_0033.Addresses) def testAddAddress(self): """Testing adding extended stanza address.""" msg = self.Message() msg['addresses'].add_address(atype='to', jid='to@header1.org') self.check(msg, """
""") msg = self.Message() msg['addresses'].add_address(atype='replyto', jid='replyto@header1.org', desc='Reply address') self.check(msg, """
""") def testAddAddresses(self): """Testing adding multiple extended stanza addresses.""" xmlstring = """
""" msg = self.Message() msg['addresses'].set_addresses([ {'type':'replyto', 'jid':'replyto@header1.org', 'desc':'Reply address'}, {'type':'cc', 'jid':'cc@header2.org'}, {'type':'bcc', 'jid':'bcc@header2.org'}]) self.check(msg, xmlstring) msg = self.Message() msg['addresses']['replyto'] = [{'jid':'replyto@header1.org', 'desc':'Reply address'}] msg['addresses']['cc'] = [{'jid':'cc@header2.org'}] msg['addresses']['bcc'] = [{'jid':'bcc@header2.org'}] self.check(msg, xmlstring) def testAddURI(self): """Testing adding URI attribute to extended stanza address.""" msg = self.Message() addr = msg['addresses'].add_address(atype='to', jid='to@header1.org', node='foo') self.check(msg, """
""") addr['uri'] = 'mailto:to@header2.org' self.check(msg, """
""") def testDelivered(self): """Testing delivered attribute of extended stanza addresses.""" xmlstring = """
""" msg = self.Message() addr = msg['addresses'].add_address(jid='to@header1.org', atype='to') self.check(msg, xmlstring % '') addr['delivered'] = True self.check(msg, xmlstring % 'delivered="true"') addr['delivered'] = False self.check(msg, xmlstring % '') suite = unittest.TestLoader().loadTestsFromTestCase(TestAddresses)