- postgres incompatibility fixed.

- Test for filter_empty_rooms added.
This commit is contained in:
Alexander Fechler 2024-06-06 17:21:44 +02:00
parent 712e3d17c2
commit f09d00020a
2 changed files with 40 additions and 1 deletions

View file

@ -653,7 +653,7 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
]
if filter_public_rooms is not None:
filter_arg = "1" if filter_public_rooms else "0"
filter_.append(f"rooms.is_public = {filter_arg}")
filter_.append(f"rooms.is_public = '{filter_arg}'")
if filter_empty_rooms is not None:
if filter_empty_rooms:

View file

@ -1833,6 +1833,45 @@ class RoomTestCase(unittest.HomeserverTestCase):
self.assertEqual(1, response.json_body["total_rooms"])
self.assertEqual(1, len(response.json_body["rooms"]))
def test_filter_empty_rooms(self) -> None:
self.helper.create_room_as(
self.admin_user, tok=self.admin_user_tok, is_public=True
)
self.helper.create_room_as(
self.admin_user, tok=self.admin_user_tok, is_public=True
)
room_id = self.helper.create_room_as(
self.admin_user, tok=self.admin_user_tok, is_public=False
)
self.helper.leave(room_id, self.admin_user, tok=self.admin_user_tok)
response = self.make_request(
"GET",
"/_synapse/admin/v1/rooms",
access_token=self.admin_user_tok,
)
self.assertEqual(200, response.code, msg=response.json_body)
self.assertEqual(3, response.json_body["total_rooms"])
self.assertEqual(3, len(response.json_body["rooms"]))
response = self.make_request(
"GET",
"/_synapse/admin/v1/rooms?filter_empty_rooms=false",
access_token=self.admin_user_tok,
)
self.assertEqual(200, response.code, msg=response.json_body)
self.assertEqual(2, response.json_body["total_rooms"])
self.assertEqual(2, len(response.json_body["rooms"]))
response = self.make_request(
"GET",
"/_synapse/admin/v1/rooms?filter_empty_rooms=true",
access_token=self.admin_user_tok,
)
self.assertEqual(200, response.code, msg=response.json_body)
self.assertEqual(1, response.json_body["total_rooms"])
self.assertEqual(1, len(response.json_body["rooms"]))
def test_single_room(self) -> None:
"""Test that a single room can be requested correctly"""
# Create two test rooms