From 4b1fadde4bd87a8763131165701c08a3035005eb Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Tue, 22 Mar 2011 20:42:43 -0400 Subject: Updated XEP-0128 plugin to work with the new XEP-0030 plugin. Required fixing a few bugs in StanzaBase related to iterable substanzas. --- tests/test_stream_xep_0128.py | 106 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 tests/test_stream_xep_0128.py (limited to 'tests/test_stream_xep_0128.py') diff --git a/tests/test_stream_xep_0128.py b/tests/test_stream_xep_0128.py new file mode 100644 index 00000000..6fee6556 --- /dev/null +++ b/tests/test_stream_xep_0128.py @@ -0,0 +1,106 @@ +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): + sys.excepthook = sys.__excepthook__ + 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) -- cgit v1.2.3