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-should-be-kept']",
# 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-should-be-removed']",
# 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.
"/message/stable_id:stanza-id[@id='client-stanza-id-should-be-kept'][@by='someother@jid']",
),
)