summary refs log tree commit diff
path: root/tests/appservice/test_scheduler.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Recover an appservice if a successful ping occurs. (#18521)Will Hunt2025-06-061-1/+36
| | | | | | | | | | | | | | Fixes https://github.com/element-hq/synapse/issues/14240 This scratches an itch that i've had for years. We regularly run into the issue where (especially in development) appservices can go down for a period and them come back up. The ping endpoint was introduced some time ago which means Synapse can determine if an AS is up more or less immediately, so we might as well use that to schedule transaction redelivery. I believe transaction scheduling logic is largely implementation specific, so we should be in the clear to do this without any spec changes.
* Format files with Ruff (#17643)Quentin Gliech2024-09-021-1/+2
| | | | | | I thought ruff check would also format, but it doesn't. This runs ruff format in CI and dev scripts. The first commit is just a run of `ruff format .` in the root directory.
* 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
|
* Replace simple_async_mock with AsyncMock (#16180)Patrick Cloke2023-08-251-20/+23
| | | | Python 3.8 has a native AsyncMock, use it instead of a custom implementation.
* Fix-up type hints in tests/server.py. (#15084)Patrick Cloke2023-02-171-4/+2
| | | | | This file was being ignored by mypy, we remove that and add the missing type hints & deal with any fallout.
* Type hints for tests.appservice (#14990)David Robertson2023-02-061-32/+60
| | | | | | | | | | | | | | | | | | | | * Accept a Sequence of events in synapse.appservice This avoids some casts/ignores in the tests I'm about to fixup. It seems that `List[Mock]` is not a subtype of `List[EventBase]`, but `Sequence[Mock]` is a subtype of `Sequence[EventBase]`. So presumably `Mock` is considered a subtype of anything, much like `Any`. * make tests.appservice.test_scheduler pass mypy * Extra hints in tests.appservice.test_scheduler * Extra hints in tests.appservice.test_api * Extra hints in tests.appservice.test_appservice * Disallow untyped defs * Changelog
* Use `device_one_time_keys_count` to match MSC3202 (#14565)Andrew Ferrazzutti2022-11-281-3/+3
| | | | | | | | | | | | | | | | | | | * Use `device_one_time_keys_count` to match MSC3202 Rename the `device_one_time_key_counts` key in responses to `device_one_time_keys_count` to match the name specified by MSC3202. Also change related variable/class names for consistency. Signed-off-by: Andrew Ferrazzutti <andrewf@element.io> * Update changelog.d/14565.misc * Revert name change for `one_time_key_counts` key as this is a different key altogether from `device_one_time_keys_count`, which is used for `/sync` instead of appservice transactions. Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
* Send device list updates to application services (MSC3202) - part 1 (#11881)Andrew Morgan2022-03-301-15/+39
| | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Replace assertEquals and friends with non-deprecated versions. (#12092)Patrick Cloke2022-02-281-31/+31
|
* Add support for MSC3202: sending one-time key counts and fallback key usage ↵reivilibre2022-02-241-16/+39
| | | | | states to Application Services. (#11617) Co-authored-by: Erik Johnston <erik@matrix.org>
* Send to-device messages to application services (#11215)Andrew Morgan2022-02-011-48/+61
| | | Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Fix errors in Synapse logs from unit tests. (#10939)Patrick Cloke2021-09-301-21/+19
| | | | | Fix some harmless errors from background processes (mostly due to awaiting Mock objects) that occurred in the Synapse logs during unit tests.
* 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-1/+1
|
* Limit AS transactions to 100 events (#8606)Will Hunt2020-10-211-0/+41
| | | | | | | | | | | | | * Limit AS transactions to 100 events * Update changelog.d/8606.feature Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Add tests * Update synapse/appservice/scheduler.py Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Send some ephemeral events to appservices (#8437)Will Hunt2020-10-151-19/+58
| | | Optionally sends typing, presence, and read receipt information to appservices.
* Convert appservice to async. (#7973)Patrick Cloke2020-07-301-8/+11
|
* Refactor the Appservice scheduler codeRichard van der Hoff2019-08-201-4/+2
| | | | | | | | Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code (it seemed to be previously inexplicably split between `ApplicationServiceScheduler.start` and `_Recoverer.start`). Add some docstrings too.
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-041-1/+1
|
* Run black.black2018-08-101-17/+11
|
* run isortAmber Brown2018-07-091-5/+10
|
* Fix a couple of logcontext leaks in unit testsRichard van der Hoff2018-05-021-2/+9
| | | | | | ... which were making other, innocent, tests, fail. Plus remove a spurious unittest.DEBUG which was making the output noisy.
* Clean up _ServiceQueuerErik Johnston2016-08-171-1/+1
|
* Fix flake8 warnings for testsMark Haines2016-02-191-2/+2
|
* copyrightsMatthew Hodgson2016-01-071-1/+1
|
* Implement ServiceQueuer with tests.Kegan Dougal2015-03-161-7/+47
|
* Replace EventGrouper for ServiceQueuer to move to push-based txns. Fix tests ↵Kegan Dougal2015-03-161-73/+27
| | | | and add stub tests for ServiceQueuer.
* Minor PR comment tweaks.Kegan Dougal2015-03-161-5/+5
|
* Use seconds; start gluing in the AS scheduler into the AS handler.Kegan Dougal2015-03-091-5/+5
|
* Update UTsKegan Dougal2015-03-061-5/+5
|
* Apply clarity and docstringsKegan Dougal2015-03-061-1/+1
|
* Finish synapse.appservice.scheduler implementation.Kegan Dougal2015-03-061-2/+113
| | | | | With tests to assert behaviour. Not hooked up yet. Stub datastore methods not implemented yet.
* Flesh out more stub functions.Kegan Dougal2015-03-061-2/+3
|
* Add more tests; fix bugs.Kegan Dougal2015-03-061-7/+47
|
* Start adding some testsKegan Dougal2015-03-061-0/+106