File

spec/scansion/muc_nickname_robotface.scs @ 11779:f4f0bdaeabd2

prosodyctl: Add external connectivity check based on observe.jabber.network This uses the (experimental) observe.jabber.network API to perform external connectivity checks. The idea is to complement the checks prosodyctl can already do with a (nearly) complete s2s/c2s handshake from a remote party to test the entire stack.
author Jonas Schäfer <jonas@wielicki.name>
date Wed, 06 May 2020 18:20:33 +0200
parent 11411:f1fe37916501
line wrap: on
line source

# 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>