summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2015-02-12 12:23:47 +0100
committermathieui <mathieui@mathieui.net>2015-02-12 12:23:47 +0100
commit1e2665df19a866d5676abec566b9d8f190ecdc80 (patch)
tree9fe2f0c501d376291f3d9efc3e9550b34afbf6c7
parent4d063e287e1bb2010d115325a3c8c6ca7c542bfc (diff)
downloadslixmpp-1e2665df19a866d5676abec566b9d8f190ecdc80.tar.gz
slixmpp-1e2665df19a866d5676abec566b9d8f190ecdc80.tar.bz2
slixmpp-1e2665df19a866d5676abec566b9d8f190ecdc80.tar.xz
slixmpp-1e2665df19a866d5676abec566b9d8f190ecdc80.zip
Update the test suite.
- monkey-patch our own monkey-patched idle_call to run events immediatly rather than adding them to the event queue, and add a fake transport with a fake socket. - remove the test file related to xep_0059 as it relies on blocking behavior, and comment out one xep_0030 test uses xep_0059 - remove many instances of threading and sleep()s because they do nothing except waste time and introduce race conditions. - keep exactly two sleep() in IoT xeps because they rely on timeouts
-rw-r--r--slixmpp/test/__init__.py2
-rw-r--r--slixmpp/test/mocksocket.py89
-rw-r--r--slixmpp/test/slixtest.py106
-rw-r--r--tests/test_events.py12
-rw-r--r--tests/test_stanza_base.py2
-rw-r--r--tests/test_stanza_iq.py2
-rw-r--r--tests/test_stanza_message.py2
-rw-r--r--tests/test_stanza_xep_0047.py2
-rw-r--r--tests/test_stream.py21
-rw-r--r--tests/test_stream_exceptions.py65
-rw-r--r--tests/test_stream_filters.py2
-rw-r--r--tests/test_stream_handlers.py70
-rw-r--r--tests/test_stream_presence.py13
-rw-r--r--tests/test_stream_roster.py59
-rw-r--r--tests/test_stream_xep_0030.py22
-rw-r--r--tests/test_stream_xep_0047.py36
-rw-r--r--tests/test_stream_xep_0050.py15
-rw-r--r--tests/test_stream_xep_0059.py163
-rw-r--r--tests/test_stream_xep_0060.py123
-rw-r--r--tests/test_stream_xep_0066.py11
-rw-r--r--tests/test_stream_xep_0085.py2
-rw-r--r--tests/test_stream_xep_0092.py14
-rw-r--r--tests/test_stream_xep_0249.py2
-rw-r--r--tests/test_stream_xep_0323.py52
-rw-r--r--tests/test_stream_xep_0325.py8
25 files changed, 211 insertions, 684 deletions
diff --git a/slixmpp/test/__init__.py b/slixmpp/test/__init__.py
index 0804e4aa..0244afe3 100644
--- a/slixmpp/test/__init__.py
+++ b/slixmpp/test/__init__.py
@@ -6,6 +6,6 @@
See the file LICENSE for copying permission.
"""
-from slixmpp.test.mocksocket import TestSocket
+from slixmpp.test.mocksocket import TestSocket, TestTransport
from slixmpp.test.livesocket import TestLiveSocket
from slixmpp.test.slixtest import *
diff --git a/slixmpp/test/mocksocket.py b/slixmpp/test/mocksocket.py
index 79961279..9583231e 100644
--- a/slixmpp/test/mocksocket.py
+++ b/slixmpp/test/mocksocket.py
@@ -150,3 +150,92 @@ class TestSocket(object):
return self.recv_queue.get(block, timeout)
except:
return None
+
+class TestTransport(object):
+
+ """
+ A transport socket that reads and writes to queues instead
+ of an actual networking socket.
+
+ Methods:
+ next_sent -- Return the next sent stanza.
+ recv_data -- Make a stanza available to read next.
+ recv -- Read the next stanza from the socket.
+ send -- Write a stanza to the socket.
+ makefile -- Dummy call, returns self.
+ read -- Read the next stanza from the socket.
+ """
+
+ def __init__(self, xmpp):
+ self.xmpp = xmpp
+ self.socket = TestSocket()
+ # ------------------------------------------------------------------
+ # Testing Interface
+
+ def next_sent(self, timeout=None):
+ """
+ Get the next stanza that has been 'sent'.
+
+ Arguments:
+ timeout -- Optional timeout for waiting for a new value.
+ """
+ return self.socket.next_sent()
+
+ def disconnect_error(self):
+ """
+ Simulate a disconnect error by raising a socket.error exception
+ for any current or further socket operations.
+ """
+ self.socket.disconnect_error()
+
+ # ------------------------------------------------------------------
+ # Socket Interface
+
+ def recv(self, *args, **kwargs):
+ """
+ Read a value from the received queue.
+
+ Arguments:
+ Placeholders. Same as for socket.Socket.recv.
+ """
+ return
+
+ def write(self, data):
+ """
+ Send data by placing it in the send queue.
+
+ Arguments:
+ data -- String value to write.
+ """
+ self.socket.send(data)
+ return len(data)
+
+ # ------------------------------------------------------------------
+ # File Socket
+
+ def makefile(self, *args, **kwargs):
+ """
+ File socket version to use with ElementTree.
+
+ Arguments:
+ Placeholders, same as socket.Socket.makefile()
+ """
+ return self
+
+ def read(self, block=True, timeout=None, **kwargs):
+ """
+ Implement the file socket interface.
+
+ Arguments:
+ block -- Indicate if the read should block until a
+ value is ready.
+ timeout -- Time in seconds a block should last before
+ returning None.
+ """
+ return self.socket.recv(block, timeout, **kwargs)
+
+ def get_extra_info(self, *args, **kwargs):
+ return self.socket
+
+ def abort(self, *args, **kwargs):
+ return
diff --git a/slixmpp/test/slixtest.py b/slixmpp/test/slixtest.py
index 4f14d721..36d880a1 100644
--- a/slixmpp/test/slixtest.py
+++ b/slixmpp/test/slixtest.py
@@ -10,15 +10,19 @@ import unittest
from queue import Queue
from xml.parsers.expat import ExpatError
+from slixmpp.test import TestTransport
from slixmpp import ClientXMPP, ComponentXMPP
from slixmpp.stanza import Message, Iq, Presence
-from slixmpp.test import TestSocket, TestLiveSocket
from slixmpp.xmlstream import ET
from slixmpp.xmlstream import ElementBase
from slixmpp.xmlstream.tostring import tostring
from slixmpp.xmlstream.matcher import StanzaPath, MatcherId, MatchIDSender
from slixmpp.xmlstream.matcher import MatchXMLMask, MatchXPath
+import asyncio
+cls = asyncio.get_event_loop().__class__
+
+cls.idle_call = lambda self, callback: callback()
class SlixTest(unittest.TestCase):
@@ -326,41 +330,27 @@ class SlixTest(unittest.TestCase):
else:
raise ValueError("Unknown XMPP connection mode.")
+ self.xmpp.connection_made(TestTransport(self.xmpp))
+ self.xmpp.session_bind_event.set()
# Remove unique ID prefix to make it easier to test
self.xmpp._id_prefix = ''
- self.xmpp._disconnect_wait_for_threads = False
self.xmpp.default_lang = None
self.xmpp.peer_default_lang = None
- # We will use this to wait for the session_start event
- # for live connections.
- skip_queue = Queue()
+ # Simulate connecting for mock sockets.
+ self.xmpp.auto_reconnect = False
- if socket == 'mock':
- self.xmpp.set_socket(TestSocket())
+ # Must have the stream header ready for xmpp.process() to work.
+ if not header:
+ header = self.xmpp.stream_header
- # Simulate connecting for mock sockets.
- self.xmpp.auto_reconnect = False
- self.xmpp.state._set_state('connected')
+ self.xmpp.data_received(header)
- # Must have the stream header ready for xmpp.process() to work.
- if not header:
- header = self.xmpp.stream_header
- self.xmpp.socket.recv_data(header)
- elif socket == 'live':
- self.xmpp.socket_class = TestLiveSocket
+ if skip:
+ self.xmpp.socket.next_sent()
+ if mode == 'component':
+ self.xmpp.socket.next_sent()
- def wait_for_session(x):
- self.xmpp.socket.clear()
- skip_queue.put('started')
-
- self.xmpp.add_event_handler('session_start', wait_for_session)
- if server is not None:
- self.xmpp.connect((server, port))
- else:
- self.xmpp.connect()
- else:
- raise ValueError("Unknown socket type.")
if plugins is None:
self.xmpp.register_plugins()
@@ -372,19 +362,6 @@ class SlixTest(unittest.TestCase):
# this to True in tests related to those plugins.
self.xmpp.use_message_ids = False
- self.xmpp.process(threaded=True)
- if skip:
- if socket != 'live':
- # Mark send queue as usable
- self.xmpp.session_bind_event.set()
- self.xmpp.session_started_event.set()
- # Clear startup stanzas
- self.xmpp.socket.next_sent(timeout=1)
- if mode == 'component':
- self.xmpp.socket.next_sent(timeout=1)
- else:
- skip_queue.get(block=True, timeout=10)
-
def make_header(self, sto='',
sfrom='',
sid='',
@@ -447,24 +424,7 @@ class SlixTest(unittest.TestCase):
timeout -- Time to wait in seconds for data to be received by
a live connection.
"""
- if self.xmpp.socket.is_live:
- # we are working with a live connection, so we should
- # verify what has been received instead of simulating
- # receiving data.
- recv_data = self.xmpp.socket.next_recv(timeout)
- if recv_data is None:
- self.fail("No stanza was received.")
- xml = self.parse_xml(recv_data)
- self.fix_namespaces(xml, 'jabber:client')
- stanza = self.xmpp._build_stanza(xml, 'jabber:client')
- self.check(stanza, data,
- method=method,
- defaults=defaults,
- use_values=use_values)
- else:
- # place the data in the dummy socket receiving queue.
- data = str(data)
- self.xmpp.socket.recv_data(data)
+ self.xmpp.data_received(data)
def recv_header(self, sto='',
sfrom='',
@@ -522,7 +482,7 @@ class SlixTest(unittest.TestCase):
if list(recv_xml):
# We received more than just the header
for xml in recv_xml:
- self.xmpp.socket.recv_data(tostring(xml))
+ self.xmpp.data_received(tostring(xml))
attrib = recv_xml.attrib
recv_xml.clear()
@@ -540,31 +500,7 @@ class SlixTest(unittest.TestCase):
if method is None and hasattr(self, 'match_method'):
method = getattr(self, 'match_method')
- if self.xmpp.socket.is_live:
- # we are working with a live connection, so we should
- # verify what has been received instead of simulating
- # receiving data.
- recv_data = self.xmpp.socket.next_recv(timeout)
- xml = self.parse_xml(data)
- recv_xml = self.parse_xml(recv_data)
- if recv_data is None:
- self.fail("No stanza was received.")
- if method == 'exact':
- self.failUnless(self.compare(xml, recv_xml),
- "Features do not match.\nDesired:\n%s\nReceived:\n%s" % (
- tostring(xml), tostring(recv_xml)))
- elif method == 'mask':
- matcher = MatchXMLMask(xml)
- self.failUnless(matcher.match(recv_xml),
- "Stanza did not match using %s method:\n" % method + \
- "Criteria:\n%s\n" % tostring(xml) + \
- "Stanza:\n%s" % tostring(recv_xml))
- else:
- raise ValueError("Uknown matching method: %s" % method)
- else:
- # place the data in the dummy socket receiving queue.
- data = str(data)
- self.xmpp.socket.recv_data(data)
+ self.xmpp.socket.data_received(data)
def send_header(self, sto='',
sfrom='',
@@ -682,7 +618,7 @@ class SlixTest(unittest.TestCase):
that the XMPP client is disconnected after an error.
"""
if hasattr(self, 'xmpp') and self.xmpp is not None:
- self.xmpp.socket.recv_data(self.xmpp.stream_footer)
+ self.xmpp.data_received(self.xmpp.stream_footer)
self.xmpp.disconnect()
# ------------------------------------------------------------------
diff --git a/tests/test_events.py b/tests/test_events.py
index 9b9955ee..65494d80 100644
--- a/tests/test_events.py
+++ b/tests/test_events.py
@@ -22,9 +22,6 @@ class TestEvents(SlixTest):
self.xmpp.event("test_event")
self.xmpp.event("test_event")
- # Give the event queue time to process.
- time.sleep(0.1)
-
msg = "Event was not triggered the correct number of times: %s"
self.failUnless(happened == [True, True], msg)
@@ -43,9 +40,6 @@ class TestEvents(SlixTest):
# Should not trigger because it was deleted
self.xmpp.event("test_event", {})
- # Give the event queue time to process.
- time.sleep(0.1)
-
msg = "Event was not triggered the correct number of times: %s"
self.failUnless(happened == [True], msg % happened)
@@ -66,9 +60,6 @@ class TestEvents(SlixTest):
self.xmpp.add_event_handler("test_event", handletestevent)
self.xmpp.event("test_event", {})
- # Give the event queue time to process.
- time.sleep(0.1)
-
msg = "Event was not triggered the correct number of times: %s"
self.failUnless(happened == [True, True], msg % happened)
@@ -86,9 +77,6 @@ class TestEvents(SlixTest):
# Should not trigger because it was deleted
self.xmpp.event("test_event", {})
- # Give the event queue time to process.
- time.sleep(0.1)
-
msg = "Event was not triggered the correct number of times: %s"
self.failUnless(happened == [True], msg % happened)
diff --git a/tests/test_stanza_base.py b/tests/test_stanza_base.py
index 12081f42..dac3f046 100644
--- a/tests/test_stanza_base.py
+++ b/tests/test_stanza_base.py
@@ -61,7 +61,7 @@ class TestStanzaBase(SlixTest):
stanza['from'] = "sender@example.com"
stanza['payload'] = ET.Element("{foo}foo")
- stanza.reply()
+ stanza = stanza.reply()
self.failUnless(str(stanza['to'] == "sender@example.com"),
"Stanza reply did not change 'to' attribute.")
diff --git a/tests/test_stanza_iq.py b/tests/test_stanza_iq.py
index f6921df8..0b248da6 100644
--- a/tests/test_stanza_iq.py
+++ b/tests/test_stanza_iq.py
@@ -82,7 +82,7 @@ class TestIqStanzas(SlixTest):
iq = self.Iq()
iq['to'] = 'user@localhost'
iq['type'] = 'get'
- iq.reply()
+ iq = iq.reply()
self.check(iq, """
<iq id="0" type="result" />
diff --git a/tests/test_stanza_message.py b/tests/test_stanza_message.py
index c7b6f7e6..68c78dab 100644
--- a/tests/test_stanza_message.py
+++ b/tests/test_stanza_message.py
@@ -17,7 +17,7 @@ class TestMessageStanzas(SlixTest):
msg['from'] = 'room@someservice.someserver.tld/somenick'
msg['type'] = 'groupchat'
msg['body'] = "this is a message"
- msg.reply()
+ msg = msg.reply()
self.failUnless(str(msg['to']) == 'room@someservice.someserver.tld')
def testAttribProperty(self):
diff --git a/tests/test_stanza_xep_0047.py b/tests/test_stanza_xep_0047.py
index dffa7561..12283136 100644
--- a/tests/test_stanza_xep_0047.py
+++ b/tests/test_stanza_xep_0047.py
@@ -86,7 +86,7 @@ class TestIBB(SlixTest):
self.check(iq, """
<iq type="set">
- <data xmlns="http://jabber.org/protocol/ibb" seq="0">c2xlZWt4bXBw</data>
+ <data xmlns="http://jabber.org/protocol/ibb" seq="0">c2xpeG1wcA==</data>
</iq>
""")
diff --git a/tests/test_stream.py b/tests/test_stream.py
index 85f22c56..0476039c 100644
--- a/tests/test_stream.py
+++ b/tests/test_stream.py
@@ -16,7 +16,7 @@ class TestStreamTester(SlixTest):
self.stream_start(mode='client')
def echo(msg):
- msg.reply('Thanks for sending: %(body)s' % msg).send()
+ msg.reply('Thanks for sending: %s' % msg['body']).send()
self.xmpp.add_event_handler('message', echo)
@@ -58,23 +58,4 @@ class TestStreamTester(SlixTest):
self.stream_start(mode='client', skip=False)
self.send_header(sto='localhost')
- def testStreamDisconnect(self):
- """Test that the test socket can simulate disconnections."""
- self.stream_start()
- events = set()
-
- def stream_error(event):
- events.add('socket_error')
-
- self.xmpp.add_event_handler('socket_error', stream_error)
-
- self.stream_disconnect()
- self.xmpp.send_raw(' ')
-
- time.sleep(.1)
-
- self.failUnless('socket_error' in events,
- "Stream error event not raised: %s" % events)
-
-
suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamTester)
diff --git a/tests/test_stream_exceptions.py b/tests/test_stream_exceptions.py
index 049060e8..f21f197e 100644
--- a/tests/test_stream_exceptions.py
+++ b/tests/test_stream_exceptions.py
@@ -13,40 +13,11 @@ class TestStreamExceptions(SlixTest):
def tearDown(self):
self.stream_close()
- def testExceptionReply(self):
- """Test that raising an exception replies with the original stanza."""
-
- def message(msg):
- msg.reply()
- msg['body'] = 'Body changed'
- raise XMPPError(clear=False)
-
- self.stream_start()
- self.xmpp.add_event_handler('message', message)
-
- self.recv("""
- <message>
- <body>This is going to cause an error.</body>
- </message>
- """)
-
- self.send("""
- <message type="error">
- <body>This is going to cause an error.</body>
- <error type="cancel" code="500">
- <undefined-condition
- xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
- </error>
- </message>
- """)
-
def testExceptionContinueWorking(self):
"""Test that Slixmpp continues to respond after an XMPPError is raised."""
def message(msg):
- msg.reply()
- msg['body'] = 'Body changed'
- raise XMPPError(clear=False)
+ raise XMPPError(clear=True)
self.stream_start()
self.xmpp.add_event_handler('message', message)
@@ -59,7 +30,6 @@ class TestStreamExceptions(SlixTest):
self.send("""
<message type="error">
- <body>This is going to cause an error.</body>
<error type="cancel" code="500">
<undefined-condition
xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
@@ -75,7 +45,6 @@ class TestStreamExceptions(SlixTest):
self.send("""
<message type="error">
- <body>This is going to cause an error.</body>
<error type="cancel" code="500">
<undefined-condition
xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
@@ -151,38 +120,8 @@ class TestStreamExceptions(SlixTest):
</iq>
""", use_values=False)
- def testThreadedXMPPErrorException(self):
- """Test raising an XMPPError exception in a threaded handler."""
-
- def message(msg):
- raise XMPPError(condition='feature-not-implemented',
- text="We don't do things that way here.",
- etype='cancel')
-
- self.stream_start()
- self.xmpp.add_event_handler('message', message,
- threaded=True)
-
- self.recv("""
- <message>
- <body>This is going to cause an error.</body>
- </message>
- """)
-
- self.send("""
- <message type="error">
- <error type="cancel" code="501">
- <feature-not-implemented
- xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
- <text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">
- We don&apos;t do things that way here.
- </text>
- </error>
- </message>
- """)
-
def testUnknownException(self):
- """Test raising an generic exception in a threaded handler."""
+ """Test raising an generic exception in a handler."""
raised_errors = []
diff --git a/tests/test_stream_filters.py b/tests/test_stream_filters.py
index dda68bc9..c5fde338 100644
--- a/tests/test_stream_filters.py
+++ b/tests/test_stream_filters.py
@@ -47,8 +47,6 @@ class TestFilters(SlixTest):
</message>
""")
- time.sleep(0.5)
-
self.assertEqual(data, ['', 'testing filter'],
'Incoming filter did not apply %s' % data)
diff --git a/tests/test_stream_handlers.py b/tests/test_stream_handlers.py
index 61cb68a7..24b5c1a6 100644
--- a/tests/test_stream_handlers.py
+++ b/tests/test_stream_handlers.py
@@ -48,15 +48,15 @@ class TestHandlers(SlixTest):
iq['id'] = 'test'
iq['type'] = 'set'
iq['query'] = 'test'
- reply = iq.send(block=True)
- if reply:
+ def callback_waiter(result):
self.xmpp.send_raw("""
<message>
<body>Successful: %s</body>
</message>
- """ % reply['query'])
+ """ % result['query'])
+ iq.send(callback=callback_waiter)
- self.xmpp.add_event_handler('message', waiter_handler, threaded=True)
+ self.xmpp.add_event_handler('message', waiter_handler)
# Send message to trigger waiter_handler
self.recv("""
@@ -93,11 +93,11 @@ class TestHandlers(SlixTest):
iq['type'] = 'set'
iq['query'] = 'test2'
try:
- reply = iq.send(block=True, timeout=0)
+ reply = iq.send(timeout=0)
except IqTimeout:
pass
- self.xmpp.add_event_handler('message', waiter_handler, threaded=True)
+ self.xmpp.add_event_handler('message', waiter_handler)
# Start test by triggerig waiter_handler
self.recv("""<message><body>Start Test</body></message>""")
@@ -109,9 +109,6 @@ class TestHandlers(SlixTest):
iq['query'] = 'test2'
self.send(iq)
- # Give the event queue time to process.
- time.sleep(0.1)
-
# Check that the waiter is no longer registered
waiter_exists = self.xmpp.remove_handler('IqWait_test2')
@@ -148,41 +145,9 @@ class TestHandlers(SlixTest):
</iq>
""")
- # Give event queue time to process
- time.sleep(0.1)
-
self.failUnless(events == ['foo'],
"Iq callback was not executed: %s" % events)
- def testIqTimeoutCallback(self):
- """Test that iq.send(tcallback=handle_foo, timeout_callback=handle_timeout) works."""
- events = []
-
- def handle_foo(iq):
- events.append('foo')
-
- def handle_timeout(iq):
- events.append('timeout')
-
- iq = self.Iq()
- iq['type'] = 'get'
- iq['id'] = 'test-foo'
- iq['to'] = 'user@localhost'
- iq['query'] = 'foo'
- iq.send(callback=handle_foo, timeout_callback=handle_timeout, timeout=0.05)
-
- self.send("""
- <iq type="get" id="test-foo" to="user@localhost">
- <query xmlns="foo" />
- </iq>
- """)
-
- # Give event queue time to process
- time.sleep(1)
-
- self.failUnless(events == ['timeout'],
- "Iq timeout was not executed: %s" % events)
-
def testMultipleHandlersForStanza(self):
"""
Test that multiple handlers for a single stanza work
@@ -235,18 +200,15 @@ class TestHandlers(SlixTest):
events = []
- def run_test():
- # Check that Iq was sent by waiter_handler
- iq = self.Iq()
- iq['id'] = 'test'
- iq['to'] = 'tester@slixmpp.com/test'
- iq['type'] = 'set'
- iq['query'] = 'test'
- result = iq.send()
+ def callback(result):
events.append(result['from'].full)
- t = threading.Thread(name="sender_test", target=run_test)
- t.start()
+ iq = self.Iq()
+ iq['id'] = 'test'
+ iq['to'] = 'tester@slixmpp.com/test'
+ iq['type'] = 'set'
+ iq['query'] = 'test'
+ iq.send(callback=callback)
self.recv("""
<iq id="test" from="evil@slixmpp.com/bad" type="result">
@@ -271,13 +233,7 @@ class TestHandlers(SlixTest):
</iq>
""")
- t.join()
-
- time.sleep(0.1)
-
self.assertEqual(events, ['tester@slixmpp.com/test'], "Did not timeout on bad sender")
-
-
suite = unittest.TestLoader().loadTestsFromTestCase(TestHandlers)
diff --git a/tests/test_stream_presence.py b/tests/test_stream_presence.py
index d7394b4b..ea2337a2 100644
--- a/tests/test_stream_presence.py
+++ b/tests/test_stream_presence.py
@@ -38,9 +38,6 @@ class TestStreamPresence(SlixTest):
to="tester@localhost"/>
""")
- # Give event queue time to process.
- time.sleep(0.1)
-
self.assertEqual(events, set(('unavailable',)),
"Got offline incorrectly triggered: %s." % events)
@@ -83,9 +80,6 @@ class TestStreamPresence(SlixTest):
type="unavailable" />
""")
- # Give event queue time to process.
- time.sleep(0.1)
-
self.assertEqual(events, ['got_offline'],
"Got offline incorrectly triggered: %s" % events)
@@ -108,9 +102,6 @@ class TestStreamPresence(SlixTest):
to="tester@localhost" />
""")
- # Give event queue time to process.
- time.sleep(0.1)
-
expected = set(('presence_available', 'got_online'))
self.assertEqual(events, expected,
"Incorrect events triggered: %s" % events)
@@ -242,8 +233,6 @@ class TestStreamPresence(SlixTest):
<presence type="unsubscribed" />
""")
- time.sleep(.5)
-
self.assertEqual(events, ptypes,
"Not all events raised: %s" % events)
@@ -364,8 +353,6 @@ class TestStreamPresence(SlixTest):
</presence>
""")
- time.sleep(0.3)
-
self.assertEqual(events, ['available', 'away', 'dnd', 'chat',
'xa', 'unavailable', 'available',
'available', 'dnd'],
diff --git a/tests/test_stream_roster.py b/tests/test_stream_roster.py
index a9aa15e1..6a171ce7 100644
--- a/tests/test_stream_roster.py
+++ b/tests/test_stream_roster.py
@@ -24,9 +24,7 @@ class TestStreamRoster(SlixTest):
self.xmpp.add_event_handler('roster_update', roster_updates.append)
- # Since get_roster blocks, we need to run it in a thread.
- t = threading.Thread(name='get_roster', target=self.xmpp.get_roster)
- t.start()
+ self.xmpp.get_roster()
self.send("""
<iq type="get" id="1">
@@ -47,12 +45,6 @@ class TestStreamRoster(SlixTest):
</iq>
""")
- # Wait for get_roster to return.
- t.join()
-
- # Give the event queue time to process.
- time.sleep(.1)
-
self.check_roster('tester@localhost', 'user@localhost',
name='User',
subscription='from',
@@ -96,8 +88,6 @@ class TestStreamRoster(SlixTest):
subscription='both',
groups=['Friends', 'Examples'])
- # Give the event queue time to process.
- time.sleep(.1)
self.failUnless('roster_update' in events,
"Roster updated event not triggered: %s" % events)
@@ -170,16 +160,6 @@ class TestStreamRoster(SlixTest):
</iq>
""")
- def testRosterTimeout(self):
- """Test handling a timed out roster request."""
- self.stream_start()
-
- def do_test():
- self.xmpp.get_roster(timeout=0)
- time.sleep(.1)
-
- self.assertRaises(IqTimeout, do_test)
-
def testRosterCallback(self):
"""Test handling a roster request callback."""
self.stream_start()
@@ -188,12 +168,7 @@ class TestStreamRoster(SlixTest):
def roster_callback(iq):
events.append('roster_callback')
- # Since get_roster blocks, we need to run it in a thread.
- t = threading.Thread(name='get_roster',
- target=self.xmpp.get_roster,
- kwargs={str('block'): False,
- str('callback'): roster_callback})
- t.start()
+ self.xmpp.get_roster(callback=roster_callback)
self.send("""
<iq type="get" id="1">
@@ -213,12 +188,6 @@ class TestStreamRoster(SlixTest):
</iq>
""")
- # Wait for get_roster to return.
- t.join()
-
- # Give the event queue time to process.
- time.sleep(.1)
-
self.failUnless(events == ['roster_callback'],
"Roster timeout event not triggered: %s." % events)
@@ -235,9 +204,6 @@ class TestStreamRoster(SlixTest):
</iq>
""")
- # Give the event queue time to process.
- time.sleep(.1)
-
self.check_roster('tester@localhost', 'andré@foo',
subscription='both',
groups=['Unicode'])
@@ -253,9 +219,6 @@ class TestStreamRoster(SlixTest):
</presence>
""")
- # Give the event queue time to process.
- time.sleep(.1)
-
result = self.xmpp.client_roster['andré@foo'].resources
expected = {'bar': {'status':'Testing',
'show':'away',
@@ -298,8 +261,8 @@ class TestStreamRoster(SlixTest):
self.stream_start()
self.assertTrue('rosterver' not in self.xmpp.features)
- t = threading.Thread(name='get_roster', target=self.xmpp.get_roster)
- t.start()
+ self.xmpp.get_roster()
+
self.send("""
<iq type="get" id="1">
<query xmlns="jabber:iq:roster" />
@@ -309,16 +272,14 @@ class TestStreamRoster(SlixTest):
<iq to="tester@localhost" type="result" id="1" />
""")
- t.join()
-
def testBootstrapRosterVer(self):
"""Test bootstrapping with roster versioning."""
self.stream_start()
self.xmpp.features.add('rosterver')
self.xmpp.client_roster.version = ''
- t = threading.Thread(name='get_roster', target=self.xmpp.get_roster)
- t.start()
+ self.xmpp.get_roster()
+
self.send("""
<iq type="get" id="1">
<query xmlns="jabber:iq:roster" ver="" />
@@ -328,8 +289,6 @@ class TestStreamRoster(SlixTest):
<iq to="tester@localhost" type="result" id="1" />
""")
- t.join()
-
def testExistingRosterVer(self):
"""Test using a stored roster version."""
@@ -337,8 +296,8 @@ class TestStreamRoster(SlixTest):
self.xmpp.features.add('rosterver')
self.xmpp.client_roster.version = '42'
- t = threading.Thread(name='get_roster', target=self.xmpp.get_roster)
- t.start()
+ self.xmpp.get_roster()
+
self.send("""
<iq type="get" id="1">
<query xmlns="jabber:iq:roster" ver="42" />
@@ -348,7 +307,5 @@ class TestStreamRoster(SlixTest):
<iq to="tester@localhost" type="result" id="1" />
""")
- t.join()
-
suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamRoster)
diff --git a/tests/test_stream_xep_0030.py b/tests/test_stream_xep_0030.py
index 98d51618..f85dfaea 100644
--- a/tests/test_stream_xep_0030.py
+++ b/tests/test_stream_xep_0030.py
@@ -288,10 +288,7 @@ class TestStreamDisco(SlixTest):
self.xmpp.add_event_handler('disco_info', handle_disco_info)
- t = threading.Thread(name="get_info",
- target=self.xmpp['xep_0030'].get_info,
- args=('user@localhost', 'foo'))
- t.start()
+ self.xmpp['xep_0030'].get_info('user@localhost', 'foo')
self.send("""
<iq type="get" to="user@localhost" id="1">
@@ -310,11 +307,6 @@ class TestStreamDisco(SlixTest):
</iq>
""")
- # Wait for disco#info request to be received.
- t.join()
-
- time.sleep(0.1)
-
self.assertEqual(events, set(('disco_info',)),
"Disco info event was not triggered: %s" % events)
@@ -491,10 +483,7 @@ class TestStreamDisco(SlixTest):
self.xmpp.add_event_handler('disco_items', handle_disco_items)
- t = threading.Thread(name="get_items",
- target=self.xmpp['xep_0030'].get_items,
- args=('user@localhost', 'foo'))
- t.start()
+ self.xmpp['xep_0030'].get_items('user@localhost', 'foo')
self.send("""
<iq type="get" to="user@localhost" id="1">
@@ -513,11 +502,6 @@ class TestStreamDisco(SlixTest):
</iq>
""")
- # Wait for disco#items request to be received.
- t.join()
-
- time.sleep(0.1)
-
items = set([('user@localhost', 'bar', 'Test'),
('user@localhost', 'baz', 'Test 2')])
self.assertEqual(events, set(('disco_items',)),
@@ -525,6 +509,7 @@ class TestStreamDisco(SlixTest):
self.assertEqual(results, items,
"Unexpected items: %s" % results)
+ '''
def testGetItemsIterator(self):
"""Test interaction between XEP-0030 and XEP-0059 plugins."""
@@ -571,6 +556,7 @@ class TestStreamDisco(SlixTest):
self.assertEqual(raised_exceptions, [True],
"StopIteration was not raised: %s" % raised_exceptions)
+ '''
suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamDisco)
diff --git a/tests/test_stream_xep_0047.py b/tests/test_stream_xep_0047.py
index fd64e898..2cc43823 100644
--- a/tests/test_stream_xep_0047.py
+++ b/tests/test_stream_xep_0047.py
@@ -24,11 +24,8 @@ class TestInBandByteStreams(SlixTest):
self.xmpp.add_event_handler('ibb_stream_start', on_stream_start)
- t = threading.Thread(name='open_stream',
- target=self.xmpp['xep_0047'].open_stream,
- args=('tester@localhost/receiver',),
- kwargs={'sid': 'testing'})
- t.start()
+ self.xmpp['xep_0047'].open_stream('tester@localhost/receiver',
+ sid='testing')
self.send("""
<iq type="set" to="tester@localhost/receiver" id="1">
@@ -45,10 +42,6 @@ class TestInBandByteStreams(SlixTest):
from="tester@localhost/receiver" />
""")
- t.join()
-
- time.sleep(0.2)
-
self.assertEqual(events, ['ibb_stream_start'])
def testAysncOpenStream(self):
@@ -64,13 +57,9 @@ class TestInBandByteStreams(SlixTest):
self.xmpp.add_event_handler('ibb_stream_start', on_stream_start)
- t = threading.Thread(name='open_stream',
- target=self.xmpp['xep_0047'].open_stream,
- args=('tester@localhost/receiver',),
- kwargs={'sid': 'testing',
- 'block': False,
- 'callback': stream_callback})
- t.start()
+ self.xmpp['xep_0047'].open_stream('tester@localhost/receiver',
+ sid='testing',
+ callback=stream_callback)
self.send("""
<iq type="set" to="tester@localhost/receiver" id="1">
@@ -87,10 +76,6 @@ class TestInBandByteStreams(SlixTest):
from="tester@localhost/receiver" />
""")
- t.join()
-
- time.sleep(0.2)
-
self.assertEqual(events, set(['ibb_stream_start', 'callback']))
def testSendData(self):
@@ -108,11 +93,8 @@ class TestInBandByteStreams(SlixTest):
self.xmpp.add_event_handler('ibb_stream_start', on_stream_start)
self.xmpp.add_event_handler('ibb_stream_data', on_stream_data)
- t = threading.Thread(name='open_stream',
- target=self.xmpp['xep_0047'].open_stream,
- args=('tester@localhost/receiver',),
- kwargs={'sid': 'testing'})
- t.start()
+ self.xmpp['xep_0047'].open_stream('tester@localhost/receiver',
+ sid='testing')
self.send("""
<iq type="set" to="tester@localhost/receiver" id="1">
@@ -129,10 +111,6 @@ class TestInBandByteStreams(SlixTest):
from="tester@localhost/receiver" />
""")
- t.join()
-
- time.sleep(0.2)
-
stream = streams[0]
diff --git a/tests/test_stream_xep_0050.py b/tests/test_stream_xep_0050.py
index 222e997e..530dba9f 100644
--- a/tests/test_stream_xep_0050.py
+++ b/tests/test_stream_xep_0050.py
@@ -623,9 +623,6 @@ class TestAdHocCommands(SlixTest):
</iq>
""")
- # Give the event queue time to process
- time.sleep(0.3)
-
self.failUnless(results == ['foo', 'bar', 'baz'],
'Incomplete command workflow: %s' % results)
@@ -689,9 +686,6 @@ class TestAdHocCommands(SlixTest):
</iq>
""")
- # Give the event queue time to process
- time.sleep(0.3)
-
self.failUnless(results == ['foo', 'bar'],
'Incomplete command workflow: %s' % results)
@@ -730,9 +724,6 @@ class TestAdHocCommands(SlixTest):
</iq>
""")
- # Give the event queue time to process
- time.sleep(0.3)
-
self.failUnless(results == ['foo'],
'Incomplete command workflow: %s' % results)
@@ -768,14 +759,8 @@ class TestAdHocCommands(SlixTest):
</iq>
""")
- # Give the event queue time to process
- time.sleep(0.3)
-
self.failUnless(results == ['foo'],
'Incomplete command workflow: %s' % results)
-
-
-
suite = unittest.TestLoader().loadTestsFromTestCase(TestAdHocCommands)
diff --git a/tests/test_stream_xep_0059.py b/tests/test_stream_xep_0059.py
deleted file mode 100644
index 6f929e8c..00000000
--- a/tests/test_stream_xep_0059.py
+++ /dev/null
@@ -1,163 +0,0 @@
-import threading
-
-import unittest
-from slixmpp.test import SlixTest
-from slixmpp.xmlstream import register_stanza_plugin
-from slixmpp.plugins.xep_0030 import DiscoItems
-from slixmpp.plugins.xep_0059 import ResultIterator, Set
-
-
-class TestStreamSet(SlixTest):
-
- def setUp(self):
- register_stanza_plugin(DiscoItems, Set)
-
- def tearDown(self):
- self.stream_close()
-
- def iter(self, rev=False):
- q = self.xmpp.Iq()
- q['type'] = 'get'
- it = ResultIterator(q, 'disco_items', amount='1', reverse=rev)
- for i in it:
- for j in i['disco_items']['items']:
- self.items.append(j[0])
-
- def testResultIterator(self):
- self.items = []
- self.stream_start(mode='client')
- t = threading.Thread(target=self.iter)
- t.start()
- self.send("""
- <iq type="get" id="2">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <set xmlns="http://jabber.org/protocol/rsm">
- <max>1</max>
- </set>
- </query>
- </iq>
- """)
- self.recv("""
- <iq type="result" id="2">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <item jid="item1" />
- <set xmlns="http://jabber.org/protocol/rsm">
- <last>item1</last>
- </set>
- </query>
- </iq>
- """)
- self.send("""
- <iq type="get" id="3">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <set xmlns="http://jabber.org/protocol/rsm">
- <max>1</max>
- <after>item1</after>
- </set>
- </query>
- </iq>
- """)
- self.recv("""
- <iq type="result" id="3">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <item jid="item2" />
- <set xmlns="http://jabber.org/protocol/rsm">
- <last>item2</last>
- </set>
- </query>
- </iq>
- """)
- self.send("""
- <iq type="get" id="4">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <set xmlns="http://jabber.org/protocol/rsm">
- <max>1</max>
- <after>item2</after>
- </set>
- </query>
- </iq>
- """)
- self.recv("""
- <iq type="result" id="4">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <item jid="item2" />
- <set xmlns="http://jabber.org/protocol/rsm">
- </set>
- </query>
- </iq>
- """)
- t.join()
- self.failUnless(self.items == ['item1', 'item2'])
-
- def testResultIteratorReverse(self):
- self.items = []
- self.stream_start(mode='client')
-
- t = threading.Thread(target=self.iter, args=(True,))
- t.start()
-
- self.send("""
- <iq type="get" id="2">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <set xmlns="http://jabber.org/protocol/rsm">
- <max>1</max>
- <before />
- </set>
- </query>
- </iq>
- """)
- self.recv("""
- <iq type="result" id="2">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <item jid="item2" />
- <set xmlns="http://jabber.org/protocol/rsm">
- <first>item2</first>
- </set>
- </query>
- </iq>
- """)
- self.send("""
- <iq type="get" id="3">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <set xmlns="http://jabber.org/protocol/rsm">
- <max>1</max>
- <before>item2</before>
- </set>
- </query>
- </iq>
- """)
- self.recv("""
- <iq type="result" id="3">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <item jid="item1" />
- <set xmlns="http://jabber.org/protocol/rsm">
- <first>item1</first>
- </set>
- </query>
- </iq>
- """)
- self.send("""
- <iq type="get" id="4">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <set xmlns="http://jabber.org/protocol/rsm">
- <max>1</max>
- <before>item1</before>
- </set>
- </query>
- </iq>
- """)
- self.recv("""
- <iq type="result" id="4">
- <query xmlns="http://jabber.org/protocol/disco#items">
- <item jid="item1" />
- <set xmlns="http://jabber.org/protocol/rsm">
- </set>
- </query>
- </iq>
- """)
-
- t.join()
- self.failUnless(self.items == ['item2', 'item1'])
-
-
-suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamSet)
diff --git a/tests/test_stream_xep_0060.py b/tests/test_stream_xep_0060.py
index 17cb5b2c..da543f96 100644
--- a/tests/test_stream_xep_0060.py
+++ b/tests/test_stream_xep_0060.py
@@ -20,10 +20,7 @@ class TestStreamPubsub(SlixTest):
def testCreateInstantNode(self):
"""Test creating an instant node"""
- t = threading.Thread(name='create_node',
- target=self.xmpp['xep_0060'].create_node,
- args=('pubsub.example.com', None))
- t.start()
+ self.xmpp['xep_0060'].create_node('pubsub.example.com', None)
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
@@ -42,14 +39,11 @@ class TestStreamPubsub(SlixTest):
</iq>
""")
- t.join()
-
def testCreateNodeNoConfig(self):
"""Test creating a node without a config"""
self.xmpp['xep_0060'].create_node(
'pubsub.example.com',
- 'princely_musings',
- block=False)
+ 'princely_musings')
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -67,7 +61,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].create_node(
'pubsub.example.com',
'princely_musings',
- config=form, block=False)
+ config=form)
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
@@ -91,8 +85,7 @@ class TestStreamPubsub(SlixTest):
"""Test deleting a node"""
self.xmpp['xep_0060'].delete_node(
'pubsub.example.com',
- 'some_node',
- block=False)
+ 'some_node')
self.send("""
<iq type="set" to="pubsub.example.com" id="1">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -108,8 +101,7 @@ class TestStreamPubsub(SlixTest):
"""
self.xmpp['xep_0060'].subscribe(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -126,8 +118,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].subscribe(
'pubsub.example.com',
'somenode',
- ifrom='foo@comp.example.com/bar',
- block=False)
+ ifrom='foo@comp.example.com/bar')
self.send("""
<iq type="set" id="1"
to="pubsub.example.com" from="foo@comp.example.com/bar">
@@ -146,8 +137,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
ifrom='foo@comp.example.com/bar',
- bare=False,
- block=False)
+ bare=False)
self.send("""
<iq type="set" id="1"
to="pubsub.example.com" from="foo@comp.example.com/bar">
@@ -168,8 +158,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].subscribe(
'pubsub.example.com',
'somenode',
- bare=False,
- block=False)
+ bare=False)
self.send("""
<iq type="set" id="1"
to="pubsub.example.com">
@@ -188,8 +177,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
subscribee='user@example.com/foo',
- ifrom='foo@comp.example.com/bar',
- block=False)
+ ifrom='foo@comp.example.com/bar')
self.send("""
<iq type="set" id="1"
to="pubsub.example.com" from="foo@comp.example.com/bar">
@@ -215,8 +203,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].subscribe(
'pubsub.example.com',
'somenode',
- options=opts,
- block=False)
+ options=opts)
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -242,8 +229,7 @@ class TestStreamPubsub(SlixTest):
"""
self.xmpp['xep_0060'].unsubscribe(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -260,8 +246,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].unsubscribe(
'pubsub.example.com',
'somenode',
- ifrom='foo@comp.example.com/bar',
- block=False)
+ ifrom='foo@comp.example.com/bar')
self.send("""
<iq type="set" id="1"
to="pubsub.example.com" from="foo@comp.example.com/bar">
@@ -280,8 +265,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
ifrom='foo@comp.example.com/bar',
- bare=False,
- block=False)
+ bare=False)
self.send("""
<iq type="set" id="1"
to="pubsub.example.com" from="foo@comp.example.com/bar">
@@ -302,8 +286,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].unsubscribe(
'pubsub.example.com',
'somenode',
- bare=False,
- block=False)
+ bare=False)
self.send("""
<iq type="set" id="1"
to="pubsub.example.com">
@@ -322,8 +305,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
subscribee='user@example.com/foo',
- ifrom='foo@comp.example.com/bar',
- block=False)
+ ifrom='foo@comp.example.com/bar')
self.send("""
<iq type="set" id="1"
to="pubsub.example.com" from="foo@comp.example.com/bar">
@@ -336,8 +318,7 @@ class TestStreamPubsub(SlixTest):
def testGetDefaultNodeConfig(self):
"""Test retrieving the default node config for a pubsub service."""
self.xmpp['xep_0060'].get_node_config(
- 'pubsub.example.com',
- block=False)
+ 'pubsub.example.com')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -350,8 +331,7 @@ class TestStreamPubsub(SlixTest):
"""Test getting the config for a given node."""
self.xmpp['xep_0060'].get_node_config(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -372,8 +352,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].set_node_config(
'pubsub.example.com',
'somenode',
- form,
- block=False)
+ form)
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -395,8 +374,7 @@ class TestStreamPubsub(SlixTest):
"""Test publishing no items (in order to generate events)"""
self.xmpp['xep_0060'].publish(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -416,8 +394,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
id='id42',
- payload=payload,
- block=False)
+ payload=payload)
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -451,8 +428,7 @@ class TestStreamPubsub(SlixTest):
'somenode',
id='ID42',
payload=payload,
- options=options,
- block=False)
+ options=options)
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -483,8 +459,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
'ID1',
- notify=True,
- block=False)
+ notify=True)
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -500,8 +475,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].retract(
'pubsub.example.com',
'somenode',
- 'ID1',
- block=False)
+ 'ID1')
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -516,8 +490,7 @@ class TestStreamPubsub(SlixTest):
"""Test removing all items from a node."""
self.xmpp['xep_0060'].purge(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -531,8 +504,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].get_item(
'pubsub.example.com',
'somenode',
- 'id42',
- block=False)
+ 'id42')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -548,8 +520,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].get_items(
'pubsub.example.com',
'somenode',
- max_items=3,
- block=False)
+ max_items=3)
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -562,8 +533,7 @@ class TestStreamPubsub(SlixTest):
"""Test retrieving all items."""
self.xmpp['xep_0060'].get_items(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -577,8 +547,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].get_items(
'pubsub.example.com',
'somenode',
- item_ids=['A', 'B', 'C'],
- block=False)
+ item_ids=['A', 'B', 'C'])
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -594,8 +563,7 @@ class TestStreamPubsub(SlixTest):
def testGetSubscriptionGlobalDefaultOptions(self):
"""Test getting the subscription options for a node/JID."""
self.xmpp['xep_0060'].get_subscription_options(
- 'pubsub.example.com',
- block=False)
+ 'pubsub.example.com')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -608,8 +576,7 @@ class TestStreamPubsub(SlixTest):
"""Test getting the subscription options for a node/JID."""
self.xmpp['xep_0060'].get_subscription_options(
'pubsub.example.com',
- node='somenode',
- block=False)
+ node='somenode')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -623,8 +590,7 @@ class TestStreamPubsub(SlixTest):
self.xmpp['xep_0060'].get_subscription_options(
'pubsub.example.com',
'somenode',
- 'tester@localhost',
- block=False)
+ 'tester@localhost')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -650,8 +616,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
'tester@localhost',
- opts,
- block=False)
+ opts)
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -673,8 +638,7 @@ class TestStreamPubsub(SlixTest):
"""Test retrieving all subscriptions for a node."""
self.xmpp['xep_0060'].get_node_subscriptions(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -686,8 +650,7 @@ class TestStreamPubsub(SlixTest):
def testGetSubscriptions(self):
"""Test retrieving a users's subscriptions."""
self.xmpp['xep_0060'].get_subscriptions(
- 'pubsub.example.com',
- block=False)
+ 'pubsub.example.com')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -700,8 +663,7 @@ class TestStreamPubsub(SlixTest):
"""Test retrieving a users's subscriptions for a given node."""
self.xmpp['xep_0060'].get_subscriptions(
'pubsub.example.com',
- node='somenode',
- block=False)
+ node='somenode')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -713,8 +675,7 @@ class TestStreamPubsub(SlixTest):
def testGetAffiliations(self):
"""Test retrieving a users's affiliations."""
self.xmpp['xep_0060'].get_affiliations(
- 'pubsub.example.com',
- block=False)
+ 'pubsub.example.com')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -727,8 +688,7 @@ class TestStreamPubsub(SlixTest):
"""Test retrieving a users's affiliations for a given node."""
self.xmpp['xep_0060'].get_affiliations(
'pubsub.example.com',
- node='somenode',
- block=False)
+ node='somenode')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
@@ -741,8 +701,7 @@ class TestStreamPubsub(SlixTest):
"""Test getting the affiliations for a node."""
self.xmpp['xep_0060'].get_node_affiliations(
'pubsub.example.com',
- 'somenode',
- block=False)
+ 'somenode')
self.send("""
<iq type="get" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -757,8 +716,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
subscriptions=[('user@example.com', 'subscribed'),
- ('foo@example.net', 'none')],
- block=False)
+ ('foo@example.net', 'none')])
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
@@ -776,8 +734,7 @@ class TestStreamPubsub(SlixTest):
'pubsub.example.com',
'somenode',
affiliations=[('user@example.com', 'publisher'),
- ('foo@example.net', 'none')],
- block=False)
+ ('foo@example.net', 'none')])
self.send("""
<iq type="set" id="1" to="pubsub.example.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
diff --git a/tests/test_stream_xep_0066.py b/tests/test_stream_xep_0066.py
index a9f2bc65..159333c7 100644
--- a/tests/test_stream_xep_0066.py
+++ b/tests/test_stream_xep_0066.py
@@ -15,13 +15,8 @@ class TestOOB(SlixTest):
url = 'http://github.com/fritzy/Slixmpp/blob/master/README'
- t = threading.Thread(
- name='send_oob',
- target=self.xmpp['xep_0066'].send_oob,
- args=('user@example.com', url),
- kwargs={'desc': 'Slixmpp README'})
-
- t.start()
+ self.xmpp['xep_0066'].send_oob('user@example.com', url,
+ desc='Slixmpp README')
self.send("""
<iq to="user@example.com" type="set" id="1">
@@ -38,7 +33,5 @@ class TestOOB(SlixTest):
from="user@example.com" />
""")
- t.join()
-
suite = unittest.TestLoader().loadTestsFromTestCase(TestOOB)
diff --git a/tests/test_stream_xep_0085.py b/tests/test_stream_xep_0085.py
index 2de17674..9e3a2dd5 100644
--- a/tests/test_stream_xep_0085.py
+++ b/tests/test_stream_xep_0085.py
@@ -49,8 +49,6 @@ class TestStreamChatStates(SlixTest):
</message>
""")
- # Give event queue time to process
- time.sleep(0.3)
expected = ['active', 'inactive', 'paused', 'composing', 'gone']
self.failUnless(results == expected,
"Chat state event not handled: %s" % results)
diff --git a/tests/test_stream_xep_0092.py b/tests/test_stream_xep_0092.py
index ca1c3dfa..1f1eac00 100644
--- a/tests/test_stream_xep_0092.py
+++ b/tests/test_stream_xep_0092.py
@@ -35,16 +35,14 @@ class TestStreamSet(SlixTest):
def testMakeSoftwareVersionRequest(self):
results = []
- def query():
- r = self.xmpp['xep_0092'].get_version('foo@bar')
- results.append((r['software_version']['name'],
- r['software_version']['version'],
- r['software_version']['os']))
+ def callback(result):
+ results.append((result['software_version']['name'],
+ result['software_version']['version'],
+ result['software_version']['os']))
self.stream_start(mode='client', plugins=['xep_0030', 'xep_0092'])
- t = threading.Thread(target=query)
- t.start()
+ self.xmpp['xep_0092'].get_version('foo@bar', callback=callback)
self.send("""
<iq type="get" id="1" to="foo@bar">
@@ -62,8 +60,6 @@ class TestStreamSet(SlixTest):
</iq>
""")
- t.join()
-
expected = [('Foo', '1.0', 'Linux')]
self.assertEqual(results, expected,
"Did not receive expected results: %s" % results)
diff --git a/tests/test_stream_xep_0249.py b/tests/test_stream_xep_0249.py
index 92042522..f12978a8 100644
--- a/tests/test_stream_xep_0249.py
+++ b/tests/test_stream_xep_0249.py
@@ -35,8 +35,6 @@ class TestStreamDirectInvite(SlixTest):
</message>
""")
- time.sleep(.5)
-
self.failUnless(events == [True],
"Event not raised: %s" % events)
diff --git a/tests/test_stream_xep_0323.py b/tests/test_stream_xep_0323.py
index d8e3b01f..1a25ec2a 100644
--- a/tests/test_stream_xep_0323.py
+++ b/tests/test_stream_xep_0323.py
@@ -455,8 +455,6 @@ class TestStreamSensorData(SlixTest):
</iq>
""")
- time.sleep(.1)
-
self.failUnless(results == ["rejected"],
"Rejected callback was not properly executed");
@@ -494,8 +492,6 @@ class TestStreamSensorData(SlixTest):
</iq>
""")
- time.sleep(.1)
-
self.failUnless(results == ["accepted"],
"Accepted callback was not properly executed");
@@ -517,13 +513,10 @@ class TestStreamSensorData(SlixTest):
for f in fields:
callback_data["field_" + f['name']] = f;
- t1= threading.Thread(name="request_data",
- target=self.xmpp['xep_0323'].request_data,
- kwargs={"from_jid": "tester@localhost",
- "to_jid": "you@google.com",
- "nodeIds": ['Device33'],
- "callback": my_callback});
- t1.start();
+ self.xmpp['xep_0323'].request_data(from_jid="tester@localhost",
+ to_jid="you@google.com",
+ nodeIds=['Device33'],
+ callback=my_callback)
#self.xmpp['xep_0323'].request_data(from_jid="tester@localhost", to_jid="you@google.com", nodeIds=['Device33'], callback=my_callback);
self.send("""
@@ -567,9 +560,6 @@ class TestStreamSensorData(SlixTest):
</message>
""")
- t1.join();
- time.sleep(.5)
-
self.failUnlessEqual(results, ["accepted","fields","done"]);
# self.assertIn("nodeId", callback_data);
self.assertTrue("nodeId" in callback_data)
@@ -651,13 +641,10 @@ class TestStreamSensorData(SlixTest):
callback_data["timestamp"] = timestamp;
callback_data["error_msg"] = error_msg;
- t1= threading.Thread(name="request_data",
- target=self.xmpp['xep_0323'].request_data,
- kwargs={"from_jid": "tester@localhost",
- "to_jid": "you@google.com",
- "nodeIds": ['Device33'],
- "callback": my_callback});
- t1.start();
+ self.xmpp['xep_0323'].request_data(from_jid="tester@localhost",
+ to_jid="you@google.com",
+ nodeIds=['Device33'],
+ callback=my_callback)
self.send("""
<iq type='get'
@@ -688,9 +675,6 @@ class TestStreamSensorData(SlixTest):
</message>
""")
- t1.join();
- time.sleep(.5)
-
self.failUnlessEqual(results, ["accepted","failure"]);
# self.assertIn("nodeId", callback_data);
self.assertTrue("nodeId" in callback_data);
@@ -737,7 +721,7 @@ class TestStreamSensorData(SlixTest):
</iq>
""")
- time.sleep(2)
+ time.sleep(1)
self.send("""
<message from='device@clayster.com'
@@ -1033,13 +1017,10 @@ class TestStreamSensorData(SlixTest):
for f in fields:
callback_data["field_" + f['name']] = f;
- t1= threading.Thread(name="request_data",
- target=self.xmpp['xep_0323'].request_data,
- kwargs={"from_jid": "tester@localhost",
- "to_jid": "you@google.com",
- "nodeIds": ['Device33'],
- "callback": my_callback});
- t1.start();
+ self.xmpp['xep_0323'].request_data(from_jid="tester@localhost",
+ to_jid="you@google.com",
+ nodeIds=['Device33'],
+ callback=my_callback)
#self.xmpp['xep_0323'].request_data(from_jid="tester@localhost", to_jid="you@google.com", nodeIds=['Device33'], callback=my_callback);
self.send("""
@@ -1090,9 +1071,6 @@ class TestStreamSensorData(SlixTest):
</message>
""")
- t1.join();
- time.sleep(.5)
-
self.failUnlessEqual(results, ["queued","started","fields","done"]);
# self.assertIn("nodeId", callback_data);
self.assertTrue("nodeId" in callback_data);
@@ -1161,8 +1139,6 @@ class TestStreamSensorData(SlixTest):
</iq>
""")
- time.sleep(.5)
-
self.failUnlessEqual(results, ["accepted","cancelled"]);
def testDelayedRequestCancel(self):
@@ -1239,8 +1215,6 @@ class TestStreamSensorData(SlixTest):
</iq>
""")
- time.sleep(2)
-
# Ensure we don't get anything after cancellation
self.send(None)
diff --git a/tests/test_stream_xep_0325.py b/tests/test_stream_xep_0325.py
index 0d4ab907..62c49e6b 100644
--- a/tests/test_stream_xep_0325.py
+++ b/tests/test_stream_xep_0325.py
@@ -189,7 +189,7 @@ class TestStreamControl(SlixTest):
</message>
""")
- time.sleep(.5)
+ time.sleep(0.5)
self.assertEqual(myDevice._get_field_value("Temperature"), "17");
@@ -213,8 +213,6 @@ class TestStreamControl(SlixTest):
</message>
""")
- time.sleep(.5)
-
self.assertEqual(myDevice._get_field_value("Temperature"), "15");
self.assertFalse(myDevice.has_control_field("Voltage", "int"));
@@ -259,8 +257,6 @@ class TestStreamControl(SlixTest):
</iq>
""")
- time.sleep(.5)
-
self.assertEqual(results, ["OK"]);
def testRequestSetErrorAPI(self):
@@ -305,8 +301,6 @@ class TestStreamControl(SlixTest):
</iq>
""")
- time.sleep(.5)
-
self.assertEqual(results, ["OtherError"]);
def testServiceDiscoveryClient(self):