import unittest
from slixmpp.jid import JID
from slixmpp.test import SlixTest
class TestStreamCorrect(SlixTest):
def test_recv_correct(self):
self.stream_start(mode='client', plugins=['xep_0308'])
recv = []
def recv_correct(msg):
recv.append(msg)
self.xmpp.add_event_handler('message_correction', recv_correct)
self.recv("""
oucou
""")
received = recv[0]
self.assertEqual(received['replace']['id'], "tototo")
def test_send_correct(self):
self.stream_start(mode='client', plugins=['xep_0308'])
corrected = self.xmpp.plugin['xep_0308'].build_correction(
id_to_replace="12345",
mto=JID('toto@example.com'),
mbody="I am replacing",
)
self.assertEqual(corrected['replace']['id'], '12345')
self.assertEqual(corrected['to'], JID('toto@example.com'))
self.assertEqual(corrected['body'], 'I am replacing')
corrected['id'] = 'my id'
corrected = self.xmpp.plugin['xep_0308'].correct_message(
corrected,
'This is new',
)
self.send("""
This is new
""")
suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamCorrect)