spec/scansion/issue978.scs
author Matthew Wild <mwild1@gmail.com>
Mon, 20 Feb 2023 18:10:15 +0000
branch0.12
changeset 12898 0598d822614f
parent 9294 329a670ae975
permissions -rw-r--r--
mod_websocket: Fire pre-session-close event (fixes #1800) This event was added in a7c183bb4e64 and is required to make mod_smacks know that a session was intentionally closed and shouldn't be hibernated (see fcea4d9e7502). Because this was missing from mod_websocket's session.close(), mod_smacks would always attempt to hibernate websocket sessions even if they closed cleanly. That mod_websocket has its own copy of session.close() is something to fix another day (probably not in the stable branch). So for now this commit makes the minimal change to get things working again. Thanks to Damian and the Jitsi team for reporting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9294
329a670ae975 spec/scansion: Ensure all scripts have sensible titles
Matthew Wild <mwild1@gmail.com>
parents: 9269
diff changeset
     1
# Issue 978: MUC does not carry error into occupant leave status (single client)
9269
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     2
[Client] Romeo
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
	jid: user@localhost
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
	password: password
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     5
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     6
[Client] Juliet
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     7
	jid: user2@localhost
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     8
	password: password
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     9
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    10
-----
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    11
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    12
Romeo connects
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    13
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    14
Romeo sends:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    15
	<presence to="room@conference.localhost/Romeo">
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    16
		<x xmlns="http://jabber.org/protocol/muc"/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    17
	</presence>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    18
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    19
Romeo receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    20
	<presence from='room@conference.localhost/Romeo'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    21
		<x xmlns='http://jabber.org/protocol/muc#user'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    22
			<status code='201'/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    23
			<item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    24
			<status code='110'/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    25
		</x>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    26
	</presence>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    27
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    28
Romeo receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    29
	<message type='groupchat' from='room@conference.localhost'><subject/></message>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    30
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    31
# Submit config form
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    32
Romeo sends:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    33
	<iq id='config1' to='room@conference.localhost' type='set'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    34
		<query xmlns='http://jabber.org/protocol/muc#owner'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    35
			<x xmlns='jabber:x:data' type='submit'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    36
				<field var='FORM_TYPE'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    37
					<value>http://jabber.org/protocol/muc#roomconfig</value>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    38
				</field>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    39
				<field var='muc#roomconfig_whois'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    40
					<value>anyone</value>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    41
				</field>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    42
			</x>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    43
		</query>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    44
	</iq>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    45
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    46
Romeo receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    47
	<iq id="config1" from="room@conference.localhost" type="result">
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    48
	</iq>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    49
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    50
# Juliet connects, and joins the room
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    51
Juliet connects
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    52
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    53
Juliet sends:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    54
	<presence to="room@conference.localhost/Juliet">
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    55
		<x xmlns="http://jabber.org/protocol/muc"/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    56
	</presence>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    57
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    58
Juliet receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    59
	<presence from="room@conference.localhost/Romeo" />
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    60
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    61
Juliet receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    62
	<presence from="room@conference.localhost/Juliet" />
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    63
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    64
Juliet receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    65
	<message type='groupchat' from='room@conference.localhost'><subject/></message>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    66
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    67
Romeo receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    68
	<presence from="room@conference.localhost/Juliet" />
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    69
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    70
Juliet sends:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    71
	<presence type='error' to='room@conference.localhost'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    72
		<error type='cancel'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    73
			<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    74
			<text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Test error</text>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    75
		</error>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    76
	</presence>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    77
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    78
Romeo receives:
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    79
	<presence type='unavailable' from='room@conference.localhost/Juliet'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    80
		<status>Kicked: service unavailable: Test error</status>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    81
		<x xmlns='http://jabber.org/protocol/muc#user'>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    82
			<status code='333'/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    83
			<item jid="${Juliet's full JID}" affiliation='none' role='none'/>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    84
		</x>
c5267f5fd6e6 spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    85
	</presence>