Software /
code /
prosody-modules
File
mod_bookmarks2/tests/conversion.scs @ 5553:67152838afbc
mod_http_oauth2: Improve error messages for URI properties
Since there are separate validation checks for URI properties, including
that they should use https, with better and more specific error reporting.
Reverts 'luaPattern' to 'pattern' which is not currently supported by
util.jsonschema, but allows anything that retrieves the schema over http
to validate against it, should they wish to do so.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 17 Jun 2023 18:15:00 +0200 |
parent | 4640:d835cb7d2b47 |
line wrap: on
line source
# Pubsub: Bookmarks 2.0 [Client] Juliet-old jid: admin@localhost password: password [Client] Juliet-new jid: admin@localhost password: password // admin@localhost is assumed to have node creation privileges --------- Juliet-new connects -- Generated with https://gitlab.com/xmpp-rs/xmpp-parsers: -- cargo run --example=generate-caps https://code.matthewwild.co.uk/scansion/ <<< "<query xmlns='http://jabber.org/protocol/disco#info'><identity category='client' name='scansion' type='bot'/><feature var='http://jabber.org/protocol/disco#info'/><feature var='urn:xmpp:bookmarks:1+notify'/></query>" Juliet-new sends: <presence id='presence0'> <c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='https://code.matthewwild.co.uk/scansion/' ver='CPuQARM1gCTq2f6/ZjHUzWL2QHg='/> <c xmlns='urn:xmpp:caps'> <hash xmlns='urn:xmpp:hashes:2' algo='sha-256'>OTy9GPCvBZRvqzOHmD/ThA1WbBH3tNoeKbdqKQCRPHc=</hash> <hash xmlns='urn:xmpp:hashes:2' algo='sha3-256'>f/rxDeTf6HyjQ382V3GEG/UfAs5IeclC05jBSBnVQCI=</hash> <hash xmlns='urn:xmpp:hashes:2' algo='blake2b-256'>ucfqg/NrLj0omE+26hYMrbpcmxHcU4Z3hfAQIF+6tt0=</hash> </c> </presence> Juliet-new receives: <iq from="${Juliet-new's JID}" id='disco' type='get'> <query xmlns='http://jabber.org/protocol/disco#info' node='https://code.matthewwild.co.uk/scansion/#CPuQARM1gCTq2f6/ZjHUzWL2QHg='/> </iq> Juliet-new sends: <iq to="${Juliet-new's JID}" id='disco' type='result'> <query xmlns='http://jabber.org/protocol/disco#info' node='https://code.matthewwild.co.uk/scansion/#CPuQARM1gCTq2f6/ZjHUzWL2QHg='> <identity category='client' name='scansion' type='bot'/> <feature var='http://jabber.org/protocol/disco#info'/> <feature var='urn:xmpp:bookmarks:1+notify'/> </query> </iq> Juliet-old connects Juliet-old sends: <iq type='get' id='get0'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-old receives: <iq type='result' id='get0'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-old sends: <iq type='set' id='pub0'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'> <conference name='The Play's the Thing' autojoin='true' jid='theplay@conference.shakespeare.lit'> <nick>JC</nick> </conference> </storage> </query> </iq> Juliet-new receives: <message type='headline' from="${Juliet-new's JID}"> <event xmlns='http://jabber.org/protocol/pubsub#event'> <items node='urn:xmpp:bookmarks:1'> <item id='theplay@conference.shakespeare.lit'> <conference xmlns='urn:xmpp:bookmarks:1' name='The Play's the Thing' autojoin='true'> <nick>JC</nick> </conference> </item> </items> </event> </message> Juliet-old receives: <iq type='result' id='pub0'/> Juliet-old sends: <iq type='get' id='get1'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-old receives: <iq type='result' id='get1'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'> <conference name='The Play's the Thing' autojoin='true' jid='theplay@conference.shakespeare.lit'> <nick>JC</nick> </conference> </storage> </query> </iq> Juliet-old sends: <iq type='set' id='pub1'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'> <conference name='The Play's the Thing' autojoin='true' jid='theplay@conference.shakespeare.lit'> <nick>JC</nick> </conference> <conference name='The Orchard' autojoin='true' jid='orchard@conference.shakespeare.lit'> <nick>JC</nick> </conference> </storage> </query> </iq> Juliet-new receives: <message type='headline' from="${Juliet-new's JID}"> <event xmlns='http://jabber.org/protocol/pubsub#event'> <items node='urn:xmpp:bookmarks:1'> <item id='orchard@conference.shakespeare.lit'> <conference xmlns='urn:xmpp:bookmarks:1' name='The Orchard' autojoin='true'> <nick>JC</nick> </conference> </item> </items> </event> </message> Juliet-old receives: <iq type='result' id='pub1'/> Juliet-old sends: <iq type='get' id='get2'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-old receives: <iq type='result' id='get2'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'> <conference name='The Play's the Thing' autojoin='true' jid='theplay@conference.shakespeare.lit'> <nick>JC</nick> </conference> <conference name='The Orchard' autojoin='true' jid='orchard@conference.shakespeare.lit'> <nick>JC</nick> </conference> </storage> </query> </iq> Juliet-old sends: <iq type='set' id='retract0'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'> <conference name='The Orchard' autojoin='true' jid='orchard@conference.shakespeare.lit'> <nick>JC</nick> </conference> </storage> </query> </iq> Juliet-new receives: <message type='headline' from="${Juliet-new's JID}"> <event xmlns='http://jabber.org/protocol/pubsub#event'> <items node='urn:xmpp:bookmarks:1'> <retract id='theplay@conference.shakespeare.lit'/> </items> </event> </message> Juliet-old receives: <iq type='result' id='retract0'/> Juliet-old sends: <iq type='get' id='get3'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-old receives: <iq type='result' id='get3'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'> <conference name='The Orchard' autojoin='true' jid='orchard@conference.shakespeare.lit'> <nick>JC</nick> </conference> </storage> </query> </iq> Juliet-old sends: <iq type='set' id='purge0'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-new receives: <message type='headline' from="${Juliet-new's JID}"> <event xmlns='http://jabber.org/protocol/pubsub#event'> <purge node='urn:xmpp:bookmarks:1'/> </event> </message> Juliet-old receives: <iq type='result' id='purge0'/> Juliet-old sends: <iq type='get' id='get4'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-old receives: <iq type='result' id='get4'> <query xmlns='jabber:iq:private'> <storage xmlns='storage:bookmarks'/> </query> </iq> Juliet-old disconnects Juliet-new disconnects // vim: syntax=xml: