aboutsummaryrefslogtreecommitdiffstats
path: root/spec
Commit message (Collapse)AuthorAgeFilesLines
* 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
* util.format: Change formatting of nil values to avoid looking like XMLKim Alvefur2021-06-291-4/+4
|
* util.format: Escape ASCII control characters in outputKim Alvefur2021-06-151-0/+5
| | | | | | | This should offer some protection against doing evil things to terminals. Doesn't protect against pure broken UTF-8 garbage however. See #734
* util.dbuffer: Fix bugs, remove multi-char support (more complex than first ↵Matthew Wild2021-06-291-21/+0
| | | | | | | | | thought) Character sequences could be split across chunk boundaries. Would require a bunch of code to make that work reliably. Only apply front_consumed on first chunk, and adjust buffer_pos accordingly.
* util.dbuffer: Add read_until() methodMatthew Wild2021-06-291-0/+44
|
* 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
|
* util.datamapper: Fix spelling in testsKim Alvefur2021-03-281-2/+2
|
* util.envload: Add basic test of envload()Kim Alvefur2021-03-261-0/+22
|
* util.datamapper: Revert one special attribute to longer formKim Alvefur2021-03-261-1/+1
| | | | Had a name, using attr() broke it.
* util.datamapper: Use attribute convenience function throughoutKim Alvefur2021-03-261-3/+4
|
* util.promise: Switch order of parameters to join()Matthew Wild2021-03-251-2/+2
| | | | | This saves awkward fiddlery with varargs and also echoes the signature of pcall/xpcall.
* util.promise: all()/all_settled() pass through non-promise valuesMatthew Wild2021-03-251-0/+33
|
* util.promise: Add join() convenience methodMatthew Wild2021-03-251-0/+26
| | | | | | Usage: promise.join(p1, p2, function (result1, result2) [...] end)
* util.promise: Add support for arbitrary keys in all()/all_settled()Matthew Wild2021-03-251-0/+37
|
* util.datamapper: Add test coverage of unwrapped arrays of objectsKim Alvefur2021-03-241-0/+14
| | | | | Should the xml name/ns go on the array or the items schema? The later apparently.
* util.datamapper: Deal with locally built stanzas missing xmlnsKim Alvefur2021-03-231-0/+28
| | | | | | | | | | | | | | | | | | | | | So the problem is that xmlns is not inherited when building a stanza, and then :get_child(n, ns) with an explicit namespace does not find that such child tags. E.g. local t = st.stanza("foo", { xmlns = "urn:example:bar" }) :text_tag("hello", "world"); assert(t:get_child("hello", "urn:example:bar"), "This fails"); Meanwhile, during parsing (util.xmppstream or util.xml) child tags do get the parents xmlns when not overriding them. Thus, in the above example, if the stanza is passed trough `t = util.xml.parse(tostring(t))` then the assert succeeds. This change makes it so that it leaves out the namespace argument to :get_child when it is the same as the current/parent namespace, which behaves the same for both built and parsed stanzas.
* util.datamapper: Complete array building supportKim Alvefur2021-03-201-0/+11
|
* util.datamapper: Finally implement support for parsing arraysKim Alvefur2021-03-201-0/+63
|
* util.datamapper: Fix arrays nesting one level too deepKim Alvefur2021-03-191-7/+15
|
* util.datamapper: Limited support for unparsing simple arrays of stringsKim Alvefur2021-03-181-6/+2
|
* util.datamapper: Add initial support for parsing arraysKim Alvefur2021-03-181-1/+24
|
* util.datamapper: Enumerated elementsKim Alvefur2021-03-121-1/+9
| | | | E.g. error conditions or chat states.
* util.datamapper: Add support for mapping of elements where only one ↵Kim Alvefur2021-03-071-0/+7
| | | | | | | attribute matters E.g. <feature var='foo'/> in XEP-0030 and some other simple specifications.
* util.datamapper: Add logic for "boolean" tags here the presence means trueKim Alvefur2021-03-071-0/+6
|
* util.datamapper: Invent extension for using tag name as valueKim Alvefur2021-03-061-5/+11
| | | | | Useful for certain enum-like uses where the element name is the relevant information, e.g. chat states.
* util.datamapper: Add 'unparse' for turning tables into XMLKim Alvefur2021-03-071-0/+12
|
* util.datamapper: Library for extracting data from stanzasKim Alvefur2021-03-071-0/+56
| | | | Based on the XML support in the OpenAPI specification.
* 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.
* util.rsm: Increase test coverageKim Alvefur2021-03-061-0/+43
| | | | Test all fields in both directions in order to catch #1642
* core.storagemanager: s/Multilpe/Multiple/ [codespell]Kim Alvefur2021-03-051-1/+1
|
* MUC: Add robot face testKim Alvefur2021-03-021-0/+46
| | | | See 6e051bfca12d
* util.datamanager: Add basic testsKim Alvefur2021-02-091-0/+76
| | | | | Test all the things! Somewhat covered by the storagemanager tests, but we don't currently don't have that automated as it needs SQL engines.
* util.cache: Add test for :table (fails on Lua 5.1)Kim Alvefur2021-02-051-0/+24
|
* scansion tests: Give a title to HTTP Upload testKim Alvefur2021-02-031-0/+2
|
* mod_storage_sql: Implement map-like API for archivesKim Alvefur2021-02-011-2/+2
| | | | | | | | Used by mod_http_file_share, muc moderation, etc. Tests tweaked because they failed on stanza internals that happen becasue of re-serialization. Namespaces differ since inheritance is implicit when building but explicit after parsing.
* storage: Test reverse-ordered queriesKim Alvefur2021-02-011-0/+22
|
* 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
* util.interpolation: Add test for #1623Kim Alvefur2021-01-251-0/+5
|
* mod_mam: Workaround scansion test flakynessKim Alvefur2021-01-131-12/+2
| | | | The empty ID fields are sometimes accepted, sometimes not.
* storage tests: Add test for querying a set of IDsKim Alvefur2021-01-121-0/+24
|