1from scenarios import *
2
3import scenarios.channel_join_with_two_users
4
5scenario = (
6    scenarios.channel_join_with_two_users.scenario,
7
8    # first users changes their nick
9    send_stanza("<presence from='{jid_one}/{resource_one}' to='#foo%{irc_server_one}/{nick_three}' id='nick_change' />"),
10    expect_unordered(
11        ["/presence[@from='#foo%{irc_server_one}/{nick_one}'][@to='{jid_two}/{resource_one}'][@type='unavailable']",
12         "/presence/muc_user:x/muc_user:status[@code='303']",
13         "/presence/muc_user:x/muc_user:item[@affiliation='admin']",
14         "/presence/muc_user:x/muc_user:item[@role='moderator']",
15         "/presence/muc_user:x/muc_user:item[@nick='{nick_three}']"],
16
17        ["/presence[@from='#foo%{irc_server_one}/{nick_one}'][@to='{jid_one}/{resource_one}'][@type='unavailable']",
18         "/presence/muc_user:x/muc_user:status[@code='303']",
19         "/presence/muc_user:x/muc_user:item[@nick='{nick_three}']",
20         "/presence/muc_user:x/muc_user:item[@affiliation='admin']",
21         "/presence/muc_user:x/muc_user:item[@role='moderator']",
22         "/presence/muc_user:x/muc_user:status[@code='110']"],
23
24        ["/presence[@from='#foo%{irc_server_one}/{nick_three}'][@to='{jid_two}/{resource_one}']",
25         "/presence/muc_user:x/muc_user:item[@affiliation='admin']",
26         "/presence/muc_user:x/muc_user:item[@role='moderator']"],
27
28        ["/presence[@from='#foo%{irc_server_one}/{nick_three}'][@to='{jid_one}/{resource_one}']",
29         "/presence/muc_user:x/muc_user:item[@affiliation='admin']",
30         "/presence/muc_user:x/muc_user:item[@role='moderator']",
31         "/presence/muc_user:x/muc_user:status[@code='110']"]
32    ),
33)
34