File

spec/scansion/basic_roster.scs @ 13073:9e5802b45b9e

mod_tokenauth: Only check if expiry of expiring tokens Some tokens, e.g. OAuth2 refresh tokens, might not have their lifetime explicitly bounded here, but rather be bounded by the lifetime of something else, like the OAuth2 client. Open question: Would it be better to enforce a lifetime on all tokens?
author Kim Alvefur <zash@zash.se>
date Wed, 12 Apr 2023 10:21:32 +0200
parent 9305:f14c81fd44a4
line wrap: on
line source

# Basic roster test

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

[Client] Juliet
	jid: juliet@localhost
	password: password

---------

Romeo connects

Juliet connects

Romeo sends:
	<presence/>

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

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

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

# Add nurse to roster

Romeo sends:
	<iq type="set" id="roster2">
		<query xmlns="jabber:iq:roster">
			<item jid='nurse@localhost'/>
		</query>
	</iq>

# Receive the roster add result

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

# Receive the roster push

Romeo receives:
	<iq type="set" id="{scansion:any}">
		<query xmlns='jabber:iq:roster' ver='{scansion:any}'>
			<item jid='nurse@localhost' subscription='none'/>
		</query>
	</iq>

Romeo sends:
	<iq type="result" id="fixme"/>

# Fetch the roster, it should include nurse now

Romeo sends:
	<iq type="get" id="roster3">
		<query xmlns='jabber:iq:roster'/>
	</iq>

Romeo receives:
	<iq type="result" id="roster3">
		<query xmlns='jabber:iq:roster' ver="{scansion:any}">
			<item subscription='none' jid='nurse@localhost'/>
		</query>
	</iq>

Romeo disconnects