mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-09 02:32:14 -04:00
Fix PushRuleEvaluator
and Filter
to work on frozendicts (#12100)
* Fix `PushRuleEvaluator` to work on frozendicts frozendicts do not (necessarily) inherit from dict, so this needs to handle them correctly. * Fix event filtering for frozen events Looks like this one was introduced by #11194.
This commit is contained in:
parent
5565f454e1
commit
6c0b44a3d7
5 changed files with 27 additions and 6 deletions
|
@ -18,6 +18,7 @@
|
|||
from unittest.mock import patch
|
||||
|
||||
import jsonschema
|
||||
from frozendict import frozendict
|
||||
|
||||
from synapse.api.constants import EventContentFields
|
||||
from synapse.api.errors import SynapseError
|
||||
|
@ -327,6 +328,15 @@ class FilteringTestCase(unittest.HomeserverTestCase):
|
|||
|
||||
self.assertFalse(Filter(self.hs, definition)._check(event))
|
||||
|
||||
# check it works with frozendicts too
|
||||
event = MockEvent(
|
||||
sender="@foo:bar",
|
||||
type="m.room.message",
|
||||
room_id="!secretbase:unknown",
|
||||
content=frozendict({EventContentFields.LABELS: ["#fun"]}),
|
||||
)
|
||||
self.assertTrue(Filter(self.hs, definition)._check(event))
|
||||
|
||||
def test_filter_not_labels(self):
|
||||
definition = {"org.matrix.not_labels": ["#fun"]}
|
||||
event = MockEvent(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue