File

spec/scansion/pep_nickname.scs @ 13491:cf367ab36fcc

util.prosodyctl: Use notify socket to wait for Prosody to be ready Previously, prosodyctl only waits for the pidfile to appear, which does not necessarily mean that Prosody is fully ready to receive traffic. By waiting until Prosody says it's ready via the systemd notify socket we know for sure that Prosody is really ready. Notably this should ensure that when running `make integration-test` Prosody is really ready when Scansion starts running tests. Not sure if this timeout handling is optimal.
author Kim Alvefur <zash@zash.se>
date Sun, 19 May 2024 13:06:55 +0200
parent 12965:edde56b60fd7
line wrap: on
line source

# Publishing a nickname in PEP and receiving a notification

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

-----

Romeo connects

Romeo sends:
	<iq id="4" type="set">
	  <pubsub xmlns="http://jabber.org/protocol/pubsub">
	    <publish node="http://jabber.org/protocol/nick">
	      <item id="current">
	        <nickname xmlns="http://jabber.org/protocol/nick"/>
	      </item>
	    </publish>
	  </pubsub>
	</iq>

Romeo receives:
	<iq id="4" type="result">
	  <pubsub xmlns="http://jabber.org/protocol/pubsub">
	    <publish node="http://jabber.org/protocol/nick">
	      <item id="current"/>
	    </publish>
	  </pubsub>
	</iq>

Romeo sends:
	<presence>
	  <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/>
	</presence>

Romeo receives:
	<iq id="disco" from="romeo@localhost" type="get">
	  <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/>
	</iq>

Romeo receives:
	<presence>
	  <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/>
	</presence>

Romeo sends:
	<iq id="disco" type="result" to="romeo@localhost">
	  <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk=">
	    <identity type="console" name="clix" category="client"/>
	    <feature var="http://jabber.org/protocol/disco#items"/>
	    <feature var="http://jabber.org/protocol/disco#info"/>
	    <feature var="http://jabber.org/protocol/caps"/>
	    <feature var="http://jabber.org/protocol/nick+notify"/>
	  </query>
	</iq>

Romeo receives:
	<message type="headline" from="romeo@localhost">
	  <event xmlns="http://jabber.org/protocol/pubsub#event">
	    <items node="http://jabber.org/protocol/nick">
	      <item id="current">
	        <nickname xmlns="http://jabber.org/protocol/nick"/>
	      </item>
	    </items>
	  </event>
	</message>

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

Romeo disconnects