21
21
from synapse .handlers .presence import UserPresenceState
22
22
from synapse .handlers .push_rules import InvalidRuleException
23
23
from synapse .rest import admin
24
- from synapse .rest .client import login , notifications , presence , profile , room
24
+ from synapse .rest .client import directory , login , notifications , presence , profile , room
25
25
from synapse .types import create_requester
26
26
27
27
from tests .events .test_presence_router import send_presence_update , sync_presence
@@ -40,6 +40,7 @@ class ModuleApiTestCase(HomeserverTestCase):
40
40
presence .register_servlets ,
41
41
profile .register_servlets ,
42
42
notifications .register_servlets ,
43
+ directory .register_servlets ,
43
44
]
44
45
45
46
def prepare (self , reactor , clock , homeserver ):
@@ -635,6 +636,21 @@ def test_check_push_rules_actions(self) -> None:
635
636
[{"set_tweak" : "sound" , "value" : "default" }]
636
637
)
637
638
639
+ def test_create_room (self ) -> None :
640
+ """Test that modules can create a room."""
641
+ user_id = self .register_user ("user" , "password" )
642
+
643
+ (result , _ ) = self .get_success (
644
+ self .module_api .create_room (user_id = user_id , config = {}, ratelimit = False )
645
+ )
646
+ room_id = result ["room_id" ]
647
+
648
+ channel = self .make_request (
649
+ "GET" ,
650
+ f"/_matrix/client/r0/directory/list/room/{ room_id } " ,
651
+ )
652
+ self .assertEqual (channel .code , 200 , channel .result )
653
+
638
654
639
655
class ModuleApiWorkerTestCase (BaseMultiWorkerStreamTestCase ):
640
656
"""For testing ModuleApi functionality in a multi-worker setup"""
0 commit comments