File

spec/scansion/presence_preapproval.scs @ 10590:257dc26e8e65

util.array: Add a test case for a behavior change in Lua 5.3 In Lua 5.1 and 5.2 the __eq metamethod is not invoked if the other argument is of a different metatable, but in Lua 5.3 it is.
author Kim Alvefur <zash@zash.se>
date Tue, 14 Jan 2020 23:39:47 +0100
parent 10515:35bf3b80480f
line wrap: on
line source

# server supports contact subscription pre-approval (RFC 6121 3.4)

[Client] Alice
	jid: preappove-a@localhost
	password: password

[Client] Bob
	jid: preapprove-b@localhost
	password: password

---------

Alice connects

Alice sends:
	<presence/>

Alice receives:
	<presence/>

Alice sends:
	<presence to="${Bob's JID}" type="subscribed"/>

Bob connects

Bob sends:
	<iq type="get" id="roster1">
		<query xmlns="jabber:iq:roster"/>
	</iq>

Bob receives:
	<iq type="result" id="roster1">
		<query xmlns="jabber:iq:roster" ver="{scansion:any}">
		</query>
	</iq>

Bob sends:
	<presence/>

Bob receives:
	<presence from="${Bob's full JID}"/>

Bob sends:
	<presence to="${Alice's JID}" type="subscribe" />

Bob receives:
	<iq type='set' id='{scansion:any}'>
		<query ver='1' xmlns='jabber:iq:roster'>
			<item jid="${Alice's JID}" subscription='none' ask='subscribe' />
		</query>
	</iq>



Bob receives:
	<presence from="${Alice's JID}" type="subscribed" />

Bob disconnects

Alice sends:
	<iq type="get" id="roster1">
		<query xmlns="jabber:iq:roster"/>
	</iq>

Alice receives:
	<iq type="result" id="roster1">
		<query xmlns="jabber:iq:roster" ver="{scansion:any}">
			<item jid="${Bob's JID}" subscription="from" />
		</query>
	</iq>

Alice disconnects

Bob disconnects