Philipp Hörist pushed to branch master at gajim / gajim

Commits:
1196e1df by Philipp Hörist at 2018-11-21T19:02:44Z
Unittest: Add more caps hash examples

- - - - -


1 changed file:

- test/no_gui/unit/test_caps_cache.py


Changes:

=====================================
test/no_gui/unit/test_caps_cache.py
=====================================
@@ -8,8 +8,8 @@ from nbxmpp import NS_MUC, NS_PING, NS_XHTML_IM, Iq
 from gajim.common import caps_cache as caps
 from gajim.common.modules.discovery import Discovery
 
-COMPLEX_EXAMPLE = '''
-<iq from='[email protected]/230193' id='disco1' 
to='[email protected]/chamber' type='result'>
+EXAMPLES = [
+'''<iq>
 <query xmlns='http://jabber.org/protocol/disco#info' 
node='http://psi-im.org#q07IKJEyjvHSyhy//CH0CxmKi8w='>
 <identity xml:lang='en' category='client' name='Psi 0.11' type='pc'/>
 <identity xml:lang='el' category='client' name='Ψ 0.11' type='pc'/>
@@ -39,7 +39,94 @@ COMPLEX_EXAMPLE = '''
 </field>
 </x>
 </query>
-</iq>'''
+</iq>
+''',
+
+'''<iq>
+<query node="http://bombusmod.net.ru/caps#tbBQGBMv8g8U7kW55TEZZRnMCJ4="; 
xmlns="http://jabber.org/protocol/disco#info";>
+<identity category="client" name="BombusMod" type="mobile"/>
+<feature var="http://jabber.org/protocol/chatstates"/>
+<feature var="http://jabber.org/protocol/disco#info"/>
+<feature var="http://jabber.org/protocol/disco#items"/>
+<feature var="http://jabber.org/protocol/rosterx"/>
+<feature var="jabber:iq:last"/>
+<feature var="jabber:iq:privacy"/>
+<feature var="jabber:iq:roster"/>
+<feature var="jabber:iq:time"/>
+<feature var="jabber:iq:version"/>
+<feature var="jabber:x:oob"/>
+<feature var="urn:xmpp:ping"/>
+<feature var="urn:xmpp:receipts"/>
+<feature var="urn:xmpp:time"/>
+</query>
+</iq>
+''',
+
+'''<iq>
+<query node="http://jappix.org/#qRsaGbKTz8EwAOakYO00InkZUxM="; 
xmlns="http://jabber.org/protocol/disco#info";>
+    <identity category="client" name="Jappix" type="web"/>
+    <feature var="http://jabber.org/protocol/activity"/>
+    <feature var="http://jabber.org/protocol/activity+notify"/>
+    <feature var="http://jabber.org/protocol/caps"/>
+    <feature var="http://jabber.org/protocol/chatstates"/>
+    <feature var="http://jabber.org/protocol/commands"/>
+    <feature var="http://jabber.org/protocol/disco#info"/>
+    <feature var="http://jabber.org/protocol/disco#items"/>
+    <feature var="http://jabber.org/protocol/geoloc"/>
+    <feature var="http://jabber.org/protocol/geoloc+notify"/>
+    <feature var="http://jabber.org/protocol/http-auth"/>
+    <feature var="http://jabber.org/protocol/httpbind"/>
+    <feature var="http://jabber.org/protocol/mood"/>
+    <feature var="http://jabber.org/protocol/mood+notify"/>
+    <feature var="http://jabber.org/protocol/muc"/>
+    <feature var="http://jabber.org/protocol/muc#admin"/>
+    <feature var="http://jabber.org/protocol/muc#owner"/>
+    <feature var="http://jabber.org/protocol/muc#roomconfig"/>
+    <feature var="http://jabber.org/protocol/muc#user"/>
+    <feature var="http://jabber.org/protocol/nick"/>
+    <feature var="http://jabber.org/protocol/pubsub#retrieve-items"/>
+    <feature var="http://jabber.org/protocol/rosterx"/>
+    <feature var="http://jabber.org/protocol/tune"/>
+    <feature var="http://jabber.org/protocol/tune+notify"/>
+    <feature var="http://jabber.org/protocol/xhtml-im"/>
+    <feature var="ipv6"/>
+    <feature var="jabber:iq:last"/>
+    <feature var="jabber:iq:oob"/>
+    <feature var="jabber:iq:privacy"/>
+    <feature var="jabber:iq:private"/>
+    <feature var="jabber:iq:register"/>
+    <feature var="jabber:iq:roster"/>
+    <feature var="jabber:iq:search"/>
+    <feature var="jabber:iq:version"/>
+    <feature var="jabber:x:data"/>
+    <feature var="jabber:x:oob"/>
+    <feature var="urn:ietf:params:xml:ns:vcard-4.0"/>
+    <feature var="urn:ietf:rfc:3264"/>
+    <feature var="urn:xmpp:avatar:data"/>
+    <feature var="urn:xmpp:avatar:metadata"/>
+    <feature var="urn:xmpp:delay"/>
+    <feature var="urn:xmpp:extdisco:1"/>
+    <feature var="urn:xmpp:inbox"/>
+    <feature var="urn:xmpp:inbox+notify"/>
+    <feature var="urn:xmpp:jingle:1"/>
+    <feature var="urn:xmpp:jingle:apps:rtp:1"/>
+    <feature var="urn:xmpp:jingle:apps:rtp:audio"/>
+    <feature var="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"/>
+    <feature var="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"/>
+    <feature var="urn:xmpp:jingle:apps:rtp:video"/>
+    <feature var="urn:xmpp:jingle:apps:rtp:zrtp:1"/>
+    <feature var="urn:xmpp:jingle:transports:ice-udp:1"/>
+    <feature var="urn:xmpp:mam:0"/>
+    <feature var="urn:xmpp:microblog:0"/>
+    <feature var="urn:xmpp:microblog:0+notify"/>
+    <feature var="urn:xmpp:ping"/>
+    <feature var="urn:xmpp:receipts"/>
+    <feature var="urn:xmpp:time"/>
+    <feature var="urn:xmpp:tmp:jingle:apps:dtls:0"/>
+    <feature var="vcard-temp"/>
+</query>
+</iq>''',
+]
 
 
 class CommonCapsTest(unittest.TestCase):
@@ -125,10 +212,12 @@ class TestCapsCache(CommonCapsTest):
 
     def test_hash(self):
         '''tests the hash computation'''
-        stanza = Iq(node=COMPLEX_EXAMPLE)
-        identities, features, data, _ = Discovery.parse_info_response(stanza)
-        computed_hash = caps.compute_caps_hash(identities, features, data)
-        self.assertEqual('q07IKJEyjvHSyhy//CH0CxmKi8w=', computed_hash)
+        for example in EXAMPLES:
+            stanza = Iq(node=example)
+            identities, features, data, node = 
Discovery.parse_info_response(stanza)
+            computed_hash = caps.compute_caps_hash(identities, features, data)
+            hash_ = node.split('#')[1]
+            self.assertEqual(hash_, computed_hash)
 
 
 class TestClientCaps(CommonCapsTest):



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/1196e1df0d1c483d61d4ae23c97638fa399a3dd2

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/1196e1df0d1c483d61d4ae23c97638fa399a3dd2
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to