From e967088986f0d32eec662e2ab3749e4ba8e07a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Wed, 11 Mar 2020 00:08:18 +0100 Subject: Make sure we keep the stable-id and origin-id nodes when required See https://xmpp.org/extensions/xep-0359.html --- tests/end_to_end/scenarios/stable_id.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/end_to_end/scenarios/stable_id.py (limited to 'tests') diff --git a/tests/end_to_end/scenarios/stable_id.py b/tests/end_to_end/scenarios/stable_id.py new file mode 100644 index 0000000..90b5866 --- /dev/null +++ b/tests/end_to_end/scenarios/stable_id.py @@ -0,0 +1,26 @@ +from scenarios import * + +import scenarios.simple_channel_join + +# see https://xmpp.org/extensions/xep-0359.html + +scenario = ( + scenarios.simple_channel_join.scenario, + + send_stanza(""" + + + coucou"""), + + # Entities, which are routing stanzas, SHOULD NOT strip any elements + # qualified by the 'urn:xmpp:sid:0' namespace from message stanzas + # unless the preceding rule applied to those elements. + expect_stanza("/message/stable_id:origin-id[@id='client-origin-id']", + # Stanza ID generating entities, which encounter a + # element where the 'by' attribute matches the 'by' attribute they + # would otherwise set, MUST delete that element even if they are not + # adding their own stanza ID. + "/message/stable_id:stanza-id[@id][@by='#foo%{irc_server_one}']", + "!/message/stable_id:stanza-id[@id='client-stanza-id']", + ), +) -- cgit v1.2.3