complement/sytest.list
2022-10-18 14:41:32 +02:00

655 lines
59 KiB
Text

# Extracted from matrix-org/sytest#da1c9e22
# With `grep -E "^\s*(test|multi_test) \"" -R . | grep ".pl:" | docker run --rm -i -e LC_ALL=C ubuntu:18.04 sort`
./tests/10apidoc/01register.pl: test "POST $ep_name admin with shared secret",
./tests/10apidoc/01register.pl: test "POST $ep_name with shared secret disallows symbols",
./tests/10apidoc/01register.pl: test "POST $ep_name with shared secret downcases capitals",
./tests/10apidoc/01register.pl: test "POST $ep_name with shared secret",
./tests/10apidoc/01register.pl: test "POST /register allows registration of usernames with '$chr'",
./tests/10apidoc/01register.pl: test "POST /register rejects registration of usernames with '$q'",
./tests/10apidoc/01register.pl:test "GET /register yields a set of flows",
./tests/10apidoc/01register.pl:test "POST /register can create a user",
./tests/10apidoc/01register.pl:test "POST /register downcases capitals in usernames",
./tests/10apidoc/01register.pl:test "POST /register returns the same device_id as that in the request",
./tests/10apidoc/01request-encoding.pl:test "POST rejects invalid utf-8 in JSON",
./tests/10apidoc/02login.pl:test "GET /login yields a set of flows",
./tests/10apidoc/02login.pl:test "POST /login as non-existing user is rejected",
./tests/10apidoc/02login.pl:test "POST /login can log in as a user with just the local part of the id",
./tests/10apidoc/02login.pl:test "POST /login can log in as a user",
./tests/10apidoc/02login.pl:test "POST /login returns the same device_id as that in the request",
./tests/10apidoc/02login.pl:test "POST /login wrong password is rejected",
./tests/10apidoc/03events-initial.pl:test "GET /events initially",
./tests/10apidoc/03events-initial.pl:test "GET /initialSync initially",
./tests/10apidoc/04version.pl:test "Version responds 200 OK with valid structure",
./tests/10apidoc/10profile-displayname.pl:test "GET /profile/:user_id/displayname publicly accessible",
./tests/10apidoc/10profile-displayname.pl:test "PUT /profile/:user_id/displayname sets my name",
./tests/10apidoc/11profile-avatar_url.pl:test "GET /profile/:user_id/avatar_url publicly accessible",
./tests/10apidoc/11profile-avatar_url.pl:test "PUT /profile/:user_id/avatar_url sets my avatar",
./tests/10apidoc/12device_management.pl:test "DELETE /device/{deviceId} requires UI auth user to match device owner",
./tests/10apidoc/12device_management.pl:test "DELETE /device/{deviceId} with no body gives a 401",
./tests/10apidoc/12device_management.pl:test "DELETE /device/{deviceId}",
./tests/10apidoc/12device_management.pl:test "GET /device/{deviceId} gives a 404 for unknown devices",
./tests/10apidoc/12device_management.pl:test "GET /device/{deviceId}",
./tests/10apidoc/12device_management.pl:test "GET /devices",
./tests/10apidoc/12device_management.pl:test "PUT /device/{deviceId} gives a 404 for unknown devices",
./tests/10apidoc/12device_management.pl:test "PUT /device/{deviceId} updates device fields",
./tests/10apidoc/13ui-auth.pl:test "Can perform interactive authentication with SSO",
./tests/10apidoc/13ui-auth.pl:test "Interactive authentication types include SSO",
./tests/10apidoc/13ui-auth.pl:test "The operation must be consistent through an interactive authentication session",
./tests/10apidoc/13ui-auth.pl:test "The user must be consistent through an interactive authentication session with SSO",
./tests/10apidoc/20presence.pl:test "GET /presence/:user_id/status fetches initial status",
./tests/10apidoc/20presence.pl:test "PUT /presence/:user_id/status updates my presence",
./tests/10apidoc/30room-create.pl:test "Can /sync newly created room",
./tests/10apidoc/30room-create.pl:test "POST /createRoom creates a room with the given version",
./tests/10apidoc/30room-create.pl:test "POST /createRoom ignores attempts to set the room version via creation_content",
./tests/10apidoc/30room-create.pl:test "POST /createRoom makes a private room with invites",
./tests/10apidoc/30room-create.pl:test "POST /createRoom makes a private room",
./tests/10apidoc/30room-create.pl:test "POST /createRoom makes a public room",
./tests/10apidoc/30room-create.pl:test "POST /createRoom makes a room with a name",
./tests/10apidoc/30room-create.pl:test "POST /createRoom makes a room with a topic",
./tests/10apidoc/30room-create.pl:test "POST /createRoom rejects attempts to create rooms with numeric versions",
./tests/10apidoc/30room-create.pl:test "POST /createRoom rejects attempts to create rooms with unknown versions",
./tests/10apidoc/31room-state.pl:test "GET /directory/room/:room_alias yields room ID",
./tests/10apidoc/31room-state.pl:test "GET /joined_rooms lists newly-created room",
./tests/10apidoc/31room-state.pl:test "GET /publicRooms lists newly-created room",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/initialSync fetches initial sync state",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/joined_members fetches my membership",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/state fetches entire room state",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/state/m.room.member/:user_id fetches my membership",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/state/m.room.member/:user_id?format=event fetches my membership event",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/state/m.room.name gets name",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/state/m.room.power_levels fetches powerlevels",
./tests/10apidoc/31room-state.pl:test "GET /rooms/:room_id/state/m.room.topic gets topic",
./tests/10apidoc/31room-state.pl:test "POST /createRoom with creation content",
./tests/10apidoc/31room-state.pl:test "POST /rooms/:room_id/state/m.room.name sets name",
./tests/10apidoc/31room-state.pl:test "POST /rooms/:room_id/state/m.room.topic sets topic",
./tests/10apidoc/32room-alias.pl:test "GET /rooms/:room_id/aliases lists aliases",
./tests/10apidoc/32room-alias.pl:test "PUT /directory/room/:room_alias creates alias",
./tests/10apidoc/33room-members.pl:test "POST /join/:room_alias can join a room with custom content",
./tests/10apidoc/33room-members.pl:test "POST /join/:room_alias can join a room",
./tests/10apidoc/33room-members.pl:test "POST /join/:room_id can join a room with custom content",
./tests/10apidoc/33room-members.pl:test "POST /join/:room_id can join a room",
./tests/10apidoc/33room-members.pl:test "POST /rooms/:room_id/ban can ban a user",
./tests/10apidoc/33room-members.pl:test "POST /rooms/:room_id/invite can send an invite",
./tests/10apidoc/33room-members.pl:test "POST /rooms/:room_id/join can join a room",
./tests/10apidoc/33room-members.pl:test "POST /rooms/:room_id/leave can leave a room",
./tests/10apidoc/34room-messages.pl:test "GET /rooms/:room_id/messages lazy loads members correctly",
./tests/10apidoc/34room-messages.pl:test "GET /rooms/:room_id/messages returns a message",
./tests/10apidoc/34room-messages.pl:test "POST /rooms/:room_id/send/:event_type sends a message",
./tests/10apidoc/34room-messages.pl:test "PUT /rooms/:room_id/send/:event_type/:txn_id deduplicates the same txn id",
./tests/10apidoc/34room-messages.pl:test "PUT /rooms/:room_id/send/:event_type/:txn_id sends a message",
./tests/10apidoc/35room-typing.pl:test "PUT /rooms/:room_id/typing/:user_id sets typing notification",
./tests/10apidoc/36room-levels.pl:test "Both GET and PUT work",
./tests/10apidoc/36room-levels.pl:test "GET /rooms/:room_id/state/m.room.power_levels can fetch levels",
./tests/10apidoc/36room-levels.pl:test "PUT /rooms/:room_id/state/m.room.power_levels can set levels",
./tests/10apidoc/36room-levels.pl:test "PUT power_levels should not explode if the old power levels were empty",
./tests/10apidoc/37room-receipts.pl:test "POST /rooms/:room_id/receipt can create receipts",
./tests/10apidoc/38room-read-marker.pl:test "POST /rooms/:room_id/read_markers can create read marker",
./tests/10apidoc/40content.pl:test "GET /media/v3/download can fetch the value again",
./tests/10apidoc/40content.pl:test "POST /media/v3/upload can create an upload",
./tests/10apidoc/45server-capabilities.pl:test "GET /capabilities is present and well formed for registered user",
./tests/10apidoc/45server-capabilities.pl:test "GET /v3/capabilities is not public",
./tests/11register.pl:multi_test "Register with a recaptcha",
./tests/11register.pl:test "Can register using an email address",
./tests/11register.pl:test "registration accepts non-ascii passwords",
./tests/11register.pl:test "registration is idempotent, with username specified",
./tests/11register.pl:test "registration is idempotent, without username specified",
./tests/11register.pl:test "registration remembers parameters",
./tests/11register.pl:test "registration with inhibit_login inhibits login",
./tests/12login/01threepid-and-password.pl:test "Can login with 3pid and password using m.login.password",
./tests/12login/02cas.pl:test "/login/cas/redirect redirects if the old m.login.cas login type is listed",
./tests/12login/02cas.pl:test "Can login with new user via CAS",
./tests/12login/02cas.pl:test "login types include SSO",
./tests/13logout.pl:test "Can logout all devices",
./tests/13logout.pl:test "Can logout current device",
./tests/13logout.pl:test "Request to logout with invalid an access token is rejected",
./tests/13logout.pl:test "Request to logout without an access token is rejected",
./tests/14account/01change-password.pl:test "After changing password, a different session no longer works by default",
./tests/14account/01change-password.pl:test "After changing password, can log in with new password",
./tests/14account/01change-password.pl:test "After changing password, can't log in with old password",
./tests/14account/01change-password.pl:test "After changing password, different sessions can optionally be kept",
./tests/14account/01change-password.pl:test "After changing password, existing session still works",
./tests/14account/01change-password.pl:test "Pushers created with a different access token are deleted on password change",
./tests/14account/01change-password.pl:test "Pushers created with a the same access token are not deleted on password change",
./tests/14account/02deactivate.pl:test "After deactivating account, can't log in with an email",
./tests/14account/02deactivate.pl:test "After deactivating account, can't log in with password",
./tests/14account/02deactivate.pl:test "Can deactivate account",
./tests/14account/02deactivate.pl:test "Can't deactivate account with wrong password",
./tests/21presence-events.pl:test "Friends presence changes reports events",
./tests/21presence-events.pl:test "Presence change reports an event to myself",
./tests/21presence-events.pl:test "initialSync sees my presence status",
./tests/30rooms/01state.pl:test "Global initialSync with limit=0 gives no messages",
./tests/30rooms/01state.pl:test "Global initialSync",
./tests/30rooms/01state.pl:test "Joining room twice is idempotent",
./tests/30rooms/01state.pl:test "Room creation reports m.room.create to myself",
./tests/30rooms/01state.pl:test "Room creation reports m.room.member to myself",
./tests/30rooms/01state.pl:test "Room initialSync with limit=0 gives no messages",
./tests/30rooms/01state.pl:test "Room initialSync",
./tests/30rooms/01state.pl:test "Setting room topic reports m.room.topic to myself",
./tests/30rooms/01state.pl:test "Setting state twice is idempotent",
./tests/30rooms/02members-local.pl:test "All room members see all room members' presence in global initialSync",
./tests/30rooms/02members-local.pl:test "Existing members see new members' join events",
./tests/30rooms/02members-local.pl:test "Existing members see new members' presence",
./tests/30rooms/02members-local.pl:test "New room members see existing users' presence in room initialSync",
./tests/30rooms/02members-local.pl:test "New room members see their own join event",
./tests/30rooms/03members-remote.pl:test "Existing members see new member's presence",
./tests/30rooms/03members-remote.pl:test "Existing members see new members' join events",
./tests/30rooms/03members-remote.pl:test "New room members see existing members' presence in room initialSync",
./tests/30rooms/03members-remote.pl:test "New room members see first user's profile information in global initialSync",
./tests/30rooms/03members-remote.pl:test "New room members see first user's profile information in per-room initialSync",
./tests/30rooms/03members-remote.pl:test "New room members see their own join event",
./tests/30rooms/03members-remote.pl:test "Remote users can join room by alias",
./tests/30rooms/03members-remote.pl:test "Remote users may not join unfederated rooms",
./tests/30rooms/04messages.pl:test "Ephemeral messages received from clients are correctly expired",
./tests/30rooms/04messages.pl:test "Fetching eventstream a second time doesn't yield the message again",
./tests/30rooms/04messages.pl:test "Local non-members don't see posted message events",
./tests/30rooms/04messages.pl:test "Local room members can get room messages",
./tests/30rooms/04messages.pl:test "Local room members see posted message events",
./tests/30rooms/04messages.pl:test "Message history can be paginated over federation",
./tests/30rooms/04messages.pl:test "Message history can be paginated",
./tests/30rooms/04messages.pl:test "Remote room members also see posted message events",
./tests/30rooms/04messages.pl:test "Remote room members can get room messages",
./tests/30rooms/05aliases.pl:multi_test "Canonical alias can be set",
./tests/30rooms/05aliases.pl:multi_test "Canonical alias can include alt_aliases",
./tests/30rooms/05aliases.pl:test "Alias creators can delete alias with no ops",
./tests/30rooms/05aliases.pl:test "Alias creators can delete canonical alias with no ops",
./tests/30rooms/05aliases.pl:test "Can delete canonical alias",
./tests/30rooms/05aliases.pl:test "Deleting a non-existent alias should return a 404",
./tests/30rooms/05aliases.pl:test "Only room members can list aliases of a room",
./tests/30rooms/05aliases.pl:test "Regular users can add and delete aliases in the default room configuration",
./tests/30rooms/05aliases.pl:test "Regular users can add and delete aliases when m.room.aliases is restricted",
./tests/30rooms/05aliases.pl:test "Remote room alias queries can handle Unicode",
./tests/30rooms/05aliases.pl:test "Room aliases can contain Unicode",
./tests/30rooms/05aliases.pl:test "Users can't delete other's aliases",
./tests/30rooms/05aliases.pl:test "Users with sufficient power-level can delete other's aliases",
./tests/30rooms/06invite.pl:multi_test "Can invite users to invite-only rooms",
./tests/30rooms/06invite.pl:multi_test "Test that we can be reinvited to a room we created",
./tests/30rooms/06invite.pl:test "Invited user can reject invite for empty room",
./tests/30rooms/06invite.pl:test "Invited user can reject invite over federation for empty room",
./tests/30rooms/06invite.pl:test "Invited user can reject invite over federation several times",
./tests/30rooms/06invite.pl:test "Invited user can reject invite over federation",
./tests/30rooms/06invite.pl:test "Invited user can reject invite",
./tests/30rooms/06invite.pl:test "Invited user can reject local invite after originator leaves",
./tests/30rooms/06invite.pl:test "Invited user can see room metadata",
./tests/30rooms/06invite.pl:test "Remote invited user can see room metadata",
./tests/30rooms/06invite.pl:test "Uninvited users cannot join the room",
./tests/30rooms/06invite.pl:test "Users cannot invite a user that is already in the room",
./tests/30rooms/06invite.pl:test "Users cannot invite themselves to a room",
./tests/30rooms/07ban.pl:test "Banned user is kicked and may not rejoin until unbanned",
./tests/30rooms/07ban.pl:test "Remote banned user is kicked and may not rejoin until unbanned",
./tests/30rooms/08levels.pl: multi_test "Users cannot set $levelname powerlevel higher than their own",
./tests/30rooms/08levels.pl:multi_test "Users cannot set notifications powerlevel higher than their own",
./tests/30rooms/08levels.pl:test "Unprivileged users can set m.room.topic if it only needs level 0",
./tests/30rooms/09eventstream.pl:multi_test "Check that event streams started after a client joined a room work (SYT-1)",
./tests/30rooms/09eventstream.pl:test "Event stream catches up fully after many messages",
./tests/30rooms/10redactions.pl:test "PUT /redact disallows redaction of event in different room",
./tests/30rooms/10redactions.pl:test "PUT /rooms/:room_id/redact/:event_id/:txn_id as original message sender redacts message",
./tests/30rooms/10redactions.pl:test "PUT /rooms/:room_id/redact/:event_id/:txn_id as power user redacts message",
./tests/30rooms/10redactions.pl:test "PUT /rooms/:room_id/redact/:event_id/:txn_id as random user does not redact message",
./tests/30rooms/10redactions.pl:test "PUT /rooms/:room_id/redact/:event_id/:txn_id is idempotent",
./tests/30rooms/10redactions.pl:test "Redaction of a redaction redacts the redaction reason",
./tests/30rooms/11leaving.pl:test "A departed room is still included in /initialSync (SPEC-216)",
./tests/30rooms/11leaving.pl:test "Can get 'm.room.name' state for a departed room (SPEC-216)",
./tests/30rooms/11leaving.pl:test "Can get rooms/{roomId}/initialSync for a departed room (SPEC-216)",
./tests/30rooms/11leaving.pl:test "Can get rooms/{roomId}/members for a departed room (SPEC-216)",
./tests/30rooms/11leaving.pl:test "Can get rooms/{roomId}/messages for a departed room (SPEC-216)",
./tests/30rooms/11leaving.pl:test "Can get rooms/{roomId}/state for a departed room (SPEC-216)",
./tests/30rooms/11leaving.pl:test "Getting messages going forward is limited for a departed room (SPEC-216)",
./tests/30rooms/12thirdpartyinvite.pl:test "3pid invite join valid signature but revoked keys are rejected",
./tests/30rooms/12thirdpartyinvite.pl:test "3pid invite join valid signature but unreachable ID server are rejected",
./tests/30rooms/12thirdpartyinvite.pl:test "3pid invite join with wrong but valid signature are rejected",
./tests/30rooms/12thirdpartyinvite.pl:test "Can accept third party invite with /join",
./tests/30rooms/12thirdpartyinvite.pl:test "Can accept unbound 3pid invite after inviter leaves",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite existing 3pid in createRoom",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite existing 3pid with no ops into a private room",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite existing 3pid",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite unbound 3pid over federation with no ops into a private room",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite unbound 3pid over federation with users from both servers",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite unbound 3pid over federation",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite unbound 3pid with no ops into a private room",
./tests/30rooms/12thirdpartyinvite.pl:test "Can invite unbound 3pid",
./tests/30rooms/13guestaccess.pl:test "GET /publicRooms includes avatar URLs",
./tests/30rooms/13guestaccess.pl:test "GET /publicRooms lists rooms",
./tests/30rooms/13guestaccess.pl:test "Guest user calling /events doesn't tightloop",
./tests/30rooms/13guestaccess.pl:test "Guest user can set display names",
./tests/30rooms/13guestaccess.pl:test "Guest user can upgrade to fully featured user",
./tests/30rooms/13guestaccess.pl:test "Guest user cannot call /events globally",
./tests/30rooms/13guestaccess.pl:test "Guest user cannot upgrade other users",
./tests/30rooms/13guestaccess.pl:test "Guest users are kicked from guest_access rooms on revocation of guest_access over federation",
./tests/30rooms/13guestaccess.pl:test "Guest users are kicked from guest_access rooms on revocation of guest_access",
./tests/30rooms/13guestaccess.pl:test "Guest users can accept invites to private rooms over federation",
./tests/30rooms/13guestaccess.pl:test "Guest users can join guest_access rooms",
./tests/30rooms/13guestaccess.pl:test "Guest users can send messages to guest_access rooms if joined",
./tests/30rooms/13guestaccess.pl:test "Guest users denied access over federation if guest access prohibited",
./tests/30rooms/14override-per-room.pl:test "Room members can join a room with an overridden displayname",
./tests/30rooms/14override-per-room.pl:test "Room members can override their displayname on a room-specific basis",
./tests/30rooms/15kick.pl:test "Users cannot kick users from a room they are not in",
./tests/30rooms/15kick.pl:test "Users cannot kick users who have already left a room",
./tests/30rooms/20typing.pl:test "Typing can be explicitly stopped",
./tests/30rooms/20typing.pl:test "Typing notification sent to local room members",
./tests/30rooms/20typing.pl:test "Typing notifications also sent to remote room members",
./tests/30rooms/21receipts.pl:multi_test "Read receipts are visible to /initialSync",
./tests/30rooms/21receipts.pl:test "Read receipts are sent as events",
./tests/30rooms/21receipts.pl:test "Receipts must be m.read",
./tests/30rooms/22profile.pl: test "$datum updates affect room member events",
./tests/30rooms/30history-visibility.pl:test "Backfill works correctly with history visibility set to joined",
./tests/30rooms/30history-visibility.pl:test "Only see history_visibility changes on boundaries",
./tests/30rooms/31forget.pl:test "Can forget room you've been kicked from",
./tests/30rooms/31forget.pl:test "Can re-join room if re-invited",
./tests/30rooms/31forget.pl:test "Can't forget room you're still in",
./tests/30rooms/31forget.pl:test "Forgetting room does not show up in v2 /sync",
./tests/30rooms/31forget.pl:test "Forgotten room messages cannot be paginated",
./tests/30rooms/32erasure.pl:test "Only original members of the room can see messages from erased users",
./tests/30rooms/40joinedapis.pl:test "/joined_members return joined members",
./tests/30rooms/40joinedapis.pl:test "/joined_rooms returns only joined rooms",
./tests/30rooms/50context.pl:test "/context/ on joined room works",
./tests/30rooms/50context.pl:test "/context/ on non world readable room does not work",
./tests/30rooms/50context.pl:test "/context/ returns correct number of events",
./tests/30rooms/50context.pl:test "/context/ with lazy_load_members filter works",
./tests/30rooms/51event.pl:test "/event/ does not allow access to events before the user joined",
./tests/30rooms/51event.pl:test "/event/ on joined room works",
./tests/30rooms/51event.pl:test "/event/ on non world readable room does not work",
./tests/30rooms/52members.pl:test "Can filter rooms/{roomId}/members",
./tests/30rooms/52members.pl:test "Can get rooms/{roomId}/members at a given point",
./tests/30rooms/52members.pl:test "Can get rooms/{roomId}/members",
./tests/30rooms/60version_upgrade.pl: test "$user_type user has push rules copied to upgraded room",
./tests/30rooms/60version_upgrade.pl: test "/upgrade should preserve room visibility for $vis rooms",
./tests/30rooms/60version_upgrade.pl:test "/upgrade copies >100 power levels to the new room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade copies ban events to the new room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade copies important state to the new room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade copies the power levels to the new room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade creates a new room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade is rejected if the user can't send state events",
./tests/30rooms/60version_upgrade.pl:test "/upgrade moves aliases to the new room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade moves remote aliases to the new room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade of a bogus room fails gracefully",
./tests/30rooms/60version_upgrade.pl:test "/upgrade preserves direct room state",
./tests/30rooms/60version_upgrade.pl:test "/upgrade preserves room federation ability",
./tests/30rooms/60version_upgrade.pl:test "/upgrade preserves the power level of the upgrading user in old and new rooms",
./tests/30rooms/60version_upgrade.pl:test "/upgrade restricts power levels in the old room when the old PLs are unusual",
./tests/30rooms/60version_upgrade.pl:test "/upgrade restricts power levels in the old room",
./tests/30rooms/60version_upgrade.pl:test "/upgrade to an unknown version is rejected",
./tests/30rooms/60version_upgrade.pl:test "Cannot send tombstone event that points to the same room",
./tests/30rooms/60version_upgrade.pl:test "Local and remote users' homeservers remove a room from their public directory on upgrade",
./tests/30rooms/70publicroomslist.pl:test "Asking for a remote rooms list, but supplying the local server's name, returns the local rooms list",
./tests/30rooms/70publicroomslist.pl:test "Can get remote public room list",
./tests/30rooms/70publicroomslist.pl:test "Can paginate public room list",
./tests/30rooms/70publicroomslist.pl:test "Can search public room list",
./tests/30rooms/70publicroomslist.pl:test "Name/topic keys are correct",
./tests/31sync/01filter.pl:test "Can create filter",
./tests/31sync/01filter.pl:test "Can download filter",
./tests/31sync/02sync.pl:test "Can sync",
./tests/31sync/03joined.pl:test "Can sync a joined room",
./tests/31sync/03joined.pl:test "Full state sync includes joined rooms",
./tests/31sync/03joined.pl:test "Get presence for newly joined members in incremental sync",
./tests/31sync/03joined.pl:test "Newly joined room has correct timeline in incremental sync",
./tests/31sync/03joined.pl:test "Newly joined room includes presence in incremental sync",
./tests/31sync/03joined.pl:test "Newly joined room is included in an incremental sync",
./tests/31sync/04timeline.pl:test "A filtered timeline reaches its limit",
./tests/31sync/04timeline.pl:test "A full_state incremental update returns only recent timeline",
./tests/31sync/04timeline.pl:test "A message sent after an initial sync appears in the timeline of an incremental sync.",
./tests/31sync/04timeline.pl:test "A next_batch token can be used in the v1 messages API",
./tests/31sync/04timeline.pl:test "A prev_batch token can be used in the v1 messages API",
./tests/31sync/04timeline.pl:test "A prev_batch token from incremental sync can be used in the v1 messages API",
./tests/31sync/04timeline.pl:test "Can sync a room with a message with a transaction id",
./tests/31sync/04timeline.pl:test "Can sync a room with a single message",
./tests/31sync/04timeline.pl:test "Syncing a new room with a large timeline limit isn't limited",
./tests/31sync/05presence.pl:test "User is offline if they set_presence=offline in their sync",
./tests/31sync/05presence.pl:test "User sees their own presence in a sync",
./tests/31sync/05presence.pl:test "User sees updates to presence from other users in the incremental sync.",
./tests/31sync/06state.pl:test "A change to displayname should appear in incremental /sync",
./tests/31sync/06state.pl:test "A change to displayname should not result in a full state sync",
./tests/31sync/06state.pl:test "A full_state incremental update returns all state",
./tests/31sync/06state.pl:test "Changes to state are included in an gapped incremental sync",
./tests/31sync/06state.pl:test "Changes to state are included in an incremental sync",
./tests/31sync/06state.pl:test "Current state appears in timeline in private history with many messages after",
./tests/31sync/06state.pl:test "Current state appears in timeline in private history with many messages before",
./tests/31sync/06state.pl:test "Current state appears in timeline in private history",
./tests/31sync/06state.pl:test "State from remote users is included in the state in the initial sync",
./tests/31sync/06state.pl:test "State from remote users is included in the timeline in an incremental sync",
./tests/31sync/06state.pl:test "State is included in the timeline in the initial sync",
./tests/31sync/06state.pl:test "When user joins a room the state is included in a gapped sync",
./tests/31sync/06state.pl:test "When user joins a room the state is included in the next sync",
./tests/31sync/06state.pl:test "When user joins and leaves a room in the same batch, the full state is still included in the next sync",
./tests/31sync/07invited.pl:test "Newly joined room is included in an incremental sync after invite",
./tests/31sync/07invited.pl:test "Rooms a user is invited to appear in an incremental sync",
./tests/31sync/07invited.pl:test "Rooms a user is invited to appear in an initial sync",
./tests/31sync/08polling.pl:test "Sync can be polled for updates",
./tests/31sync/08polling.pl:test "Sync is woken up for leaves",
./tests/31sync/09archived.pl:test "Archived rooms only contain history from before the user left",
./tests/31sync/09archived.pl:test "Left rooms appear in the leave section of full state sync",
./tests/31sync/09archived.pl:test "Left rooms appear in the leave section of sync",
./tests/31sync/09archived.pl:test "Newly left rooms appear in the leave section of gapped sync",
./tests/31sync/09archived.pl:test "Newly left rooms appear in the leave section of incremental sync",
./tests/31sync/09archived.pl:test "Previously left rooms don't appear in the leave section of sync",
./tests/31sync/09archived.pl:test "We should see our own leave event when rejecting an invite, ".
./tests/31sync/09archived.pl:test "We should see our own leave event, even if history_visibility is " .
./tests/31sync/10archived-ban.pl:test "Banned rooms appear in the leave section of sync",
./tests/31sync/10archived-ban.pl:test "Newly banned rooms appear in the leave section of incremental sync",
./tests/31sync/10archived-ban.pl:test "Newly banned rooms appear in the leave section of incremental sync",
./tests/31sync/11typing.pl:test "Typing events appear in gapped sync",
./tests/31sync/11typing.pl:test "Typing events appear in incremental sync",
./tests/31sync/11typing.pl:test "Typing events appear in initial sync",
./tests/31sync/12receipts.pl:test "New read receipts appear in incremental v2 /sync",
./tests/31sync/12receipts.pl:test "Read receipts appear in initial v2 /sync",
./tests/31sync/13filtered_sync.pl:test "Can pass a JSON filter as a query parameter",
./tests/31sync/13filtered_sync.pl:test "Can request federation format via the filter",
./tests/31sync/14read-markers.pl:test "Read markers appear in incremental v2 /sync",
./tests/31sync/14read-markers.pl:test "Read markers appear in initial v2 /sync",
./tests/31sync/14read-markers.pl:test "Read markers can be updated",
./tests/31sync/15lazy-members.pl:test "Gapped incremental syncs include all state changes",
./tests/31sync/15lazy-members.pl:test "Lazy loading parameters in the filter are strictly boolean",
./tests/31sync/15lazy-members.pl:test "Leaves are present in non-gapped incremental syncs",
./tests/31sync/15lazy-members.pl:test "Members from the gap are included in gappy incr LL sync",
./tests/31sync/15lazy-members.pl:test "Old leaves are present in gapped incremental syncs",
./tests/31sync/15lazy-members.pl:test "Old members are included in gappy incr LL sync if they start speaking",
./tests/31sync/15lazy-members.pl:test "Rejecting invite over federation doesn't break incremental /sync",
./tests/31sync/15lazy-members.pl:test "The only membership state included in a gapped incremental sync is for senders in the timeline",
./tests/31sync/15lazy-members.pl:test "The only membership state included in an incremental sync is for senders in the timeline",
./tests/31sync/15lazy-members.pl:test "The only membership state included in an initial sync is for all the senders in the timeline",
./tests/31sync/15lazy-members.pl:test "We do send redundant membership state across incremental syncs if asked",
./tests/31sync/15lazy-members.pl:test "We don't send redundant membership state across incremental syncs by default",
./tests/31sync/16room-summary.pl:test "Named room comes with just joined member count summary",
./tests/31sync/16room-summary.pl:test "Room summary counts change when membership changes",
./tests/31sync/16room-summary.pl:test "Room summary only has 5 heroes",
./tests/31sync/16room-summary.pl:test "Unnamed room comes with a name summary",
./tests/31sync/17peeking.pl: test "We can't peek into rooms with $visibility history_visibility",
./tests/31sync/17peeking.pl:test "Local users can peek by room alias",
./tests/31sync/17peeking.pl:test "Local users can peek into world_readable rooms by room ID",
./tests/31sync/17peeking.pl:test "Peeked rooms only turn up in the sync for the device who peeked them",
./tests/32room-versions.pl: test "$user_type user can join room with version $version",
./tests/32room-versions.pl: test "User can invite $user_type user to room with version $version",
./tests/32room-versions.pl: multi_test "User can create and send/receive messages in a room with version $version",
./tests/32room-versions.pl: test "Can receive redactions from regular users over federation in room version $version",
./tests/32room-versions.pl: test "Can reject invites over federation for rooms with version $version",
./tests/32room-versions.pl: test "Remote user can backfill in a room with version $version",
./tests/40presence.pl:test "Newly created users see their own presence in /initialSync (SYT-34)",
./tests/40presence.pl:test "Presence can be set from sync",
./tests/40presence.pl:test "Presence changes are also reported to remote room members",
./tests/40presence.pl:test "Presence changes are reported to local room members",
./tests/40presence.pl:test "Presence changes to UNAVAILABLE are reported to local room members",
./tests/40presence.pl:test "Presence changes to UNAVAILABLE are reported to remote room members",
./tests/41end-to-end-keys/01-upload-key.pl:test "Can query device keys using POST",
./tests/41end-to-end-keys/01-upload-key.pl:test "Can query specific device keys using POST",
./tests/41end-to-end-keys/01-upload-key.pl:test "Can upload device keys",
./tests/41end-to-end-keys/01-upload-key.pl:test "Rejects invalid device keys",
./tests/41end-to-end-keys/01-upload-key.pl:test "Should reject keys claiming to belong to a different user",
./tests/41end-to-end-keys/01-upload-key.pl:test "query for user with no keys returns empty key dict",
./tests/41end-to-end-keys/03-one-time-keys.pl:multi_test "Can claim one time key using POST",
./tests/41end-to-end-keys/04-query-key-federation.pl:multi_test "Can query remote device keys using POST",
./tests/41end-to-end-keys/05-one-time-key-federation.pl:multi_test "Can claim remote one time key using POST",
./tests/41end-to-end-keys/06-device-lists.pl:test "Can query remote device keys using POST after notification",
./tests/41end-to-end-keys/06-device-lists.pl:test "Device deletion propagates over federation",
./tests/41end-to-end-keys/06-device-lists.pl:test "Get left notifs for other users in sync and /keys/changes when user leaves",
./tests/41end-to-end-keys/06-device-lists.pl:test "Get left notifs in sync and /keys/changes when other user leaves",
./tests/41end-to-end-keys/06-device-lists.pl:test "If remote user leaves room we no longer receive device updates",
./tests/41end-to-end-keys/06-device-lists.pl:test "If remote user leaves room, changes device and rejoins we see update in /keys/changes",
./tests/41end-to-end-keys/06-device-lists.pl:test "If remote user leaves room, changes device and rejoins we see update in sync",
./tests/41end-to-end-keys/06-device-lists.pl:test "If user leaves room, remote user changes device and rejoins we see update in /sync and /keys/changes",
./tests/41end-to-end-keys/06-device-lists.pl:test "Local delete device changes appear in v2 /sync",
./tests/41end-to-end-keys/06-device-lists.pl:test "Local device key changes appear in /keys/changes",
./tests/41end-to-end-keys/06-device-lists.pl:test "Local device key changes appear in v2 /sync",
./tests/41end-to-end-keys/06-device-lists.pl:test "Local new device changes appear in v2 /sync",
./tests/41end-to-end-keys/06-device-lists.pl:test "Local update device changes appear in v2 /sync",
./tests/41end-to-end-keys/06-device-lists.pl:test "New users appear in /keys/changes",
./tests/41end-to-end-keys/06-device-lists.pl:test "Users receive device_list updates for their own devices",
./tests/41end-to-end-keys/07-backup.pl:test "Can backup keys",
./tests/41end-to-end-keys/07-backup.pl:test "Can create backup version",
./tests/41end-to-end-keys/07-backup.pl:test "Can create more than 10 backup versions",
./tests/41end-to-end-keys/07-backup.pl:test "Can delete backup",
./tests/41end-to-end-keys/07-backup.pl:test "Can update backup version",
./tests/41end-to-end-keys/07-backup.pl:test "Can update keys with better versions",
./tests/41end-to-end-keys/07-backup.pl:test "Deleted & recreated backups are empty",
./tests/41end-to-end-keys/07-backup.pl:test "Responds correctly when backup is empty",
./tests/41end-to-end-keys/07-backup.pl:test "Will not back up to an old backup version",
./tests/41end-to-end-keys/07-backup.pl:test "Will not update keys with worse versions",
./tests/41end-to-end-keys/08-cross-signing.pl:test "Can upload self-signing keys",
./tests/41end-to-end-keys/08-cross-signing.pl:test "Changing master key notifies local users",
./tests/41end-to-end-keys/08-cross-signing.pl:test "Changing user-signing key notifies local users",
./tests/41end-to-end-keys/08-cross-signing.pl:test "Fails to upload self-signing key without master key",
./tests/41end-to-end-keys/08-cross-signing.pl:test "Fails to upload self-signing keys with no auth",
./tests/41end-to-end-keys/08-cross-signing.pl:test "can fetch self-signing keys over federation",
./tests/41end-to-end-keys/08-cross-signing.pl:test "uploading self-signing key notifies over federation",
./tests/41end-to-end-keys/08-cross-signing.pl:test "uploading signed devices gets propagated over federation",
./tests/42tags.pl: test "$user_type user has tags copied to the new room",
./tests/42tags.pl:test "Can add tag",
./tests/42tags.pl:test "Can list tags for a room",
./tests/42tags.pl:test "Can remove tag",
./tests/42tags.pl:test "Deleted tags appear in an incremental v2 /sync",
./tests/42tags.pl:test "Newly updated tags appear in an incremental v2 /sync",
./tests/42tags.pl:test "Tags appear in an initial v2 /sync",
./tests/42tags.pl:test "Tags appear in the v1 /events stream",
./tests/42tags.pl:test "Tags appear in the v1 /initialSync",
./tests/42tags.pl:test "Tags appear in the v1 room initial sync",
./tests/44account_data.pl:test "Account data appears in v1 /events stream",
./tests/44account_data.pl:test "Can add account data to room",
./tests/44account_data.pl:test "Can add account data",
./tests/44account_data.pl:test "Can get account data without syncing",
./tests/44account_data.pl:test "Can get room account data without syncing",
./tests/44account_data.pl:test "Latest account data appears in v2 /sync",
./tests/44account_data.pl:test "Latest account data comes down in /initialSync",
./tests/44account_data.pl:test "Latest account data comes down in room initialSync",
./tests/44account_data.pl:test "New account data appears in incremental v2 /sync",
./tests/44account_data.pl:test "Room account data appears in v1 /events stream",
./tests/45openid.pl:test "Can generate a openid access_token that can be exchanged for information about a user",
./tests/45openid.pl:test "Invalid openid access tokens are rejected",
./tests/45openid.pl:test "Requests to userinfo without access tokens are rejected",
./tests/46direct/01directmessage.pl:test "Can recv a device message using /sync",
./tests/46direct/01directmessage.pl:test "Can send a message directly to a device using PUT /sendToDevice",
./tests/46direct/01directmessage.pl:test "Can send a to-device message to two users which both receive it using /sync",
./tests/46direct/02reliability.pl:test "Can recv device messages until they are acknowledged",
./tests/46direct/02reliability.pl:test "Device messages with the same txn_id are deduplicated",
./tests/46direct/03polling.pl:test "Device messages wake up /sync",
./tests/46direct/04federation.pl:test "Can recv device messages over federation",
./tests/46direct/04federation.pl:test "Device messages over federation wake up /sync",
./tests/46direct/05wildcard.pl:test "Can send messages with a wildcard device id to two devices",
./tests/46direct/05wildcard.pl:test "Can send messages with a wildcard device id",
./tests/46direct/05wildcard.pl:test "Wildcard device messages over federation wake up /sync",
./tests/46direct/05wildcard.pl:test "Wildcard device messages wake up /sync",
./tests/48admin.pl:multi_test "Shutdown room",
./tests/48admin.pl:test "/purge_history by ts",
./tests/48admin.pl:test "/purge_history",
./tests/48admin.pl:test "/whois",
./tests/48admin.pl:test "Can backfill purged history",
./tests/49ignore.pl:test "Ignore invite in full sync",
./tests/49ignore.pl:test "Ignore invite in incremental sync",
./tests/49ignore.pl:test "Ignore user in existing room",
./tests/50federation/00prepare.pl: test "foo",
./tests/50federation/00prepare.pl: test "foo",
./tests/50federation/00prepare.pl:test "Checking local federation server",
./tests/50federation/01keys.pl: test "Federation key API can act as a notary server via a $method request",
./tests/50federation/01keys.pl:test "Federation key API allows unsigned requests for keys",
./tests/50federation/01keys.pl:test "Key notary server must not overwrite a valid key with a spurious result from the origin server",
./tests/50federation/01keys.pl:test "Key notary server should return an expired key if it can't find any others",
./tests/50federation/02server-names.pl:test "Non-numeric ports in server names are rejected",
./tests/50federation/10query-profile.pl:test "Inbound federation can query profile data",
./tests/50federation/10query-profile.pl:test "Outbound federation can query profile data",
./tests/50federation/11query-directory.pl:test "Inbound federation can query room alias directory",
./tests/50federation/11query-directory.pl:test "Outbound federation can query room alias directory",
./tests/50federation/30room-join.pl: test "Inbound federation can receive $versionprefix /send_join",
./tests/50federation/30room-join.pl: test "Outbound federation can query $versionprefix /send_join",
./tests/50federation/30room-join.pl:test "A pair of servers can establish a join in a v2 room",
./tests/50federation/30room-join.pl:test "Event with an invalid signature in the send_join response should not cause room join to fail",
./tests/50federation/30room-join.pl:test "Inbound /make_join rejects attempts to join rooms where all users have left",
./tests/50federation/30room-join.pl:test "Inbound /v1/make_join rejects remote attempts to join local users to rooms",
./tests/50federation/30room-join.pl:test "Inbound /v1/send_join rejects incorrectly-signed joins",
./tests/50federation/30room-join.pl:test "Inbound /v1/send_join rejects joins from other servers",
./tests/50federation/30room-join.pl:test "Inbound federation accepts attempts to join v2 rooms from servers with support",
./tests/50federation/30room-join.pl:test "Inbound federation rejects attempts to join v1 rooms from servers without v1 support",
./tests/50federation/30room-join.pl:test "Inbound federation rejects attempts to join v2 rooms from servers lacking version support",
./tests/50federation/30room-join.pl:test "Inbound federation rejects attempts to join v2 rooms from servers only supporting v1",
./tests/50federation/30room-join.pl:test "Inbound federation rejects remote attempts to kick local users to rooms",
./tests/50federation/30room-join.pl:test "Inbound: send_join rejects invalid JSON for room version 6",
./tests/50federation/30room-join.pl:test "Membership event with an invalid displayname in the send_join response should not cause room join to fail",
./tests/50federation/30room-join.pl:test "Outbound federation correctly handles unsupported room versions",
./tests/50federation/30room-join.pl:test "Outbound federation passes make_join failures through to the client",
./tests/50federation/30room-join.pl:test "Outbound federation rejects m.room.create events with an unknown room version",
./tests/50federation/30room-join.pl:test "Outbound federation rejects send_join responses with no m.room.create event",
./tests/50federation/31room-send.pl:test "Ephemeral messages received from servers are correctly expired",
./tests/50federation/31room-send.pl:test "Events whose auth_events are in the wrong room do not mess up the room state",
./tests/50federation/31room-send.pl:test "Inbound federation can receive events",
./tests/50federation/31room-send.pl:test "Inbound federation can receive redacted events",
./tests/50federation/31room-send.pl:test "Outbound federation can send events",
./tests/50federation/32room-getevent.pl:test "Inbound federation can return events",
./tests/50federation/32room-getevent.pl:test "Inbound federation redacts events from erased users",
./tests/50federation/33room-get-missing-events.pl: test "Inbound federation can return missing events for $vis visibility",
./tests/50federation/33room-get-missing-events.pl:test "Outbound federation can request missing events",
./tests/50federation/33room-get-missing-events.pl:test "Outbound federation will ignore a missing event with bad JSON for room version 6",
./tests/50federation/33room-get-missing-events.pl:test "outliers whose auth_events are in a different room are correctly rejected",
./tests/50federation/34room-backfill.pl:test "Backfill checks the events requested belong to the room",
./tests/50federation/34room-backfill.pl:test "Backfilled events whose prev_events are in a different room do not allow cross-room back-pagination",
./tests/50federation/34room-backfill.pl:test "Inbound federation can backfill events",
./tests/50federation/34room-backfill.pl:test "Outbound federation can backfill events",
./tests/50federation/34room-backfill.pl:test "Outbound federation rejects backfill containing invalid JSON for events in room version 6",
./tests/50federation/35room-invite.pl: test "Inbound federation can receive invite and reject when remote "
./tests/50federation/35room-invite.pl: test "Outbound federation can send invites via $prefix API",
./tests/50federation/35room-invite.pl:test "Inbound /v1/send_leave rejects leaves from other servers",
./tests/50federation/35room-invite.pl:test "Inbound federation can receive invite rejections",
./tests/50federation/35room-invite.pl:test "Inbound federation can receive invites via v1 API",
./tests/50federation/35room-invite.pl:test "Inbound federation can receive invites via v2 API",
./tests/50federation/35room-invite.pl:test "Inbound federation rejects incorrectly-signed invite rejections",
./tests/50federation/35room-invite.pl:test "Inbound federation rejects invite rejections which include invalid JSON for room version 6",
./tests/50federation/35room-invite.pl:test "Inbound federation rejects invites which are not signed by the sender",
./tests/50federation/35room-invite.pl:test "Inbound federation rejects invites which include invalid JSON for room version 6",
./tests/50federation/35room-invite.pl:test "Outbound federation rejects invite response which include invalid JSON for room version 6",
./tests/50federation/36state.pl: test "/$endpoint returns M_NOT_FOUND for a rejected $type event",
./tests/50federation/36state.pl: test "/$endpoint returns M_NOT_FOUND for an outlier",
./tests/50federation/36state.pl: test "Room state after a rejected $type event is the same as before",
./tests/50federation/36state.pl:test "Federation handles empty auth_events in state_ids sanely",
./tests/50federation/36state.pl:test "Federation rejects inbound events where the prev_events cannot be found",
./tests/50federation/36state.pl:test "Getting state IDs checks the events requested belong to the room",
./tests/50federation/36state.pl:test "Getting state checks the events requested belong to the room",
./tests/50federation/36state.pl:test "Inbound federation can get state for a room",
./tests/50federation/36state.pl:test "Inbound federation can get state_ids for a room",
./tests/50federation/36state.pl:test "Inbound federation of state requires event_id as a mandatory paramater",
./tests/50federation/36state.pl:test "Inbound federation of state_ids requires event_id as a mandatory paramater",
./tests/50federation/36state.pl:test "Outbound federation requests missing prev_events and then asks for /state_ids and resolves the state",
./tests/50federation/36state.pl:test "Should not be able to take over the room by pretending there is no PL event",
./tests/50federation/37public-rooms.pl:test "Inbound federation can get public room list",
./tests/50federation/38receipts.pl:test "Inbound federation rejects receipts from wrong remote",
./tests/50federation/38receipts.pl:test "Outbound federation sends receipts",
./tests/50federation/39redactions.pl:test "A pair of events which redact each other should be ignored",
./tests/50federation/39redactions.pl:test "An event which redacts an event in a different room should be ignored",
./tests/50federation/39redactions.pl:test "An event which redacts itself should be ignored",
./tests/50federation/39redactions.pl:test "Inbound federation ignores redactions from invalid servers room > v3",
./tests/50federation/40devicelists.pl:test "Device list doesn't change if remote server is down",
./tests/50federation/40devicelists.pl:test "If a device list update goes missing, the server resyncs on the next one",
./tests/50federation/40devicelists.pl:test "Local device key changes get to remote servers with correct prev_id",
./tests/50federation/40devicelists.pl:test "Local device key changes get to remote servers",
./tests/50federation/40devicelists.pl:test "Server correctly handles incoming m.device_list_update",
./tests/50federation/40devicelists.pl:test "Server correctly resyncs when client query keys and there is no remote cache",
./tests/50federation/40devicelists.pl:test "Server correctly resyncs when server leaves and rejoins a room",
./tests/50federation/40publicroomlist.pl:test "Federation publicRoom Name/topic keys are correct",
./tests/50federation/41power-levels.pl:test "Remote servers cannot set power levels in rooms without existing powerlevels",
./tests/50federation/41power-levels.pl:test "Remote servers should reject attempts by non-creators to set the power levels",
./tests/50federation/43typing.pl:test "Inbound federation rejects typing notifications from wrong remote",
./tests/50federation/44presence.pl:multi_test "New federated private chats get full presence information (SYN-115)",
./tests/50federation/50no-deextrem-outliers.pl:test "Forward extremities remain so even after the next events are populated as outliers",
./tests/50federation/50server-acl-endpoints.pl: test "Banned servers cannot $desc",
./tests/50federation/51transactions.pl:test "Server correctly handles transactions that break edu limits",
./tests/50federation/51transactions.pl:test "Server rejects invalid JSON in a version 6 room",
./tests/50federation/52soft-fail.pl:test "Inbound federation accepts a second soft-failed event",
./tests/50federation/52soft-fail.pl:test "Inbound federation correctly handles soft failed events as extremities",
./tests/50federation/52soft-fail.pl:test "Inbound federation correctly soft fails events",
./tests/51media/01unicode.pl:test "Alternative server names do not cause a routing loop",
./tests/51media/01unicode.pl:test "Can download specifying a different Unicode file name",
./tests/51media/01unicode.pl:test "Can download with Unicode file name locally",
./tests/51media/01unicode.pl:test "Can download with Unicode file name over federation",
./tests/51media/01unicode.pl:test "Can upload with Unicode file name",
./tests/51media/02nofilename.pl:test "Can download without a file name locally",
./tests/51media/02nofilename.pl:test "Can download without a file name over federation",
./tests/51media/02nofilename.pl:test "Can upload without a file name",
./tests/51media/03ascii.pl: test "Can download file '$filename'",
./tests/51media/03ascii.pl:test "Can download specifying a different ASCII file name",
./tests/51media/03ascii.pl:test "Can fetch images in room",
./tests/51media/03ascii.pl:test "Can send image in room message",
./tests/51media/03ascii.pl:test "Can upload with ASCII file name",
./tests/51media/10thumbnail.pl:test "POSTed media can be thumbnailed",
./tests/51media/10thumbnail.pl:test "Remote media can be thumbnailed",
./tests/51media/20urlpreview.pl:multi_test "Test URL preview",
./tests/51media/30config.pl:test "Can read configuration endpoint",
./tests/51media/48admin-quarantine.pl:multi_test "Can quarantine media in rooms",
./tests/52user-directory/01public.pl: multi_test "Users appear/disappear from directory when $type are changed",
./tests/52user-directory/01public.pl:multi_test "User joining then leaving public room appears and dissappears from directory",
./tests/52user-directory/01public.pl:multi_test "Users stay in directory when join_rules are changed but history_visibility is world_readable",
./tests/52user-directory/01public.pl:test "User appears in user directory",
./tests/52user-directory/01public.pl:test "User directory correctly update on display name change",
./tests/52user-directory/01public.pl:test "User in private room doesn't appear in user directory",
./tests/52user-directory/01public.pl:test "User in remote room doesn't appear in user directory after server left room",
./tests/52user-directory/02private.pl:test "User in dir while user still shares private rooms",
./tests/52user-directory/02private.pl:test "User in shared private room does appear in user directory until leave",
./tests/52user-directory/02private.pl:test "User in shared private room does appear in user directory",
./tests/54identity.pl:test "3PIDs are unbound after account deactivation",
./tests/54identity.pl:test "Can bind 3PID via home server",
./tests/54identity.pl:test "Can bind and unbind 3PID via /unbind by specifying the identity server",
./tests/54identity.pl:test "Can bind and unbind 3PID via /unbind without specifying the identity server",
./tests/54identity.pl:test "Can bind and unbind 3PID via homeserver",
./tests/54identity.pl:test "Can unbind 3PID via homeserver when bound out of band",
./tests/60app-services/01as-create.pl:test "AS can create a user with an underscore",
./tests/60app-services/01as-create.pl:test "AS can create a user with inhibit_login",
./tests/60app-services/01as-create.pl:test "AS can create a user",
./tests/60app-services/01as-create.pl:test "AS can make room aliases",
./tests/60app-services/01as-create.pl:test "AS cannot create users outside its own namespace",
./tests/60app-services/01as-create.pl:test "Regular users cannot create room aliases within the AS namespace",
./tests/60app-services/01as-create.pl:test "Regular users cannot register within the AS namespace",
./tests/60app-services/02ghost.pl:multi_test "AS-ghosted users can use rooms themselves",
./tests/60app-services/02ghost.pl:multi_test "AS-ghosted users can use rooms via AS",
./tests/60app-services/02ghost.pl:test "AS can set avatar for ghosted users",
./tests/60app-services/02ghost.pl:test "AS can set displayname for ghosted users",
./tests/60app-services/02ghost.pl:test "AS can't set displayname for random users",
./tests/60app-services/02ghost.pl:test "Ghost user must register before joining room",
./tests/60app-services/03passive.pl:multi_test "Accesing an AS-hosted room alias asks the AS server",
./tests/60app-services/03passive.pl:test "Events in rooms with AS-hosted room aliases are sent to AS server",
./tests/60app-services/03passive.pl:test "Inviting an AS-hosted user asks the AS server",
./tests/60app-services/04asuser.pl:test "AS user (not ghost) can join room without registering",
./tests/60app-services/04asuser.pl:test "AS user (not ghost) can join room without registering, with user_id query param",
./tests/60app-services/05lookup3pe.pl:test "HS can provide query metadata on a single protocol",
./tests/60app-services/05lookup3pe.pl:test "HS provides query metadata",
./tests/60app-services/05lookup3pe.pl:test "HS will proxy request for 3PL mapping",
./tests/60app-services/05lookup3pe.pl:test "HS will proxy request for 3PU mapping",
./tests/60app-services/06publicroomlist.pl:test "AS and main public room lists are separate",
./tests/60app-services/06publicroomlist.pl:test "AS can publish rooms in their own list",
./tests/60app-services/07deactivate.pl:test "AS can deactivate a user",
./tests/61push/01message-pushed.pl:multi_test "Test that a message is pushed",
./tests/61push/01message-pushed.pl:test "Don't get pushed for rooms you've muted",
./tests/61push/01message-pushed.pl:test "Invites are pushed",
./tests/61push/01message-pushed.pl:test "Rejected events are not pushed",
./tests/61push/01message-pushed.pl:test "Rooms with canonical alias are correctly named in pushed",
./tests/61push/01message-pushed.pl:test "Rooms with many users are correctly pushed",
./tests/61push/01message-pushed.pl:test "Rooms with names are correctly named in pushes",
./tests/61push/02add_rules.pl: test "Can add global push rule for $kind",
./tests/61push/02add_rules.pl:test "Adding the same push rule twice is idempotent",
./tests/61push/02add_rules.pl:test "Can add global push rule after an existing rule",
./tests/61push/02add_rules.pl:test "Can add global push rule before an existing rule",
./tests/61push/02add_rules.pl:test "Can delete a push rule",
./tests/61push/02add_rules.pl:test "Can disable a push rule",
./tests/61push/02add_rules.pl:test "New rules appear before old rules by default",
./tests/61push/03_unread_count.pl: test "Messages that $action from another user increment $counter",
./tests/61push/03_unread_count.pl:test "Messages that highlight from another user increment unread highlight count",
./tests/61push/05_set_actions.pl:test "Can change the actions of a user specified rule",
./tests/61push/05_set_actions.pl:test "Can change the actions of default rules",
./tests/61push/05_set_actions.pl:test "Changing the actions of an unknown default rule fails with 404",
./tests/61push/05_set_actions.pl:test "Changing the actions of an unknown rule fails with 404",
./tests/61push/06_get_pusher.pl:test "Can fetch a user's pushers",
./tests/61push/07_set_enabled.pl:test "Can enable/disable default rules",
./tests/61push/07_set_enabled.pl:test "Enabling an unknown default rule fails with 404",
./tests/61push/08_rejected_pushers.pl:multi_test "Test that rejected pushers are removed.",
./tests/61push/09_notifications_api.pl:test "Notifications can be viewed with GET /notifications",
./tests/61push/80torture.pl: test "Trying to add push rule with $name fails with 400",
./tests/61push/80torture.pl: test "Trying to get push rules with $name fails with 400",
./tests/61push/80torture.pl: test "Trying to get push rules with $name fails with 404",
./tests/80torture/03events.pl:test "Event size limits",
./tests/80torture/03events.pl:test "GET /events with negative 'limit'",
./tests/80torture/03events.pl:test "GET /events with non-numeric 'limit'",
./tests/80torture/03events.pl:test "GET /events with non-numeric 'timeout'",
./tests/80torture/03events.pl:test "GET /initialSync with non-numeric 'limit'",
./tests/80torture/10filters.pl:test "Check creating invalid filters returns 4xx",
./tests/80torture/20json.pl:test "Invalid JSON floats",
./tests/80torture/20json.pl:test "Invalid JSON integers",
./tests/80torture/20json.pl:test "Invalid JSON special values",
./tests/90jira/SYN-205.pl:multi_test "Rooms can be created with an initial invite list (SYN-205)",
./tests/90jira/SYN-328.pl:multi_test "Typing notifications don't leak",
./tests/90jira/SYN-343.pl:multi_test "Non-present room members cannot ban others",
./tests/90jira/SYN-390.pl:multi_test "Getting push rules doesn't corrupt the cache SYN-390",
./tests/90jira/SYN-516.pl:multi_test "Multiple calls to /sync should not cause 500 errors",
./tests/90jira/SYN-627.pl:test "Events come down the correct room",