File

spec/scansion/muc_outcast_reason.scs @ 13532:9970d333a63f

mod_pubsub: Use error registry This is what util.error was made for! This replaces the custom error stanza builder with common code in util.stanza that knows enough about util.error and namespaced errors. Some awkwardness remains in the way util.pubsub returns conflicting form fields.
author Kim Alvefur <zash@zash.se>
date Sun, 27 Oct 2024 15:18:24 +0100
parent 13415:f34b33cb1383
line wrap: on
line source

# Save ban reason

[Client] Romeo
	password: password
	jid: user@localhost

-----

Romeo connects

Romeo sends:
	<presence to="muc-outcast-reason@conference.localhost/Romeo">
		<x xmlns="http://jabber.org/protocol/muc"/>
	</presence>

Romeo receives:
	<presence from="muc-outcast-reason@conference.localhost/Romeo">
		<x xmlns="http://jabber.org/protocol/muc#user">
			<status code="201"/>
			<item jid="${Romeo's full JID}" role="moderator" affiliation="owner"/>
			<status code="110"/>
		</x>
	</presence>

Romeo receives:
	<message type="groupchat" from="muc-outcast-reason@conference.localhost">
		<subject/>
	</message>

Romeo sends:
	<iq id="lx5" to="muc-outcast-reason@conference.localhost" type="set">
		<query xmlns="http://jabber.org/protocol/muc#admin">
			<item affiliation="outcast" jid="tybalt@localhost">
				<reason>Hey calm down</reason>
			</item>
		</query>
	</iq>

Romeo receives:
	<message from="muc-outcast-reason@conference.localhost">
		<x xmlns="http://jabber.org/protocol/muc#user">
			<status code="301"/>
			<item jid="tybalt@localhost" affiliation="outcast">
				<reason>Hey calm down</reason>
			</item>
		</x>
	</message>

Romeo receives:
	<iq id="lx5" type="result" from="muc-outcast-reason@conference.localhost"/>

Romeo sends:
	<iq id="lx6" to="muc-outcast-reason@conference.localhost" type="get">
		<query xmlns="http://jabber.org/protocol/muc#admin">
			<item affiliation="outcast"/>
		</query>
	</iq>

Romeo receives:
	<iq id="lx6" type="result" from="muc-outcast-reason@conference.localhost">
		<query xmlns="http://jabber.org/protocol/muc#admin">
			<item jid="tybalt@localhost" affiliation="outcast">
				<reason>Hey calm down</reason>
			</item>
		</query>
	</iq>

Romeo disconnects

Romeo sends:
	<presence type='unavailable'/>