summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2016-04-07 13:17:56 +0100
committerMark Haines <mark.haines@matrix.org>2016-04-07 13:17:56 +0100
commit60ec9793fb44ad445dd1233594957baeede60e4f (patch)
tree8293a7548f4fbf24550dbfff56f87e43f816d89a /synapse
parentMerge pull request #703 from matrix-org/erikj/member (diff)
downloadsynapse-60ec9793fb44ad445dd1233594957baeede60e4f.tar.xz
Add tests for get_latest_event_ids_in_room and get_current_state
Diffstat (limited to 'synapse')
-rw-r--r--synapse/events/__init__.py9
-rw-r--r--synapse/replication/slave/storage/events.py5
2 files changed, 14 insertions, 0 deletions
diff --git a/synapse/events/__init__.py b/synapse/events/__init__.py
index 13154b1723..81e2126202 100644
--- a/synapse/events/__init__.py
+++ b/synapse/events/__init__.py
@@ -36,6 +36,10 @@ class _EventInternalMetadata(object):
     def is_invite_from_remote(self):
         return getattr(self, "invite_from_remote", False)
 
+    def __eq__(self, other):
+        "Equality check for unit tests."
+        return self.__dict__ == other.__dict__
+
 
 def _event_dict_property(key):
     def getter(self):
@@ -180,3 +184,8 @@ class FrozenEvent(EventBase):
             self.get("type", None),
             self.get("state_key", None),
         )
+
+    def __eq__(self, other):
+        """Equality check for unit tests. Compares internal_metadata as well
+        as the event fields"""
+        return self.__dict__ == other.__dict__
diff --git a/synapse/replication/slave/storage/events.py b/synapse/replication/slave/storage/events.py
index 680dc89536..707ddd248a 100644
--- a/synapse/replication/slave/storage/events.py
+++ b/synapse/replication/slave/storage/events.py
@@ -89,8 +89,11 @@ class SlavedEventStore(BaseSlavedStore):
     _invalidate_get_event_cache = DataStore._invalidate_get_event_cache.__func__
     _parse_events_txn = DataStore._parse_events_txn.__func__
     _get_events_txn = DataStore._get_events_txn.__func__
+    _enqueue_events = DataStore._enqueue_events.__func__
+    _do_fetch = DataStore._do_fetch.__func__
     _fetch_events_txn = DataStore._fetch_events_txn.__func__
     _fetch_event_rows = DataStore._fetch_event_rows.__func__
+    _get_event_from_row = DataStore._get_event_from_row.__func__
     _get_event_from_row_txn = DataStore._get_event_from_row_txn.__func__
     _get_rooms_for_user_where_membership_is_txn = (
         DataStore._get_rooms_for_user_where_membership_is_txn.__func__
@@ -158,6 +161,8 @@ class SlavedEventStore(BaseSlavedStore):
 
         self._invalidate_get_event_cache(event.event_id)
 
+        self.get_latest_event_ids_in_room.invalidate((event.room_id,))
+
         if not backfilled:
             self._events_stream_cache.entity_has_changed(
                 event.room_id, event.internal_metadata.stream_ordering