From ce2daa5ea093437bf8f14ba92a467d0ae688e6ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?louiz=E2=80=99?= <louiz@louiz.org>
Date: Wed, 29 Mar 2017 23:24:47 +0200
Subject: Respond to disco#info on MUC JIDs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Otherwise, some client won’t do MAM, since they don’t know biboumi supports
it.
---
 tests/end_to_end/__main__.py | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

(limited to 'tests/end_to_end')

diff --git a/tests/end_to_end/__main__.py b/tests/end_to_end/__main__.py
index 042744c..088be9c 100644
--- a/tests/end_to_end/__main__.py
+++ b/tests/end_to_end/__main__.py
@@ -1866,6 +1866,38 @@ if __name__ == '__main__':
                              "<iq from='{jid_one}/{resource_one}' to='#foo%{irc_server_one}' id='1' type='get'><query xmlns='http://jabber.org/protocol/disco#info' node='http://jabber.org/protocol/muc#traffic'/></iq>"),
                      partial(expect_stanza, "/iq[@from='#foo%{irc_server_one}'][@to='{jid_one}/{resource_one}'][@type='result']/disco_info:query[@node='http://jabber.org/protocol/muc#traffic']"),
                 ]),
+                Scenario("muc_disco_info",
+                [
+                     handshake_sequence(),
+
+                     partial(send_stanza,
+                             "<iq from='{jid_one}/{resource_one}' to='#foo%{irc_server_one}' id='1' type='get'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>"),
+                     partial(expect_stanza,
+                             ("/iq[@from='#foo%{irc_server_one}'][@to='{jid_one}/{resource_one}'][@type='result']/disco_info:query",
+                              "/iq[@type='result']/disco_info:query/disco_info:identity[@category='conference'][@type='irc'][@name='IRC channel #foo from server {irc_host_one} over biboumi']",
+                              "/iq/disco_info:query/disco_info:feature[@var='jabber:iq:version']",
+                              "/iq/disco_info:query/disco_info:feature[@var='http://jabber.org/protocol/commands']",
+                              "/iq/disco_info:query/disco_info:feature[@var='urn:xmpp:ping']",
+                              "/iq/disco_info:query/disco_info:feature[@var='urn:xmpp:mam:2']",
+                              "/iq/disco_info:query/disco_info:feature[@var='jabber:iq:version']",
+                             )),
+                ]),
+                Scenario("fixed_muc_disco_info",
+                [
+                     handshake_sequence(),
+
+                     partial(send_stanza,
+                             "<iq from='{jid_one}/{resource_one}' to='#foo@{biboumi_host}' id='1' type='get'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>"),
+                     partial(expect_stanza,
+                             ("/iq[@from='#foo@{biboumi_host}'][@to='{jid_one}/{resource_one}'][@type='result']/disco_info:query",
+                              "/iq[@type='result']/disco_info:query/disco_info:identity[@category='conference'][@type='irc'][@name='IRC channel #foo from server {irc_host_one} over biboumi']",
+                              "/iq/disco_info:query/disco_info:feature[@var='jabber:iq:version']",
+                              "/iq/disco_info:query/disco_info:feature[@var='http://jabber.org/protocol/commands']",
+                              "/iq/disco_info:query/disco_info:feature[@var='urn:xmpp:ping']",
+                              "/iq/disco_info:query/disco_info:feature[@var='urn:xmpp:mam:2']",
+                              "/iq/disco_info:query/disco_info:feature[@var='jabber:iq:version']",
+                              )),
+                ], conf='fixed_server'),
                 Scenario("raw_message",
                 [
                      handshake_sequence(),
-- 
cgit v1.2.3