Add valid filter tests, flake8, fix typo
Signed-off-by: pik <alexander.maznev@gmail.com>
This commit is contained in:
parent
e56c79c114
commit
acafcf1c5b
|
@ -78,7 +78,7 @@ ROOM_FILTER_SCHEMA = {
|
|||
"timeline": {
|
||||
"$ref": "#/definitions/room_event_filter"
|
||||
},
|
||||
"accpount_data": {
|
||||
"account_data": {
|
||||
"$ref": "#/definitions/room_event_filter"
|
||||
},
|
||||
}
|
||||
|
@ -131,7 +131,7 @@ USER_ID_ARRAY_SCHEMA = {
|
|||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"pattern": "^[A-Za-z0-9_]+:[A-Za-z0-9_-\.]+$"
|
||||
"pattern": "^@[A-Za-z0-9_]+:[A-Za-z0-9_\-\.]+$"
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,9 +155,10 @@ USER_FILTER_SCHEMA = {
|
|||
"room": {
|
||||
"$ref": "#/definitions/room_filter"
|
||||
},
|
||||
# "event_format": {
|
||||
# "type": { "enum": [ "client", "federation" ] }
|
||||
# },
|
||||
"event_format": {
|
||||
"type": "string",
|
||||
"enum": ["client", "federation"]
|
||||
},
|
||||
"event_fields": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
|
|
@ -35,6 +35,7 @@ def MockEvent(**kwargs):
|
|||
kwargs["type"] = "fake_type"
|
||||
return FrozenEvent(kwargs)
|
||||
|
||||
|
||||
class FilteringTestCase(unittest.TestCase):
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
@ -60,12 +61,55 @@ class FilteringTestCase(unittest.TestCase):
|
|||
{"account_data": "Hello World"},
|
||||
{"event_fields": ["\\foo"]},
|
||||
{"room": {"timeline": {"limit": 0}, "state": {"not_bars": ["*"]}}},
|
||||
{"event_format": "other"}
|
||||
]
|
||||
for filter in invalid_filters:
|
||||
with self.assertRaises(SynapseError) as check_filter_error:
|
||||
self.filtering.check_valid_filter(filter)
|
||||
self.assertIsInstance(check_filter_error.exception, SynapseError)
|
||||
|
||||
def test_valid_filters(self):
|
||||
valid_filters = [
|
||||
{
|
||||
"room": {
|
||||
"timeline": {"limit": 20},
|
||||
"state": {"not_types": ["m.room.member"]},
|
||||
"ephemeral": {"limit": 0, "not_types": ["*"]},
|
||||
"include_leave": False,
|
||||
"rooms": ["#dee:pik-test"],
|
||||
"not_rooms": ["#gee:pik-test"],
|
||||
"account_data": {"limit": 0, "types": ["*"]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"room": {
|
||||
"state": {
|
||||
"types": ["m.room.*"],
|
||||
"not_rooms": ["!726s6s6q:example.com"]
|
||||
},
|
||||
"timeline": {
|
||||
"limit": 10,
|
||||
"types": ["m.room.message"],
|
||||
"not_rooms": ["!726s6s6q:example.com"],
|
||||
"not_senders": ["@spam:example.com"]
|
||||
},
|
||||
"ephemeral": {
|
||||
"types": ["m.receipt", "m.typing"],
|
||||
"not_rooms": ["!726s6s6q:example.com"],
|
||||
"not_senders": ["@spam:example.com"]
|
||||
}
|
||||
},
|
||||
"presence": {
|
||||
"types": ["m.presence"],
|
||||
"not_senders": ["@alice:example.com"]
|
||||
},
|
||||
"event_format": "client",
|
||||
"event_fields": ["type", "content", "sender"]
|
||||
}
|
||||
]
|
||||
for filter in valid_filters:
|
||||
self.filtering.check_valid_filter(filter)
|
||||
|
||||
def test_limits_are_applied(self):
|
||||
# TODO
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue