def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None: self.clock = clock self._storage_controllers = hs.get_storage_controllers() self.virtual_user_id, _ = self.register_appservice_user( "as_user_potato", self.appservice.token)
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer): super().prepare(reactor, clock, hs) self._storage_controllers = hs.get_storage_controllers() # create the room creator_user_id = self.register_user("kermit", "test") tok = self.login("kermit", "test") self._room_id = self.helper.create_room_as( room_creator=creator_user_id, tok=tok) # a second member on the orgin HS second_member_user_id = self.register_user("fozzie", "bear") tok2 = self.login("fozzie", "bear") self.helper.join(self._room_id, second_member_user_id, tok=tok2)
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None: mock_notifier = hs.get_notifier() self.on_new_event = mock_notifier.on_new_event self.handler = hs.get_typing_handler() self.event_source = hs.get_event_sources().sources.typing self.datastore = hs.get_datastores().main self.datastore.get_destination_retry_timings = Mock( return_value=make_awaitable(None)) self.datastore.get_device_updates_by_remote = Mock( return_value=make_awaitable((0, []))) self.datastore.get_destination_last_successful_stream_ordering = Mock( return_value=make_awaitable(None)) def get_received_txn_response(*args): return defer.succeed(None) self.datastore.get_received_txn_response = get_received_txn_response self.room_members = [] async def check_user_in_room(room_id: str, user_id: str) -> None: if user_id not in [u.to_string() for u in self.room_members]: raise AuthError(401, "User is not in the room") return None hs.get_auth().check_user_in_room = check_user_in_room async def check_host_in_room(room_id: str, server_name: str) -> bool: return room_id == ROOM_ID hs.get_event_auth_handler().check_host_in_room = check_host_in_room async def get_current_hosts_in_room(room_id: str): return {member.domain for member in self.room_members} hs.get_storage_controllers().state.get_current_hosts_in_room = ( get_current_hosts_in_room) async def get_users_in_room(room_id: str): return {str(u) for u in self.room_members} self.datastore.get_users_in_room = get_users_in_room self.datastore.get_user_directory_stream_pos = Mock(side_effect=( # we deliberately return a non-None stream pos to avoid doing an initial_spam lambda: make_awaitable(1))) self.datastore.get_partial_current_state_deltas = Mock( return_value=(0, None)) self.datastore.get_to_device_stream_token = lambda: 0 self.datastore.get_new_device_msgs_for_remote = ( lambda *args, **kargs: make_awaitable(([], 0))) self.datastore.delete_device_msgs_for_remote = ( lambda *args, **kargs: make_awaitable(None)) self.datastore.set_received_txn_response = ( lambda *args, **kwargs: make_awaitable(None))