test: fix tests fo plugins XEP-0033 and XEP-0085

This commit is contained in:
souliane 2014-03-22 18:47:17 +01:00
commit 032c34cfdb
2 changed files with 17 additions and 13 deletions

View file

@ -125,38 +125,42 @@ class XEP_0033Test(helpers.SatTestCase):
self.assertEqualUnsortedList(self.host.sent_messages, sent, msg)
self.assertEqualUnsortedList(self.host.stored_messages, stored, msg)
def trigger(treatments, data, *args):
def trigger(data, exception):
"""Execute self.plugin.sendMessageTrigger with a different logging
level to not pollute the output, then check that the plugin did its
job. It should abort sending the message or add the extended
addressing information to the stanza.
@param data: the data to be processed by self.plugin.sendMessageTrigger
@param exception: AbortSendMessage or MessageSentAndStored
"""
logger = logging.getLogger()
level = logger.getEffectiveLevel()
logger.setLevel(logging.ERROR) # remove warning pollution
self.plugin.sendMessageTrigger(*args)
treatments.callback(data)
pre_treatments = defer.Deferred()
post_treatments = defer.Deferred()
self.plugin.sendMessageTrigger(data, pre_treatments, post_treatments, Const.PROFILE[0])
post_treatments.callback(data)
logger.setLevel(level)
post_treatments.addCallbacks(assertAddresses, lambda failure: sendMessageErrback(failure, exception))
# feature is not supported, abort the message
self.host.memory.init()
treatments = defer.Deferred()
data = deepcopy(mess_data)
trigger(treatments, data, data, treatments, Const.PROFILE[0])
treatments.addCallbacks(assertAddresses, lambda failure: sendMessageErrback(failure, AbortSendMessage))
trigger(data, AbortSendMessage)
# feature is supported
self.host.init()
self.host.memory.init()
self.host.memory.addServerFeature(plugin.NS_ADDRESS, self.host.getClientHostJid(Const.PROFILE[0]), Const.PROFILE[0])
treatments = defer.Deferred()
data = deepcopy(mess_data)
trigger(treatments, data, data, treatments, Const.PROFILE[0])
treatments.addCallbacks(assertAddresses, lambda failure: sendMessageErrback(failure, MessageSentAndStored))
trigger(data, MessageSentAndStored)
checkSentAndStored()
# check that a wrong recipient entity is fixed by the backend
self.host.init()
self.host.memory.init()
self.host.memory.addServerFeature(plugin.NS_ADDRESS, self.host.getClientHostJid(Const.PROFILE[0]), Const.PROFILE[0])
treatments = defer.Deferred()
data = deepcopy(mess_data)
data["to"] = Const.JID[0]
trigger(treatments, mess_data, data, treatments, Const.PROFILE[0])
treatments.addCallbacks(assertAddresses, lambda failure: sendMessageErrback(failure, MessageSentAndStored))
trigger(data, MessageSentAndStored)
checkSentAndStored()

View file

@ -71,7 +71,7 @@ class XEP_0085Test(helpers.SatTestCase):
expected = deepcopy(mess_data['xml'])
expected.addElement(state, plugin.NS_CHAT_STATES)
treatments = defer.Deferred()
self.plugin.sendMessageTrigger(mess_data, treatments, Const.PROFILE[0])
self.plugin.sendMessageTrigger(mess_data, defer.Deferred(), treatments, Const.PROFILE[0])
xml = treatments.callbacks[0][0][0](mess_data)
# cancel the timer to not block the process
self.plugin.map[Const.PROFILE[0]][Const.JID[0].userhostJID()].timer.cancel()