aboutsummaryrefslogtreecommitdiffstats
path: root/spec/scansion
Commit message (Collapse)AuthorAgeFilesLines
* scansion: Use new prosody namespace in importKim Alvefur2023-12-171-1/+1
|
* scansion: Use captures or wildcards instead of mocking timeKim Alvefur2023-12-175-24/+14
| | | | | > Mockery is one of the things I hold dear! And he's making a mockery of it!! -- Belkar Bitterleaf
* integration tests: Preserve unmocked time.monotonic()Matthew Wild2023-04-061-6/+5
| | | | | | | | | | With monotonic() frozen, timers may fail to trigger. This caused problems after the new util.startup changes that moved the server-started event to a timer. The timer wouldn't trigger, the event didn't fire, and prosody would fail to daemonize. All the tests that depend on specific time behaviour are depending on wall clock time, so only mocking util.time.now() and os.time() fixes those.
* scansion: Enable mod_debug_reset during testsMatthew Wild2023-03-231-0/+3
|
* scansion: vcard_temp: Ensure at least one connection is open throughout testMatthew Wild2023-03-231-2/+2
| | | | | | | I plan to introduce logic to "reset" the server between individual tests, which is currently triggered by the lack of any connections. This is the only test that has a point where no clients are connected, and it's not necessary, so I changed it to keep the connection open for the duration of the test.
* scansion: Fix tests failing after addition of pubsub#itemreply config fieldMatthew Wild2023-03-234-0/+51
| | | | This is a newly added field, and we expect to see it in these places now.
* scansion: Fix tests failing due to lack of 'publisher'Matthew Wild2023-03-231-1/+1
| | | | | publisher is no longer included by default in broadcasts, but configured via pubsub#itemreply instead.
* scansion: Add tests for pubsub#itemreply in PEPMatthew Wild2023-03-221-0/+205
|
* scansion: PEP notifications no longer carry 'publisher' by defaultMatthew Wild2023-03-221-3/+3
| | | | | | | | | | | | | Previous behaviour: - publisher was always included in PEP notifications - publisher was never included in get_items requests New behaviour: - publisher is included in both notifications and retrieval if itemreply == publisher - publisher is not ever included if itemreply ~= publisher
* mod_mam: Store archives with sub-second precision timestampsKim Alvefur2022-08-142-8/+8
| | | | | | | | | | | Changes sub-second part of example timestamp to .5 in order to avoid floating point issues. Some clients use timestamps when ordering messages which can lead to messages having the same timestamp ending up in the wrong order. It would be better to preserve the order messages are sent in, which is the order they were stored in.
* mod_bookmarks: Reduce error about not having bookmarks to debug (thanks tom)Kim Alvefur2022-07-261-0/+27
| | | | | | | | | | | | | | | This is happens if the account is new and doesn't have any bookmarks yet, which is not a problem. Rarely seen since most clients currently use the older version of XEP-0084 stored in XEP-0049 rather than in PEP, but at least one (Converse.js )does. One scenario in which this would show up often is with Converse.js as a guest chat using anonymous authentication, where all "accounts" would always be new and not have any bookmarks. This scenario probably does not need to have mod_bookmarks at all, but if enabled globally it would likely become loaded onto the VirtualHost unless explicitly disabled.
* mod_tombstones: Add a very basic test caseKim Alvefur2021-12-232-0/+41
|
* mod_roster: pass correct username to roster-item-removedJonas Schäfer2021-12-221-0/+75
| | | | | | | | | | | The other invocations use it that way, and the only listener in trunk which uses it (in mod_presence) expects it that way. Passing the username of the JID from the removed entry causes incorrect unavailable presence stanzas to be sent, allegedly kicking people off MUCs. Fixes #1121.
* MUC: Remove <{muc}x> tags in some errorsKim Alvefur2021-12-082-4/+0
| | | | | Including the payload of the stanza that caused the error is optional and we're generally not doing it anywhere else.
* MUC: Remove remaining deprecated numeric error codesKim Alvefur2021-12-081-1/+1
| | | | | | The numeric error codes seems to have been removed from the examples in XEP-0045 version 1.24, and were deprecated even by RFC 3920 in 2004, only allowed for backwards compatibility.
* mod_pubsub,mod_pep: Advertise maximum number of items via XEP-0122Kim Alvefur2021-10-204-6/+6
| | | | | | Clients would generally be using the "max" symbol instead of discovering this, but this also gets us validation and earlier rejection of out of bounds values.
* mod_pubsub: Prevent max_items from being set to zeroKim Alvefur2021-10-204-6/+18
| | | | | | | Disable persistence instead if no items should be persisted. XEP-0060 is not entirely clear on what either of those option really mean.
* mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436Kim Alvefur2021-10-195-0/+206
| | | | | | | | Default left as 'never' in mod_pubsub to preserve the previous behavior. Unclear if this is desirable, but can always be changed later. In mod_pep this allows turning off the automatic resending of most recent item.
* mod_pubsub: Add support for limiting result size #1608Kim Alvefur2021-09-051-0/+196
|
* mod_external_services: Validate required attributes on credentials requestsKim Alvefur2021-08-291-0/+14
|
* Fix various spelling errors (thanks codespell)Kim Alvefur2021-07-271-1/+1
| | | | | Also special thanks to timeless, for wordlessly reminding me to check for typos.
* mod_pubsub: Explicitly enable persistence by default to preserve behaviorKim Alvefur2021-07-211-1/+1
| | | | | | Since nodes were always persistent according to the XEP-0060 definition. Whether data is stored in memory or on disk was not what this setting was meant for.
* scansion tests: Enable 'expose_publisher' since we test for itKim Alvefur2021-07-251-0/+1
|
* mod_pubsub: Fix inclusion of publisher (fixes #1399)Kim Alvefur2019-05-015-15/+15
|
* Merge 0.11->trunkKim Alvefur2021-07-231-57/+83
|\
| * MUC: Fix logic for access to affiliation lists0.11.10Kim Alvefur2021-07-221-57/+83
| | | | | | | | | | | | Fixes https://prosody.im/security/advisory_20210722/ Backs out 4d7b925652d9
* | scansion tests: Allow specifying network settings via environment variableKim Alvefur2021-07-111-2/+1
| | | | | | | | | | | | | | Allows testing e.g. opportunistic writes or other settings easily in CI or otherwise without editing the config file. make integration-test PROSODY_NETWORK_SETTINGS='{"opportunistic_writes":true}'
* | scansion tests: Allow specifying network backend via environment variableKim Alvefur2021-07-111-1/+1
| | | | | | | | | | | | | | To make it easier to test select and event without having to edit the config file, e.g. in CI. make integration-test PROSODY_NETWORK_BACKEND=event
* | mod_pubsub,mod_pep: Support "max" as 'pubsub#max_items'Kim Alvefur2021-06-094-5/+52
| | | | | | | | | | | | Fixes #1643 API change: The argument to archive_itemstore() changes type to integer
* | scansion: Really silence the certificates dir errorKim Alvefur2021-05-281-1/+1
| | | | | | | | certificate_s_, plural, is the directory setting
* | scansion: Silence an error from cert indexer due to missing certs dirKim Alvefur2021-05-271-1/+4
| |
* | core.modulemanager: Inherit mod_server_contact_info onto components #1270Kim Alvefur2021-05-271-1/+0
| |
* | mod_server_contact_info: Apply JID normalizationKim Alvefur2020-09-112-0/+27
| |
* | mod_pubsub: Include <pubsub> with unsubscribe replyKim Alvefur2021-03-151-1/+5
| | | | | | | | | | | | | | | | | | XEP-0060 6.2.2 This is a MAY but it makes it nice and symmetric with the subscription response. Reduces the need to remember which node you unsubscribed from. Explicit > implicit etc.
* | MUC: Add robot face testKim Alvefur2021-03-021-0/+46
| | | | | | | | See 6e051bfca12d
* | scansion tests: Give a title to HTTP Upload testKim Alvefur2021-02-031-0/+2
| |
* | mod_mam: Remove obsolete queryid attribute from testsKim Alvefur2021-01-291-2/+2
| |
* | mod_http_file_share: Reject invalid file sizesKim Alvefur2021-01-271-0/+13
| |
* | mod_http_file_share: Add file type filterKim Alvefur2021-01-262-0/+14
| | | | | | | | | | Unlike mod_http_upload, this can't be bypassed by uploading with a different file extension.
* | mod_http_file_share: Add file size limit (default 10M)Kim Alvefur2021-01-262-0/+17
| |
* | mod_http_file_share: Validate that filename does not contain '/'Kim Alvefur2021-01-261-0/+13
| |
* | mod_http_file_share: Let's write another XEP-0363 implementationKim Alvefur2021-01-262-0/+28
| | | | | | | | | | | | | | | | | | | | This variant is meant to improve upon mod_http_upload in some ways: * Handle files much of arbitrary size efficiently * Allow GET and PUT URLs to be different * Remember Content-Type sent by client * Avoid dependency on mod_http_files * Built-in way to delegate storage to another httpd
* | mod_mam: Workaround scansion test flakynessKim Alvefur2021-01-131-12/+2
| | | | | | | | The empty ID fields are sometimes accepted, sometimes not.
* | mod_mam: Implement extended MAM metadata queryKim Alvefur2020-11-301-0/+14
| |
* | mod_mam: Add support for page flippingKim Alvefur2020-11-301-0/+44
| | | | | | | | | | This was easy. Needs tests tho, 100% chance of the logic being backwards.
* | mod_mam: Advertise extended MAM 0.7.x behind a feature flagKim Alvefur2020-11-301-0/+78
| | | | | | | | | | | | | | In order to ease testing until the extended feautres are all implemented. Also TODOs for all the sub-features.
* | scansion: Allow specifying a logfile for prosody via environmentKim Alvefur2021-01-051-1/+1
| | | | | | | | This should allow Buildbot to pick up those logs along with scansions
* | MUC: Reject probes from non-occupantsJC Brand2020-10-021-1/+64
| | | | | | | | Also test for self-probes
* | MUC: Add support for presence probes (fixes #1535)JC Brand2020-04-191-0/+115
| | | | | | | | | | | | | | | | | | | | | | The following patch allows Prosody to respond to `probe` presences and send out the probed occupant's current presence. This is based on line 17.3 in XEP-0045: A MUC service MAY handle presence probes sent to the room JID <room@service> or an occupant JID <room@service/nick> (e.g, these might be sent by an occupant's home server to determine if the room is still online or to synchronize presence information if the user or the user's server has gone offline temporarily or has started sharing presence again, as for instance when Stanza Interception and Filtering Technology (XEP-0273) is used).
* | mod_external_services: XEP-0215: External Service DiscoveryKim Alvefur2020-07-182-0/+69
| |