Skip to content

Commit 1e29926

Browse files
committed
- postgres incompatibility fixed.
- Test for filter_empty_rooms added.
1 parent 406df01 commit 1e29926

2 files changed

Lines changed: 40 additions & 1 deletion

File tree

synapse/storage/databases/main/room.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ async def get_rooms_paginate(
653653
]
654654
if filter_public_rooms is not None:
655655
filter_arg = "1" if filter_public_rooms else "0"
656-
filter_.append(f"rooms.is_public = {filter_arg}")
656+
filter_.append(f"rooms.is_public = '{filter_arg}'")
657657

658658
if filter_empty_rooms is not None:
659659
if filter_empty_rooms:

tests/rest/admin/test_room.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1833,6 +1833,45 @@ def test_filter_public_rooms(self) -> None:
18331833
self.assertEqual(1, response.json_body["total_rooms"])
18341834
self.assertEqual(1, len(response.json_body["rooms"]))
18351835

1836+
def test_filter_empty_rooms(self) -> None:
1837+
self.helper.create_room_as(
1838+
self.admin_user, tok=self.admin_user_tok, is_public=True
1839+
)
1840+
self.helper.create_room_as(
1841+
self.admin_user, tok=self.admin_user_tok, is_public=True
1842+
)
1843+
room_id = self.helper.create_room_as(
1844+
self.admin_user, tok=self.admin_user_tok, is_public=False
1845+
)
1846+
self.helper.leave(room_id, self.admin_user, tok=self.admin_user_tok)
1847+
1848+
response = self.make_request(
1849+
"GET",
1850+
"/_synapse/admin/v1/rooms",
1851+
access_token=self.admin_user_tok,
1852+
)
1853+
self.assertEqual(200, response.code, msg=response.json_body)
1854+
self.assertEqual(3, response.json_body["total_rooms"])
1855+
self.assertEqual(3, len(response.json_body["rooms"]))
1856+
1857+
response = self.make_request(
1858+
"GET",
1859+
"/_synapse/admin/v1/rooms?filter_empty_rooms=false",
1860+
access_token=self.admin_user_tok,
1861+
)
1862+
self.assertEqual(200, response.code, msg=response.json_body)
1863+
self.assertEqual(2, response.json_body["total_rooms"])
1864+
self.assertEqual(2, len(response.json_body["rooms"]))
1865+
1866+
response = self.make_request(
1867+
"GET",
1868+
"/_synapse/admin/v1/rooms?filter_empty_rooms=true",
1869+
access_token=self.admin_user_tok,
1870+
)
1871+
self.assertEqual(200, response.code, msg=response.json_body)
1872+
self.assertEqual(1, response.json_body["total_rooms"])
1873+
self.assertEqual(1, len(response.json_body["rooms"]))
1874+
18361875
def test_single_room(self) -> None:
18371876
"""Test that a single room can be requested correctly"""
18381877
# Create two test rooms

0 commit comments

Comments
 (0)