summary refs log tree commit diff
path: root/synapse/appservice/api.py
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2023-02-06 12:49:06 +0000
committerGitHub <noreply@github.com>2023-02-06 12:49:06 +0000
commite8269ed391a199bbe0e43efc28c68c98b949b323 (patch)
tree5b9d84f643925b7a92c2e89e7a7db3850714f8fe /synapse/appservice/api.py
parentBump anyhow from 1.0.68 to 1.0.69 (#14996) (diff)
downloadsynapse-e8269ed391a199bbe0e43efc28c68c98b949b323.tar.xz
Type hints for tests.appservice (#14990)
* 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
Diffstat (limited to 'synapse/appservice/api.py')
-rw-r--r--synapse/appservice/api.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py
index edafd433cd..1a6f69e7d3 100644
--- a/synapse/appservice/api.py
+++ b/synapse/appservice/api.py
@@ -14,7 +14,17 @@
 # limitations under the License.
 import logging
 import urllib.parse
-from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Mapping, Optional, Tuple
+from typing import (
+    TYPE_CHECKING,
+    Any,
+    Dict,
+    Iterable,
+    List,
+    Mapping,
+    Optional,
+    Sequence,
+    Tuple,
+)
 
 from prometheus_client import Counter
 from typing_extensions import TypeGuard
@@ -259,7 +269,7 @@ class ApplicationServiceApi(SimpleHttpClient):
     async def push_bulk(
         self,
         service: "ApplicationService",
-        events: List[EventBase],
+        events: Sequence[EventBase],
         ephemeral: List[JsonDict],
         to_device_messages: List[JsonDict],
         one_time_keys_count: TransactionOneTimeKeysCount,