File

spec/scansion/vcard_temp.scs @ 11455:a5050e21ab08

util.datamapper: Separate extraction of xml from coercion to target type Now it gets the text, attribute or name first, then turns it into whatever the schema wants. This should be easier to further factor out into preparation for array support.
author Kim Alvefur <zash@zash.se>
date Sun, 14 Mar 2021 03:06:37 +0100
parent 9524:1f6f3b941eb1
child 12967:53b0730093d8
line wrap: on
line source

# XEP-0054 vCard-temp writable and readable by anyone
# mod_scansion_record on host 'localhost' recording started 2018-10-20T15:00:12Z

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

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

-----

Romeo connects

# Romeo sets his vCard
# FN and N are required by the schema and mod_vcard_legacy will always inject them
Romeo sends:
	<iq id="lx3" type="set">
		<vCard xmlns="vcard-temp">
			<FN>Romeo Montague</FN>
			<N>
				<FAMILY>Montague</FAMILY>
				<GIVEN>Romeo</GIVEN>
				<MIDDLE/>
				<PREFIX/>
				<SUFFIX/>
			</N>
		</vCard>
	</iq>

Romeo receives:
	<iq type="result" id="lx3" to="${Romeo's full JID}"/>

Romeo sends:
	<iq id="lx4" type="get">
		<vCard xmlns="vcard-temp"/>
	</iq>

Romeo receives:
	<iq type="result" id="lx4" to="${Romeo's full JID}">
		<vCard xmlns="vcard-temp">
			<FN>Romeo Montague</FN>
			<N>
				<FAMILY>Montague</FAMILY>
				<GIVEN>Romeo</GIVEN>
				<MIDDLE/>
				<PREFIX/>
				<SUFFIX/>
			</N>
		</vCard>
	</iq>

Romeo disconnects

Juliet connects

Juliet sends:
	<iq type="get" id="lx3" to="romeo@localhost">
		<vCard xmlns="vcard-temp"/>
	</iq>

# Juliet can see Romeo's vCard since it's public
Juliet receives:
	<iq type="result" from="romeo@localhost" id="lx3" to="${Juliet's full JID}">
		<vCard xmlns="vcard-temp">
			<FN>Romeo Montague</FN>
			<N>
				<FAMILY>Montague</FAMILY>
				<GIVEN>Romeo</GIVEN>
				<MIDDLE/>
				<PREFIX/>
				<SUFFIX/>
			</N>
		</vCard>
	</iq>

Juliet disconnects

# recording ended on 2018-10-20T15:02:14Z