diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2021-09-01 13:01:08 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-01 17:01:08 +0000 |
commit | c586d6803a2adebcdd486be2d9eac1f62fd7d4ab (patch) | |
tree | f53c45fc1078710ed044e8848772efafb3a3e42b /tests | |
parent | Consider the `origin_server_ts` of the `m.space.child` event when ordering ro... (diff) | |
download | synapse-c586d6803a2adebcdd486be2d9eac1f62fd7d4ab.tar.xz |
Ignore rooms with unknown room versions in the spaces summary. (#10727)
This avoids breaking the entire endpoint if a room with an unsupported room version is encountered.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/handlers/test_room_summary.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/handlers/test_room_summary.py b/tests/handlers/test_room_summary.py index 449ba89e5a..d3d0bf1ac5 100644 --- a/tests/handlers/test_room_summary.py +++ b/tests/handlers/test_room_summary.py @@ -581,6 +581,31 @@ class SpaceSummaryTestCase(unittest.HomeserverTestCase): ] self._assert_hierarchy(result, expected) + def test_unknown_room_version(self): + """ + If an room with an unknown room version is encountered it should not cause + the entire summary to skip. + """ + # Poke the database and update the room version to an unknown one. + self.get_success( + self.hs.get_datastores().main.db_pool.simple_update( + "rooms", + keyvalues={"room_id": self.room}, + updatevalues={"room_version": "unknown-room-version"}, + desc="updated-room-version", + ) + ) + + result = self.get_success(self.handler.get_space_summary(self.user, self.space)) + # The result should have only the space, along with a link from space -> room. + expected = [(self.space, [self.room])] + self._assert_rooms(result, expected) + + result = self.get_success( + self.handler.get_room_hierarchy(self.user, self.space) + ) + self._assert_hierarchy(result, expected) + def test_fed_complex(self): """ Return data over federation and ensure that it is handled properly. |