mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-23 07:21:08 -04:00
Update intentional mentions (MSC3952) to depend on exact_event_match
(MSC3758). (#15037)
This replaces the specific `is_room_mention` push rule condition used in MSC3952 with the generic `exact_event_match` push rule condition from MSC3758. No functionality changes due to this.
This commit is contained in:
parent
d1efc47925
commit
979f237b28
10 changed files with 26 additions and 59 deletions
|
@ -149,7 +149,6 @@ class PushRuleEvaluatorTestCase(unittest.TestCase):
|
|||
*,
|
||||
has_mentions: bool = False,
|
||||
user_mentions: Optional[Set[str]] = None,
|
||||
room_mention: bool = False,
|
||||
related_events: Optional[JsonDict] = None,
|
||||
) -> PushRuleEvaluator:
|
||||
event = FrozenEvent(
|
||||
|
@ -170,7 +169,6 @@ class PushRuleEvaluatorTestCase(unittest.TestCase):
|
|||
_flatten_dict(event),
|
||||
has_mentions,
|
||||
user_mentions or set(),
|
||||
room_mention,
|
||||
room_member_count,
|
||||
sender_power_level,
|
||||
cast(Dict[str, int], power_levels.get("notifications", {})),
|
||||
|
@ -232,27 +230,6 @@ class PushRuleEvaluatorTestCase(unittest.TestCase):
|
|||
# Note that invalid data is tested at tests.push.test_bulk_push_rule_evaluator.TestBulkPushRuleEvaluator.test_mentions
|
||||
# since the BulkPushRuleEvaluator is what handles data sanitisation.
|
||||
|
||||
def test_room_mentions(self) -> None:
|
||||
"""Check for room mentions."""
|
||||
condition = {"kind": "org.matrix.msc3952.is_room_mention"}
|
||||
|
||||
# No room mention shouldn't match.
|
||||
evaluator = self._get_evaluator({}, has_mentions=True)
|
||||
self.assertFalse(evaluator.matches(condition, None, None))
|
||||
|
||||
# Room mention should match.
|
||||
evaluator = self._get_evaluator({}, has_mentions=True, room_mention=True)
|
||||
self.assertTrue(evaluator.matches(condition, None, None))
|
||||
|
||||
# A room mention and user mention is valid.
|
||||
evaluator = self._get_evaluator(
|
||||
{}, has_mentions=True, user_mentions={"@another:test"}, room_mention=True
|
||||
)
|
||||
self.assertTrue(evaluator.matches(condition, None, None))
|
||||
|
||||
# Note that invalid data is tested at tests.push.test_bulk_push_rule_evaluator.TestBulkPushRuleEvaluator.test_mentions
|
||||
# since the BulkPushRuleEvaluator is what handles data sanitisation.
|
||||
|
||||
def _assert_matches(
|
||||
self, condition: JsonDict, content: JsonMapping, msg: Optional[str] = None
|
||||
) -> None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue