aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2018-09-13 14:46:24 +0100
committerMatthew Wild <mwild1@gmail.com>2018-09-13 14:46:24 +0100
commit235281229dc3626581aeb409ac4db1c04fb39f72 (patch)
tree5f9bf30950e5df9d1237ec36cc7030fcd39dbd20 /spec
parent9e8c327fabd2e65d51b4afb420f9cf72fe7bbff8 (diff)
downloadprosody-235281229dc3626581aeb409ac4db1c04fb39f72.tar.gz
prosody-235281229dc3626581aeb409ac4db1c04fb39f72.zip
MUC: If a user with an existing affiliation registers, preserve that affiliation (thanks jc)
Diffstat (limited to 'spec')
-rw-r--r--spec/scansion/muc_register.scs65
1 files changed, 65 insertions, 0 deletions
diff --git a/spec/scansion/muc_register.scs b/spec/scansion/muc_register.scs
index dd9f2cb3..fbc36461 100644
--- a/spec/scansion/muc_register.scs
+++ b/spec/scansion/muc_register.scs
@@ -286,3 +286,68 @@ Juliet receives:
Romeo receives:
<presence from="room@conference.localhost/Juliet" />
+# Romeo updates his own registration
+
+Romeo sends:
+ <iq id='jw81b36f' to='room@conference.localhost' type='get'>
+ <query xmlns='jabber:iq:register'/>
+ </iq>
+
+Romeo receives:
+ <iq type='result' from='room@conference.localhost' id='jw81b36f'>
+ <query xmlns='jabber:iq:register'>
+ <x type='form' xmlns='jabber:x:data'>
+ <field type='hidden' var='FORM_TYPE'>
+ <value>http://jabber.org/protocol/muc#register</value>
+ </field>
+ <field type='text-single' label='Nickname' var='muc#register_roomnick'/>
+ </x>
+ </query>
+ </iq>
+
+Romeo sends:
+ <iq id='nv71va54' to='room@conference.localhost' type='set'>
+ <query xmlns='jabber:iq:register'>
+ <x xmlns='jabber:x:data' type='submit'>
+ <field var='FORM_TYPE'>
+ <value>http://jabber.org/protocol/muc#register</value>
+ </field>
+ <field var='muc#register_roomnick'>
+ <value>Romeo</value>
+ </field>
+ </x>
+ </query>
+ </iq>
+
+Romeo receives:
+ <presence from='room@conference.localhost/Romeo'>
+ <x xmlns='http://jabber.org/protocol/muc#user'>
+ <item affiliation='owner' jid="${Romeo's full JID}" role='moderator'/>
+ <status code='110'/>
+ </x>
+ </presence>
+
+Romeo receives:
+ <iq type='result' from='room@conference.localhost' id='nv71va54'/>
+
+Juliet receives:
+ <presence from='room@conference.localhost/Romeo'>
+ <x xmlns='http://jabber.org/protocol/muc#user'>
+ <item role='moderator' xmlns='http://jabber.org/protocol/muc#user' affiliation='owner'/>
+ </x>
+ </presence>
+
+# Romeo discovers his reserved nick
+
+Romeo sends:
+ <iq id='getnick1' to='room@conference.localhost' type='get'>
+ <query xmlns='http://jabber.org/protocol/disco#info' node='x-roomuser-item'/>
+ </iq>
+
+Romeo receives:
+ <iq type='result' from='room@conference.localhost' id='getnick1'>
+ <query xmlns='http://jabber.org/protocol/disco#info'>
+ <identity category='conference' name='Romeo' type='text'/>
+ </query>
+ </iq>
+