Update the XEP-0092 plugin to the new style.
This commit is contained in:
69
tests/test_stream_xep_0092.py
Normal file
69
tests/test_stream_xep_0092.py
Normal file
@@ -0,0 +1,69 @@
|
||||
import threading
|
||||
|
||||
from sleekxmpp.test import *
|
||||
|
||||
|
||||
class TestStreamSet(SleekTest):
|
||||
|
||||
def tearDown(self):
|
||||
self.stream_close()
|
||||
|
||||
def testHandleSoftwareVersionRequest(self):
|
||||
self.stream_start(mode='client', plugins=['xep_0030', 'xep_0092'])
|
||||
|
||||
self.xmpp['xep_0092'].name = 'SleekXMPP'
|
||||
self.xmpp['xep_0092'].version = 'dev'
|
||||
self.xmpp['xep_0092'].os = 'Linux'
|
||||
|
||||
self.recv("""
|
||||
<iq type="get" id="1">
|
||||
<query xmlns="jabber:iq:version" />
|
||||
</iq>
|
||||
""")
|
||||
|
||||
self.send("""
|
||||
<iq type="result" id="1">
|
||||
<query xmlns="jabber:iq:version">
|
||||
<name>SleekXMPP</name>
|
||||
<version>dev</version>
|
||||
<os>Linux</os>
|
||||
</query>
|
||||
</iq>
|
||||
""")
|
||||
|
||||
def testMakeSoftwareVersionRequest(self):
|
||||
results = []
|
||||
|
||||
def query():
|
||||
r = self.xmpp['xep_0092'].get_version('foo@bar')
|
||||
results.append(r)
|
||||
|
||||
self.stream_start(mode='client', plugins=['xep_0030', 'xep_0092'])
|
||||
|
||||
t = threading.Thread(target=query)
|
||||
t.start()
|
||||
|
||||
self.send("""
|
||||
<iq type="get" id="1" to="foo@bar">
|
||||
<query xmlns="jabber:iq:version" />
|
||||
</iq>
|
||||
""")
|
||||
|
||||
self.recv("""
|
||||
<iq type="result" id="1" from="foo@bar" to="tester@localhost">
|
||||
<query xmlns="jabber:iq:version">
|
||||
<name>Foo</name>
|
||||
<version>1.0</version>
|
||||
<os>Linux</os>
|
||||
</query>
|
||||
</iq>
|
||||
""")
|
||||
|
||||
t.join()
|
||||
|
||||
expected = [{'name': 'Foo', 'version': '1.0', 'os':'Linux'}]
|
||||
self.assertEqual(results, expected,
|
||||
"Did not receive expected results: %s" % results)
|
||||
|
||||
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamSet)
|
||||
Reference in New Issue
Block a user