diff --git a/tests/rest/client/test_relations.py b/tests/rest/client/test_relations.py
index 9bfe913e45..61773fb28c 100644
--- a/tests/rest/client/test_relations.py
+++ b/tests/rest/client/test_relations.py
@@ -15,7 +15,7 @@
import urllib.parse
from typing import Any, Callable, Dict, List, Optional, Tuple
-from unittest.mock import patch
+from unittest.mock import AsyncMock, patch
from twisted.test.proto_helpers import MemoryReactor
@@ -28,7 +28,6 @@ from synapse.util import Clock
from tests import unittest
from tests.server import FakeChannel
-from tests.test_utils import make_awaitable
from tests.test_utils.event_injection import inject_event
from tests.unittest import override_config
@@ -264,7 +263,8 @@ class RelationsTestCase(BaseRelationsTestCase):
# Disable the validation to pretend this came over federation.
with patch(
"synapse.handlers.message.EventCreationHandler._validate_event_relation",
- new=lambda self, event: make_awaitable(None),
+ new_callable=AsyncMock,
+ return_value=None,
):
# Generate a various relations from a different room.
self.get_success(
@@ -570,7 +570,7 @@ class RelationsTestCase(BaseRelationsTestCase):
)
self.assertEqual(200, channel.code, channel.json_body)
event_result = channel.json_body
- self.assertDictContainsSubset(original_body, event_result["content"])
+ self.assertLessEqual(original_body.items(), event_result["content"].items())
# also check /context, which returns the *edited* event
channel = self.make_request(
@@ -587,14 +587,14 @@ class RelationsTestCase(BaseRelationsTestCase):
(context_result, "/context"),
):
# The reference metadata should still be intact.
- self.assertDictContainsSubset(
+ self.assertLessEqual(
{
"m.relates_to": {
"event_id": self.parent_id,
"rel_type": "m.reference",
}
- },
- result_event_dict["content"],
+ }.items(),
+ result_event_dict["content"].items(),
desc,
)
@@ -1300,7 +1300,8 @@ class BundledAggregationsTestCase(BaseRelationsTestCase):
# not an event the Client-Server API will allow..
with patch(
"synapse.handlers.message.EventCreationHandler._validate_event_relation",
- new=lambda self, event: make_awaitable(None),
+ new_callable=AsyncMock,
+ return_value=None,
):
# Create a sub-thread off the thread, which is not allowed.
self._send_relation(
@@ -1371,9 +1372,11 @@ class BundledAggregationsTestCase(BaseRelationsTestCase):
latest_event_in_thread = thread_summary["latest_event"]
# The latest event in the thread should have the edit appear under the
# bundled aggregations.
- self.assertDictContainsSubset(
- {"event_id": edit_event_id, "sender": "@alice:test"},
- latest_event_in_thread["unsigned"]["m.relations"][RelationTypes.REPLACE],
+ self.assertLessEqual(
+ {"event_id": edit_event_id, "sender": "@alice:test"}.items(),
+ latest_event_in_thread["unsigned"]["m.relations"][
+ RelationTypes.REPLACE
+ ].items(),
)
def test_aggregation_get_event_for_annotation(self) -> None:
@@ -1636,9 +1639,9 @@ class RelationRedactionTestCase(BaseRelationsTestCase):
##################################################
self.assertEqual(self._get_related_events(), list(reversed(thread_replies)))
relations = self._get_bundled_aggregations()
- self.assertDictContainsSubset(
- {"count": 3, "current_user_participated": True},
- relations[RelationTypes.THREAD],
+ self.assertLessEqual(
+ {"count": 3, "current_user_participated": True}.items(),
+ relations[RelationTypes.THREAD].items(),
)
# The latest event is the last sent event.
self.assertEqual(
@@ -1657,9 +1660,9 @@ class RelationRedactionTestCase(BaseRelationsTestCase):
# The thread should still exist, but the latest event should be updated.
self.assertEqual(self._get_related_events(), list(reversed(thread_replies)))
relations = self._get_bundled_aggregations()
- self.assertDictContainsSubset(
- {"count": 2, "current_user_participated": True},
- relations[RelationTypes.THREAD],
+ self.assertLessEqual(
+ {"count": 2, "current_user_participated": True}.items(),
+ relations[RelationTypes.THREAD].items(),
)
# And the latest event is the last unredacted event.
self.assertEqual(
@@ -1676,9 +1679,9 @@ class RelationRedactionTestCase(BaseRelationsTestCase):
# Nothing should have changed (except the thread count).
self.assertEqual(self._get_related_events(), thread_replies)
relations = self._get_bundled_aggregations()
- self.assertDictContainsSubset(
- {"count": 1, "current_user_participated": True},
- relations[RelationTypes.THREAD],
+ self.assertLessEqual(
+ {"count": 1, "current_user_participated": True}.items(),
+ relations[RelationTypes.THREAD].items(),
)
# And the latest event is the last unredacted event.
self.assertEqual(
@@ -1773,12 +1776,12 @@ class RelationRedactionTestCase(BaseRelationsTestCase):
event_ids = self._get_related_events()
relations = self._get_bundled_aggregations()
self.assertEqual(len(event_ids), 1)
- self.assertDictContainsSubset(
+ self.assertLessEqual(
{
"count": 1,
"current_user_participated": True,
- },
- relations[RelationTypes.THREAD],
+ }.items(),
+ relations[RelationTypes.THREAD].items(),
)
self.assertEqual(
relations[RelationTypes.THREAD]["latest_event"]["event_id"],
|