[Pkg-telepathy-commits] [telepathy-gabble] 02/11: Add a regression test for #68829

Simon McVittie smcv at debian.org
Thu Mar 20 10:33:38 UTC 2014


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch debian
in repository telepathy-gabble.

commit 527de4d26ef96e2a049781cdecc4e6e1a05622d3
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Mon Sep 9 13:00:30 2013 +0100

    Add a regression test for #68829
    
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68829
    Reviewed-by: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
---
 tests/twisted/Makefile.am               |  1 +
 tests/twisted/connect/disco-facebook.py | 51 +++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/tests/twisted/Makefile.am b/tests/twisted/Makefile.am
index ef429bb..d93d5b3 100644
--- a/tests/twisted/Makefile.am
+++ b/tests/twisted/Makefile.am
@@ -21,6 +21,7 @@ TWISTED_TESTS = \
 	client-types.py \
 	cm/protocol.py \
 	connect/disco-error-from-bare-jid.py \
+	connect/disco-facebook.py \
 	connect/disconnect-timeout.py \
 	connect/disco-no-reply.py \
 	connect/network-error.py \
diff --git a/tests/twisted/connect/disco-facebook.py b/tests/twisted/connect/disco-facebook.py
new file mode 100644
index 0000000..39cd9e6
--- /dev/null
+++ b/tests/twisted/connect/disco-facebook.py
@@ -0,0 +1,51 @@
+"""
+Test that Gabble is tolerant of non-RFC-compliance from Facebook.
+https://bugs.freedesktop.org/show_bug.cgi?id=68829
+"""
+
+from gabbletest import exec_test, XmppXmlStream
+import constants as cs
+import ns
+
+from twisted.words.xish import xpath
+
+def test(q, bus, conn, stream):
+    conn.Connect()
+
+    # everything is fine and actually very boring
+    q.expect('dbus-signal', signal='StatusChanged',
+            args=[cs.CONN_STATUS_CONNECTING, cs.CSR_REQUESTED]),
+    q.expect('dbus-signal', signal='StatusChanged',
+            args=[cs.CONN_STATUS_CONNECTED, cs.CSR_REQUESTED])
+
+class XmppXmlStreamFacebook201309(XmppXmlStream):
+    """As of 2013-09, a new version of Facebook's XMPP server (used
+    consistently for beta.chat.facebook.com, and gradually being rolled out
+    for chat.facebook.com users) omits the 'from' attribute in its disco
+    reply. The disco reply is otherwise correct.
+    """
+
+    def _cb_disco_iq(self, iq):
+        nodes = xpath.queryForNodes(
+            "/iq/query[@xmlns='" + ns.DISCO_INFO + "']", iq)
+        query = nodes[0]
+
+        for feature in self.disco_features:
+            query.addChild(elem('feature', var=feature))
+
+        iq['type'] = 'result'
+
+        # The Facebook server's IQ responses have neither 'from' nor 'to'
+        try:
+            del iq['from']
+        except KeyError:
+            pass
+        try:
+            del iq['to']
+        except KeyError:
+            pass
+
+        self.send(iq)
+
+if __name__ == '__main__':
+    exec_test(test, protocol=XmppXmlStreamFacebook201309, do_connect=False)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-telepathy/telepathy-gabble.git



More information about the Pkg-telepathy-commits mailing list