diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2018-09-27 11:22:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-27 11:22:25 +0100 |
commit | ae6ad4cf4190dbd2dadd72fc8131e4c139f8eb4a (patch) | |
tree | b6313b75e93ec4ced3a933d0a68749418a483a9f /tests/storage | |
parent | Merge pull request #3963 from matrix-org/rav/get_state_for_room_docstring (diff) | |
download | synapse-ae6ad4cf4190dbd2dadd72fc8131e4c139f8eb4a.tar.xz |
docstrings and unittests for storage.state (#3958)
I spent ages trying to figure out how I was going mad...
Diffstat (limited to 'tests/storage')
-rw-r--r-- | tests/storage/test_state.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/storage/test_state.py b/tests/storage/test_state.py index b910965932..b9c5b39d59 100644 --- a/tests/storage/test_state.py +++ b/tests/storage/test_state.py @@ -75,6 +75,45 @@ class StateStoreTestCase(tests.unittest.TestCase): self.assertEqual(len(s1), len(s2)) @defer.inlineCallbacks + def test_get_state_groups_ids(self): + e1 = yield self.inject_state_event( + self.room, self.u_alice, EventTypes.Create, '', {} + ) + e2 = yield self.inject_state_event( + self.room, self.u_alice, EventTypes.Name, '', {"name": "test room"} + ) + + state_group_map = yield self.store.get_state_groups_ids(self.room, [e2.event_id]) + self.assertEqual(len(state_group_map), 1) + state_map = list(state_group_map.values())[0] + self.assertDictEqual( + state_map, + { + (EventTypes.Create, ''): e1.event_id, + (EventTypes.Name, ''): e2.event_id, + }, + ) + + @defer.inlineCallbacks + def test_get_state_groups(self): + e1 = yield self.inject_state_event( + self.room, self.u_alice, EventTypes.Create, '', {} + ) + e2 = yield self.inject_state_event( + self.room, self.u_alice, EventTypes.Name, '', {"name": "test room"} + ) + + state_group_map = yield self.store.get_state_groups( + self.room, [e2.event_id]) + self.assertEqual(len(state_group_map), 1) + state_list = list(state_group_map.values())[0] + + self.assertEqual( + {ev.event_id for ev in state_list}, + {e1.event_id, e2.event_id}, + ) + + @defer.inlineCallbacks def test_get_state_for_event(self): # this defaults to a linear DAG as each new injection defaults to whatever |