import sys
import time
import threading
from sleekxmpp.test import *
from sleekxmpp.xmlstream import ElementBase
class TestStreamExtendedDisco(SleekTest):
"""
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'].makeForm(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'].makeForm(ftype='result')
form1.addField(var='FORM_TYPE', ftype='hidden', value='testing')
form2 = self.xmpp['xep_0004'].makeForm(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)