import unittest from slixmpp.test import SlixTest class TestStreamExtendedDisco(SlixTest): """ Test using the XEP-0128 plugin. """ def tearDown(self): self.stream_close() def testUsingExtendedInfo(self): self.stream_start(mode='client', jid='tester@localhost', plugins=['xep_0030', 'xep_0004', 'xep_0128']) form = self.xmpp['xep_0004'].make_form(ftype='result') form.addField(var='FORM_TYPE', ftype='hidden', value='testing') info_ns = 'http://jabber.org/protocol/disco#info' self.xmpp['xep_0030'].add_identity(node='test', category='client', itype='bot') self.xmpp['xep_0030'].add_feature(node='test', feature=info_ns) self.xmpp['xep_0128'].set_extended_info(node='test', data=form) self.recv(""" """) self.send(""" testing """) def testUsingMultipleExtendedInfo(self): self.stream_start(mode='client', jid='tester@localhost', plugins=['xep_0030', 'xep_0004', 'xep_0128']) form1 = self.xmpp['xep_0004'].make_form(ftype='result') form1.addField(var='FORM_TYPE', ftype='hidden', value='testing') form2 = self.xmpp['xep_0004'].make_form(ftype='result') form2.addField(var='FORM_TYPE', ftype='hidden', value='testing_2') info_ns = 'http://jabber.org/protocol/disco#info' self.xmpp['xep_0030'].add_identity(node='test', category='client', itype='bot') self.xmpp['xep_0030'].add_feature(node='test', feature=info_ns) self.xmpp['xep_0128'].set_extended_info(node='test', data=[form1, form2]) self.recv(""" """) self.send(""" testing testing_2 """) suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamExtendedDisco)