File

spec/scansion/pubsub_createdelete.scs @ 13575:750ff9f579e2

mod_c2s, mod_s2s: Support for queuing callbacks to run in session thread This allows certain session-specific code that needs to run in the async context, but is itself triggered outside of that context (e.g. timers), to be queued. An example of this is the session destruction code of mod_smacks, when the hibernation timeout is reached.
author Matthew Wild <mwild1@gmail.com>
date Thu, 21 Nov 2024 17:02:07 +0000
parent 9291:329a670ae975
line wrap: on
line source

# Pubsub: Create and delete

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

// admin@localhost is assumed to have node creation privileges

---------

Romeo connects

Romeo sends:
	<iq type="set" to="pubsub.localhost" id='create1'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<create node="princely_musings"/>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="result" id='create1'/>

Romeo sends:
	<iq type="set" to="pubsub.localhost" id='create2'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<create node="princely_musings"/>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="error" id='create2'>
		<error type="cancel">
			<conflict xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
		</error>
	</iq>

Romeo sends:
	<iq type="set" to="pubsub.localhost" id='delete1'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
			<delete node="princely_musings"/>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="result" id='delete1'/>

Romeo sends:
	<iq type="set" to="pubsub.localhost" id='delete2'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
			<delete node="princely_musings"/>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="error" id='delete2'>
		<error type="cancel">
			<item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
		</error>
	</iq>

Romeo disconnects

// vim: syntax=xml: