diff options
author | Erik Johnston <erik@matrix.org> | 2020-05-05 14:17:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-05 14:17:27 +0100 |
commit | 7941a70fa8b297b0dec320a9b7dda01df3efe1e4 (patch) | |
tree | 4e37a35d9f09889c5a19d43d862f1e04bf708a39 /tests/test_utils | |
parent | Fix ordering in MANIFEST.in (diff) | |
download | synapse-7941a70fa8b297b0dec320a9b7dda01df3efe1e4.tar.xz |
Fix bug in EventContext.deserialize. (#7393)
This caused `prev_state_ids` to be incorrect if the state event was not replacing an existing state entry.
Diffstat (limited to 'tests/test_utils')
-rw-r--r-- | tests/test_utils/event_injection.py | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/tests/test_utils/event_injection.py b/tests/test_utils/event_injection.py index 8f6872761a..431e9f8e5e 100644 --- a/tests/test_utils/event_injection.py +++ b/tests/test_utils/event_injection.py @@ -14,12 +14,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -from typing import Optional +from typing import Optional, Tuple import synapse.server from synapse.api.constants import EventTypes from synapse.api.room_versions import KNOWN_ROOM_VERSIONS from synapse.events import EventBase +from synapse.events.snapshot import EventContext from synapse.types import Collection from tests.test_utils import get_awaitable_result @@ -75,6 +76,23 @@ def inject_event( """ test_reactor = hs.get_reactor() + event, context = create_event(hs, room_version, prev_event_ids, **kwargs) + + d = hs.get_storage().persistence.persist_event(event, context) + test_reactor.advance(0) + get_awaitable_result(d) + + return event + + +def create_event( + hs: synapse.server.HomeServer, + room_version: Optional[str] = None, + prev_event_ids: Optional[Collection[str]] = None, + **kwargs +) -> Tuple[EventBase, EventContext]: + test_reactor = hs.get_reactor() + if room_version is None: d = hs.get_datastore().get_room_version_id(kwargs["room_id"]) test_reactor.advance(0) @@ -89,8 +107,4 @@ def inject_event( test_reactor.advance(0) event, context = get_awaitable_result(d) - d = hs.get_storage().persistence.persist_event(event, context) - test_reactor.advance(0) - get_awaitable_result(d) - - return event + return event, context |