aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/scansion/muc_nickname_robotface.scs46
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/scansion/muc_nickname_robotface.scs b/spec/scansion/muc_nickname_robotface.scs
new file mode 100644
index 00000000..160c13d6
--- /dev/null
+++ b/spec/scansion/muc_nickname_robotface.scs
@@ -0,0 +1,46 @@
+# MUC: Prevent nicknames failing strict resourceprep
+
+[Client] Romeo
+ jid: user@localhost
+ password: password
+
+[Client] Roboteo
+ jid: bot@localhost
+ password: password
+
+-----
+
+Romeo connects
+
+Romeo sends:
+ <presence to="nobots@conference.localhost/Romeo">
+ <x xmlns="http://jabber.org/protocol/muc"/>
+ </presence>
+
+Romeo receives:
+ <presence from='nobots@conference.localhost/Romeo'>
+ <x xmlns='http://jabber.org/protocol/muc#user'>
+ <status code='201'/>
+ <item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
+ <status code='110'/>
+ </x>
+ </presence>
+
+Romeo receives:
+ <message type='groupchat' from='nobots@conference.localhost'><subject/></message>
+
+Roboteo connects
+
+Roboteo sends:
+ <presence to="nobots@conference.localhost/🤖️">
+ <x xmlns="http://jabber.org/protocol/muc"/>
+ </presence>
+
+Roboteo receives:
+ <presence type='error' from='nobots@conference.localhost/🤖'>
+ <error by='nobots@conference.localhost' type='modify'>
+ <jid-malformed xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
+ <text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Nickname must pass strict validation</text>
+ </error>
+ </presence>
+