def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None: # Allow us to modify cached feature flags mid-test self.as_handler = hs.get_application_service_handler() # Mock ApplicationServiceApi's put_json, so we can verify the raw JSON that # will be sent over the wire self.put_json = simple_async_mock() hs.get_application_service_api( ).put_json = self.put_json # type: ignore[assignment] # Mock out application services, and allow defining our own in tests self._services: List[ApplicationService] = [] self.hs.get_datastores().main.get_app_services = Mock( return_value=self._services)
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None: # Mock the ApplicationServiceScheduler's _TransactionController's send method so that # we can track what's going out self.send_mock = simple_async_mock() hs.get_application_service_handler( ).scheduler.txn_ctrl.send = self.send_mock # type: ignore[assignment] # We assign to a method. # Define an application service for the tests self._service_token = "VERYSECRET" self._service = ApplicationService( self._service_token, "as1", "@as.sender:test", namespaces={ "users": [ { "regex": "@_as_.*:test", "exclusive": True }, { "regex": "@as.sender:test", "exclusive": True }, ] }, msc3202_transaction_extensions=True, ) self.hs.get_datastores().main.services_cache = [self._service] # Register some appservice users self._sender_user, self._sender_device = self.register_appservice_user( "as.sender", self._service_token) self._namespaced_user, self._namespaced_device = self.register_appservice_user( "_as_user1", self._service_token) # Register a real user as well. self._real_user = self.register_user("real.user", "meow") self._real_user_token = self.login("real.user", "meow")