summary refs log tree commit diff
path: root/tests/rest/admin/test_admin.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Store hashes of media files, and allow quarantining by hash. (#18277)Will Hunt2025-03-271-2/+19
| | | | | | | | | | | | | | | | This PR makes a few radical changes to media. This now stores the SHA256 hash of each file stored in the database (excluding thumbnails, more on that later). If a set of media is quarantined, any additional uploads of the same file contents or any other files with the same hash will be quarantined at the same time. Currently this does NOT: - De-duplicate media, although a future extension could be to do that. - Run any background jobs to identify the hashes of older files. This could also be a future extension, though the value of doing so is limited to combat the abuse of recent media. - Hash thumbnails. It's assumed that thumbnails are parented to some form of media, so you'd likely be wanting to quarantine the media and the thumbnail at the same time.
* Enable authenticated media by default (#17889)Travis Ralston2024-11-201-4/+5
| | | Co-authored-by: Olivier 'reivilibre <oliverw@matrix.org>
* Finish up work to allow per-user feature flags (#17392)Erik Johnston2024-07-051-11/+3
| | | | | | | Follows on from @H-Shay's great work at https://github.com/matrix-org/synapse/pull/15344 and MSC4026. Also enables its use for MSC3881, mainly as an easy but concrete example of how to use it.
* Enable cross-signing key upload without UIA (#17284)Richard van der Hoff2024-06-141-4/+0
| | | | | | Per MSC3967, which is now stable, we should not require UIA when uploading cross-signing keys for the first time. Fixes: #17227
* Correctly mention previous copyright (#16820)Erik Johnston2024-01-231-0/+1
| | | | | During the migration the automated script to update the copyright headers accidentally got rid of some of the existing copyright lines. Reinstate them.
* Update license headersPatrick Cloke2023-11-211-10/+16
|
* Register media servlets via regex. (#16419)Patrick Cloke2023-10-061-39/+19
| | | | | This converts the media servlet URLs in the same way as (most) of the rest of Synapse. This will give more flexibility in the versions each endpoint exists under.
* Remove Python version from `/_synapse/admin/v1/server_version` (#16380)MomentQYC2023-10-021-3/+1
| | | | There's no reason to expose the full Python version over what is frequently a public API.
* Remove references to supporting per-user flag for msc2654 (#15522)Shay2023-05-021-6/+2
|
* Add an admin API endpoint to support per-user feature flags (#15344)Shay2023-04-281-0/+127
|
* Use literals in place of `HTTPStatus` constants in tests (#13479)Dirk Klimpel2022-08-091-4/+3
| | | | | | | | | | Replace - `HTTPStatus.NOT_FOUND` - `HTTPStatus.FORBIDDEN` - `HTTPStatus.UNAUTHORIZED` - `HTTPStatus.CONFLICT` - `HTTPStatus.CREATED` Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
* Use literals in place of `HTTPStatus` constants in tests (#13469)Dirk Klimpel2022-08-081-12/+12
|
* Remove user-visible groups/communities code (#12553)Patrick Cloke2022-05-251-89/+1
| | | | | | | | | Makes it so that groups/communities no longer exist from a user-POV. E.g. we remove: * All API endpoints (including Client-Server, Server-Server, and admin). * Documented configuration options (and the experimental flag, which is now unused). * Special handling during room upgrades. * The `groups` section of the `/sync` response.
* Disable groups/communities by default. (#12344)Patrick Cloke2022-04-121-0/+1
| | | | This disables the endpoints (and sync response fields) for groups/communities by default.
* Add type hints to `tests/rest/admin` (#11851)Dirk Klimpel2022-01-311-94/+40
|
* Convert status codes to `HTTPStatus` in `tests.rest.admin` (#11455)Dirk Klimpel2021-11-301-41/+33
|
* Convert delete room admin API to async endpoint (#11223)Dirk Klimpel2021-11-121-0/+48
| | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* Add reactor to `SynapseRequest` and fix up types. (#10868)Erik Johnston2021-09-241-3/+3
|
* Create a constant for a small png image in tests. (#10834)Patrick Cloke2021-09-161-14/+9
| | | To avoid duplicating it between a few tests.
* Flatten the synapse.rest.client package (#10600)reivilibre2021-08-171-2/+1
|
* [pyupgrade] `tests/` (#10347)Jonathan de Jong2021-07-131-4/+2
|
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-141-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 Cloke2021-04-091-2/+1
|
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-161-10/+24
| | | | | | | - 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 an admin API endpoint to protect media. (#9086)Patrick Cloke2021-01-151-3/+5
| | | | | | Protecting media stops it from being quarantined when e.g. all media in a room is quarantined. This is useful for sticker packs and other media that is uploaded by server administrators, but used by many people.
* Removes unnecessary declarations in the tests for the admin API. (#9063)Dirk Klimpel2021-01-111-3/+0
|
* Remove spurious "SynapseRequest" result from `make_request"Richard van der Hoff2020-12-151-16/+16
| | | | This was never used, so let's get rid of it.
* Apply an IP range blacklist to push and key revocation requests. (#8821)Patrick Cloke2020-12-021-1/+1
| | | | | | | | | | | | Replaces the `federation_ip_range_blacklist` configuration setting with an `ip_range_blacklist` setting with wider scope. It now applies to: * Federation * Identity servers * Push notifications * Checking key validitity for third-party invite events The old `federation_ip_range_blacklist` setting is still honored if present, but with reduced scope (it only applies to federation and identity servers).
* Remove deprecated `/_matrix/client/*/admin` endpoints (#8785)Dirk Klimpel2020-11-251-1/+1
| | | These are now only available via `/_synapse/admin/v1`.
* Remove redundant `HomeserverTestCase.render`Richard van der Hoff2020-11-161-13/+0
|
* Make `make_request` actually render the requestRichard van der Hoff2020-11-161-6/+0
| | | | | | remove the stubbing out of `request.process`, so that `requestReceived` also renders the request via the appropriate resource. Replace render() with a stub for now.
* Merge branch 'develop' into rav/pass_site_to_make_requestRichard van der Hoff2020-11-161-1/+1
|\
| * Rename `create_test_json_resource` to `create_test_resource` (#8759)Richard van der Hoff2020-11-161-1/+1
| | | | | | | | | | The root resource isn't necessarily a JsonResource, so rename this method accordingly, and update a couple of test classes to use the method rather than directly manipulating self.resource.
* | use global make_request() directly where we have a custom ResourceRichard van der Hoff2020-11-151-4/+14
|/ | | | | | Where we want to render a request against a specific Resource, call the global make_request() function rather than the one in HomeserverTestCase, allowing us to pass in an appropriate `Site`.
* Convert federation client to async/await. (#7975)Patrick Cloke2020-07-301-2/+2
|
* Allow local media to be marked as safe from being quarantined. (#7718)Patrick Cloke2020-06-221-72/+65
|
* Extend room admin api with additional attributes (#7225)Dirk Klimpel2020-04-221-591/+1
|
* Remove special casing of `m.room.aliases` events (#7034)Patrick Cloke2020-03-171-0/+7
|
* MSC2260: Block direct sends of m.room.aliases events (#6794)Richard van der Hoff2020-01-301-7/+0
| | | | | as per MSC2260
* Admin API to list, filter and sort rooms (#6720)Andrew Morgan2020-01-221-4/+389
|
* Fix and add test to deprecated quarantine media admin api (#6756)Andrew Morgan2020-01-221-4/+11
|
* Fix purge_room admin API (#6711)Erik Johnston2020-01-151-3/+1
|
* Quarantine media by ID or user ID (#6681)Andrew Morgan2020-01-131-0/+341
|
* Allow admin users to create or modify users without a shared secret (#6495)Manuel Stahl2020-01-091-338/+0
| | | Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
* Fix GET request on /_synapse/admin/v2/users endpoint (#6563)Manuel Stahl2020-01-081-0/+41
| | | | Fixes #6552
* Move DB pool and helper functions into dedicated Database classErik Johnston2019-12-051-1/+1
|
* Remove underscore from SQLBaseStore functionsErik Johnston2019-12-041-1/+1
|
* Blacklist PurgeRoomTestCase (#6361)Andrew Morgan2019-11-131-0/+2
|
* Fix deleting state groups during room purge.Erik Johnston2019-11-061-1/+3
| | | | And fix the tests to actually test that things got deleted.
* Add unit test for /purge_room APIErik Johnston2019-10-311-0/+78
|
* Fix races in room stats (and other) updates. (#6187)Richard van der Hoff2019-10-101-1/+1
| | | | | | | Hopefully this will fix the occasional failures we were seeing in the room directory. The problem was that events are not necessarily persisted (and `current_state_delta_stream` updated) in the same order as their stream_id. So for instance current_state_delta 9 might be persisted *before* current_state_delta 8. Then, when the room stats saw stream_id 9, it assumed it had done everything up to 9, and never came back to do stream_id 8. We can solve this easily by only processing up to the stream_id where we know all events have been persisted.
* Run Black. (#5482)Amber Brown2019-06-201-51/+49
|
* Unify v1 and v2 REST client APIs (#5226)Amber Brown2019-06-031-1/+0
|
* Run Black on the tests again (#5170)Amber Brown2019-05-101-70/+33
|
* Remove the requirement to authenticate for /admin/server_version. (#5122)Richard van der Hoff2019-05-071-22/+8
| | | | | | | | | This endpoint isn't much use for its intended purpose if you first need to get yourself an admin's auth token. I've restricted it to the `/_synapse/admin` path to make it a bit easier to lock down for those concerned about exposing this information. I don't imagine anyone is using it in anger currently.
* Add admin api for sending server_notices (#5121)Richard van der Hoff2019-05-021-4/+4
|
* Move admin api impl to its own packageRichard van der Hoff2019-05-011-0/+617
It doesn't really belong under rest/client/v1 any more.