56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
'''
|
|
Tests for caps network coding
|
|
'''
|
|
|
|
import unittest
|
|
from unittest.mock import MagicMock
|
|
|
|
import nbxmpp
|
|
|
|
import lib
|
|
lib.setup_env()
|
|
|
|
from gajim.common import app
|
|
from gajim.common import nec
|
|
from gajim.common import ged
|
|
from gajim.common import caps_cache
|
|
from gajim.common.modules.caps import Caps
|
|
|
|
|
|
class TestConnectionCaps(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
app.contacts.add_account('account')
|
|
contact = app.contacts.create_contact(
|
|
'user@server.com', 'account', resource='a')
|
|
app.contacts.add_contact('account', contact)
|
|
|
|
app.nec = nec.NetworkEventsController()
|
|
app.ged.register_event_handler(
|
|
'caps-presence-received', ged.GUI2,
|
|
self._nec_caps_presence_received)
|
|
|
|
self.module = Caps(MagicMock())
|
|
self.module._account = 'account'
|
|
self.module._capscache = MagicMock()
|
|
|
|
def _nec_caps_presence_received(self, obj):
|
|
self.assertTrue(
|
|
isinstance(obj.client_caps, caps_cache.ClientCaps),
|
|
msg="On receive of valid caps, ClientCaps should be returned")
|
|
|
|
def test_capsPresenceCB(self):
|
|
fjid = "user@server.com/a"
|
|
|
|
xml = """<presence from='user@server.com/a' to='%s' id='123'>
|
|
<c node='http://gajim.org' ver='pRCD6cgQ4SDqNMCjdhRV6TECx5o='
|
|
hash='sha-1' xmlns='http://jabber.org/protocol/caps'/>
|
|
</presence>
|
|
""" % (fjid)
|
|
msg = nbxmpp.protocol.Presence(node=nbxmpp.simplexml.XML2Node(xml))
|
|
self.module._presence_received(None, msg)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|