summary refs log tree commit diff
path: root/tests/module_api/test_api.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Additional constants for EDU types. (#12884)Patrick Cloke0 min.1-1/+1
| | | Instead of hard-coding strings in many places.
* Add a module API to allow modules to edit push rule actions (#12406)Brendan Abolivier0 min.1-1/+83
| | | Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Remove redundant `get_success` calls in test code (#12346)Richard van der Hoff0 min.1-11/+9
| | | There are a bunch of places we call get_success on an immediate value, which is unnecessary. Let's rip them out, and remove the redundant functionality in get_success and friends.
* Default to `private` room visibility rather than `public` when a client does ↵reivilibre0 min.1-1/+1
| | | | not specify one, according to spec. (#12350)
* Add set_user_admin function to the module API (#12341)Amanda Graven0 min.1-0/+14
|
* Allow registering admin users using the module API (#12250)Nicolas Werner0 min.1-0/+10
| | | Signed-off-by: Nicolas Werner <n.werner@famedly.com>
* Remove `HomeServer.get_datastore()` (#12031)Richard van der Hoff0 min.1-1/+1
| | | | | | | The presence of this method was confusing, and mostly present for backwards compatibility. Let's get rid of it. Part of #11733
* Remove a debug statement from tests. (#11239)Patrick Cloke0 min.1-1/+0
|
* Add a module API method to retrieve state from a room (#11204)Brendan Abolivier0 min.1-1/+24
|
* Add a ModuleApi method to update a user's membership in a room (#11147)Brendan Abolivier0 min.1-1/+125
| | | Co-authored-by: reivilibre <oliverw@matrix.org>
* Fix errors in Synapse logs from unit tests. (#10939)Patrick Cloke0 min.1-1/+6
| | | | | Fix some harmless errors from background processes (mostly due to awaiting Mock objects) that occurred in the Synapse logs during unit tests.
* Extend ModuleApi with the methods we'll need to reject spam based on …IP - ↵David Teller0 min.1-0/+72
| | | | | | | | resolves #10832 (#10833) Extend ModuleApi with the methods we'll need to reject spam based on IP - resolves #10832 Signed-off-by: David Teller <davidt@element.io>
* Flatten the synapse.rest.client package (#10600)reivilibre0 min.1-1/+1
|
* Add `get_userinfo_by_id` method to `ModuleApi` (#9581)Jason Robinson0 min.1-0/+10
| | | | | | Makes it easier to fetch user details in for example spam checker modules, without needing to use api._store or figure out database interactions. Signed-off-by: Jason Robinson <jasonr@matrix.org>
* Use inline type hints in `tests/` (#10350)Jonathan de Jong0 min.1-8/+8
| | | | | | | | This PR is tantamount to running: python3.8 -m com2ann -v 6 tests/ (com2ann requires python 3.8 to run)
* Use a database table to hold the users that should have full presence sent ↵Andrew Morgan0 min.1-87/+216
| | | | to them, instead of something in-memory (#9823)
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong0 min.1-1/+0
| | | | | | | Part of #9744 Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now. `Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>`
* Use mock from the stdlib. (#9772)Patrick Cloke0 min.1-2/+3
|
* Add a Synapse Module for configuring presence update routing (#9491)Andrew Morgan0 min.1-3/+172
| | | | | | | | | | | | At the moment, if you'd like to share presence between local or remote users, those users must be sharing a room together. This isn't always the most convenient or useful situation though. This PR adds a module to Synapse that will allow deployments to set up extra logic on where presence updates should be routed. The module must implement two methods, `get_users_for_states` and `get_interested_users`. These methods are given presence updates or user IDs and must return information that Synapse will use to grant passing presence updates around. A method is additionally added to `ModuleApi` which allows triggering a set of users to receive the current, online presence information for all users they are considered interested in. This is the equivalent of that user receiving presence information during an initial sync. The goal of this module is to be fairly generic and useful for a variety of applications, with hard requirements being: * Sending state for a specific set or all known users to a defined set of local and remote users. * The ability to trigger an initial sync for specific users, so they receive all current state.
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood0 min.1-1/+4
| | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version
* Add admin API for logging in as a user (#8617)Erik Johnston0 min.1-5/+6
|
* Allow modules to create and send events into rooms (#8479)Andrew Morgan0 min.1-0/+95
| | | | | This PR allows Synapse modules making use of the `ModuleApi` to create and send non-membership events into a room. This can useful to have modules send messages, or change power levels in a room etc. Note that they must send event through a user that's already in the room. The non-membership event limitation is currently arbitrary, as it's another chunk of work and not necessary at the moment.
* Combine `SpamCheckerApi` with the more generic `ModuleApi`. (#8464)Richard van der Hoff0 min.1-2/+2
| | | | | Lots of different module apis is not easy to maintain. Rather than adding yet another ModuleApi(hs, hs.get_auth_handler()) incantation, first add an hs.get_module_api() method and use it where possible.
* Allow ThirdPartyEventRules modules to manipulate public room state (#8292)Andrew Morgan0 min.1-1/+55
| | | | | This PR allows `ThirdPartyEventRules` modules to view, manipulate and block changes to the state of whether a room is published in the public rooms directory. While the idea of whether a room is in the public rooms list is not kept within an event in the room, `ThirdPartyEventRules` generally deal with controlling which modifications can happen to a room. Public rooms fits within that idea, even if its toggle state isn't controlled through a state event.
* Convert simple_select_one and simple_select_one_onecol to async (#8162)Patrick Cloke0 min.1-1/+1
|
* Wrap register_device coroutine in an ensureDeferred (#7684)Andrew Morgan0 min.1-0/+54
Fixes https://github.com/matrix-org/synapse/issues/7683 Broke in: #7649 We had a `yield` acting on a coroutine. To be fair this one is a bit difficult to notice as there's a function in the middle that just passes the coroutine along.