@@ -183,7 +183,7 @@ func (s *Server) MustMakeRoom(t ct.TestLike, roomVer gomatrixserverlib.RoomVersi
183183 // * prevents homeservers from getting confused when multiple test cases re-use the same homeserver deployment.
184184 roomID := fmt .Sprintf ("!%d-%s:%s" , len (s .rooms ), util .RandomString (18 ), s .serverName )
185185 t .Logf ("Creating room %s with version %s" , roomID , roomVer )
186- room := newRoom (roomVer , roomID )
186+ room := NewServerRoom (roomVer , roomID )
187187
188188 // sign all these events
189189 for _ , ev := range events {
@@ -425,9 +425,9 @@ func (s *Server) MustJoinRoom(t ct.TestLike, deployment FederationDeployment, re
425425 ct .Fatalf (t , "MustJoinRoom: send_join failed: %v" , err )
426426 }
427427 stateEvents := sendJoinResp .StateEvents .UntrustedEvents (roomVer )
428- room := newRoom (roomVer , roomID )
428+ room := NewServerRoom (roomVer , roomID )
429429 for _ , ev := range stateEvents {
430- room .replaceCurrentState (ev )
430+ room .ReplaceCurrentState (ev )
431431 }
432432 room .AddEvent (joinEvent )
433433 s .rooms [roomID ] = room
@@ -480,6 +480,11 @@ func (s *Server) MustLeaveRoom(t ct.TestLike, deployment FederationDeployment, r
480480 t .Logf ("Server.MustLeaveRoom left room ID %s" , roomID )
481481}
482482
483+ // AddRoom is a low-level function to add a custom room to the server. Useful to mix custom logic with helper functions.
484+ func (s * Server ) AddRoom (room * ServerRoom ) {
485+ s .rooms [room .RoomID ] = room
486+ }
487+
483488// ValidFederationRequest is a wrapper around http.HandlerFunc which automatically validates the incoming
484489// federation request and supports sending back JSON. Fails the test if the request is not valid.
485490func (s * Server ) ValidFederationRequest (t ct.TestLike , handler func (fr * fclient.FederationRequest , pathParams map [string ]string ) util.JSONResponse ) http.HandlerFunc {
0 commit comments