def create_room_with_remote_server(self, user, token, remote_server="other_server"): room = self.helper.create_room_as(user, tok=token) store = self.hs.get_datastore() federation = self.hs.get_federation_handler() prev_event_ids = self.get_success( store.get_latest_event_ids_in_room(room)) room_version = self.get_success(store.get_room_version(room)) factory = EventBuilderFactory(self.hs) factory.hostname = remote_server user_id = UserID("user", remote_server).to_string() event_dict = { "type": EventTypes.Member, "state_key": user_id, "content": { "membership": Membership.JOIN }, "sender": user_id, "room_id": room, } builder = factory.for_room_version(room_version, event_dict) join_event = self.get_success(builder.build(prev_event_ids, None)) self.get_success( federation.on_send_join_request(remote_server, join_event)) self.replicate() return room
def build_event_builder_factory(self): return EventBuilderFactory(self)
def get_event_builder_factory(self) -> EventBuilderFactory: return EventBuilderFactory(self)
def build_event_builder_factory(self): return EventBuilderFactory( clock=self.get_clock(), hostname=self.hostname, )