summary refs log tree commit diff
path: root/tests/storage
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2020-02-26 12:08:58 +0000
committerAndrew Morgan <andrew@amorgan.xyz>2020-02-26 12:08:58 +0000
commit2ac458d86dacea2a144be0434953730fc4d5d201 (patch)
tree43bc24178047e48f211f65e17988c8b229829e40 /tests/storage
parentMerge pull request #6141 from matrix-org/erikj/censor_redactions_fix (diff)
parentMerge pull request #6145 from matrix-org/erikj/fix_censored_redactions (diff)
downloadsynapse-2ac458d86dacea2a144be0434953730fc4d5d201.tar.xz
Merge pull request #6145 from matrix-org/erikj/fix_censored_redactions
Diffstat (limited to 'tests/storage')
-rw-r--r--tests/storage/test_redaction.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/storage/test_redaction.py b/tests/storage/test_redaction.py
index deecfad9fb..427d3c49c5 100644
--- a/tests/storage/test_redaction.py
+++ b/tests/storage/test_redaction.py
@@ -118,6 +118,8 @@ class RedactionTestCase(unittest.HomeserverTestCase):
 
         self.get_success(self.store.persist_event(event, context))
 
+        return event
+
     def test_redact(self):
         self.get_success(
             self.inject_room_member(self.room1, self.u_alice, Membership.JOIN)
@@ -361,3 +363,37 @@ class RedactionTestCase(unittest.HomeserverTestCase):
         )
 
         self.assert_dict({"content": {}}, json.loads(event_json))
+
+    def test_redact_redaction(self):
+        """Tests that we can redact a redaction and can fetch it again.
+        """
+
+        self.get_success(
+            self.inject_room_member(self.room1, self.u_alice, Membership.JOIN)
+        )
+
+        msg_event = self.get_success(self.inject_message(self.room1, self.u_alice, "t"))
+
+        first_redact_event = self.get_success(
+            self.inject_redaction(
+                self.room1, msg_event.event_id, self.u_alice, "Redacting message"
+            )
+        )
+
+        self.get_success(
+            self.inject_redaction(
+                self.room1,
+                first_redact_event.event_id,
+                self.u_alice,
+                "Redacting redaction",
+            )
+        )
+
+        # Now lets jump to the future where we have censored the redaction event
+        # in the DB.
+        self.reactor.advance(60 * 60 * 24 * 31)
+
+        # We just want to check that fetching the event doesn't raise an exception.
+        self.get_success(
+            self.store.get_event(first_redact_event.event_id, allow_none=True)
+        )