Skip to content
This repository was archived by the owner on Mar 26, 2024. It is now read-only.

Commit 16e080c

Browse files
committed
Fix push rule evaluator tests
1 parent 70a28e6 commit 16e080c

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

synapse/push/bulk_push_rule_evaluator.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,7 @@ def _flatten_dict(
532532
if isinstance(value, str):
533533
result[".".join(prefix + [key])] = value.lower()
534534
elif isinstance(value, bool):
535+
# Beeper: we need this for fi.mau.auto_accept_invite boolean
535536
result[".".join(prefix + [key])] = str(value).lower()
536537
elif isinstance(value, Mapping):
537538
# do not set `room_version` due to recursion considerations below

tests/push/test_push_rule_evaluator.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def test_non_string(self) -> None:
5858
"fuzz": [],
5959
"boo": {},
6060
}
61-
self.assertEqual({"woo": "woo"}, _flatten_dict(input))
61+
self.assertEqual({"woo": "woo", "foo": "true"}, _flatten_dict(input))
6262

6363
def test_event(self) -> None:
6464
"""Events can also be flattened."""
@@ -836,6 +836,9 @@ def test_reactions(self) -> None:
836836

837837
dm_evaluator = PushRuleEvaluator(
838838
_flatten_dict(reaction_event),
839+
False,
840+
set(),
841+
False,
839842
2,
840843
0,
841844
{},
@@ -847,18 +850,21 @@ def test_reactions(self) -> None:
847850

848851
# Reaction to Brad's message, should be an action for Brad
849852
actions = dm_evaluator.run(
850-
FilteredPushRules(PushRules([]), {}, True, True), "@brad:beeper.com", "Brad"
853+
FilteredPushRules(PushRules([]), {}, True, True, True, True, True), "@brad:beeper.com", "Brad"
851854
)
852855
self.assertTrue("notify" in actions)
853856

854857
# Reaction to Brad's message, should not be an action for Nick
855858
actions = dm_evaluator.run(
856-
FilteredPushRules(PushRules([]), {}, True, True), "@nick:beeper.com", "Nick"
859+
FilteredPushRules(PushRules([]), {}, True, True, True, True, True), "@nick:beeper.com", "Nick"
857860
)
858861
self.assertEqual(actions, [])
859862

860863
large_room_evaluator = PushRuleEvaluator(
861864
_flatten_dict(reaction_event),
865+
False,
866+
set(),
867+
False,
862868
30,
863869
0,
864870
{},
@@ -870,11 +876,11 @@ def test_reactions(self) -> None:
870876

871877
# Large rooms should never have emoji reaction notifications
872878
actions = large_room_evaluator.run(
873-
FilteredPushRules(PushRules([]), {}, True, True), "@brad:beeper.com", "Brad"
879+
FilteredPushRules(PushRules([]), {}, True, True, True, True, True), "@brad:beeper.com", "Brad"
874880
)
875881
self.assertEqual(actions, [])
876882
actions = large_room_evaluator.run(
877-
FilteredPushRules(PushRules([]), {}, True, True), "@nick:beeper.com", "Nick"
883+
FilteredPushRules(PushRules([]), {}, True, True, True, True, True), "@nick:beeper.com", "Nick"
878884
)
879885
self.assertEqual(actions, [])
880886

@@ -898,6 +904,9 @@ def test_supress_auto_accept_invite(self) -> None:
898904

899905
evaluator = PushRuleEvaluator(
900906
_flatten_dict(event),
907+
False,
908+
set(),
909+
False,
901910
0,
902911
0,
903912
{},
@@ -908,7 +917,7 @@ def test_supress_auto_accept_invite(self) -> None:
908917
)
909918

910919
actions = evaluator.run(
911-
FilteredPushRules(PushRules([]), {}, True, True),
920+
FilteredPushRules(PushRules([]), {}, True, True, True, True, True),
912921
"@brad:beeper.com",
913922
"Brad Murray",
914923
)

0 commit comments

Comments
 (0)