55 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 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()
 |