diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2023-07-18 08:44:59 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-18 08:44:59 -0400 |
commit | 6d81aec09febe86532235141e84c4ea0b3f56049 (patch) | |
tree | 6aa69c16984916a302b0a4e08504023caa1a1dfc /tests/rest/client/test_redactions.py | |
parent | Add a locality to a few presence metrics (#15952) (diff) | |
download | synapse-6d81aec09febe86532235141e84c4ea0b3f56049.tar.xz |
Support room version 11 (#15912)
And fix a bug in the implementation of the updated redaction format (MSC2174) where the top-level redacts field was not properly added for backwards-compatibility.
Diffstat (limited to 'tests/rest/client/test_redactions.py')
-rw-r--r-- | tests/rest/client/test_redactions.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/tests/rest/client/test_redactions.py b/tests/rest/client/test_redactions.py index b43e95292c..6028886bd6 100644 --- a/tests/rest/client/test_redactions.py +++ b/tests/rest/client/test_redactions.py @@ -20,6 +20,8 @@ from synapse.api.room_versions import RoomVersions from synapse.rest import admin from synapse.rest.client import login, room, sync from synapse.server import HomeServer +from synapse.storage._base import db_to_json +from synapse.storage.database import LoggingTransaction from synapse.types import JsonDict from synapse.util import Clock @@ -573,7 +575,7 @@ class RedactionsTestCase(HomeserverTestCase): room_id = self.helper.create_room_as( self.mod_user_id, tok=self.mod_access_token, - room_version=RoomVersions.MSC2176.identifier, + room_version=RoomVersions.V11.identifier, ) # Create an event. @@ -597,5 +599,20 @@ class RedactionsTestCase(HomeserverTestCase): redact_event = timeline[-1] self.assertEqual(redact_event["type"], EventTypes.Redaction) # The redacts key should be in the content. - self.assertNotIn("redacts", redact_event) self.assertEquals(redact_event["content"]["redacts"], event_id) + + # It should also be copied as the top-level redacts field for backwards + # compatibility. + self.assertEquals(redact_event["redacts"], event_id) + + # But it isn't actually part of the event. + def get_event(txn: LoggingTransaction) -> JsonDict: + return db_to_json( + main_datastore._fetch_event_rows(txn, [event_id])[event_id].json + ) + + main_datastore = self.hs.get_datastores().main + event_json = self.get_success( + main_datastore.db_pool.runInteraction("get_event", get_event) + ) + self.assertNotIn("redacts", event_json) |