summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/handlers/__init__.py5
-rw-r--r--synapse/handlers/appservice.py5
-rw-r--r--tests/handlers/test_appservice.py10
3 files changed, 9 insertions, 11 deletions
diff --git a/synapse/handlers/__init__.py b/synapse/handlers/__init__.py
index b31518bf62..8d345bf936 100644
--- a/synapse/handlers/__init__.py
+++ b/synapse/handlers/__init__.py
@@ -13,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+from synapse.appservice.api import ApplicationServiceApi
 from .register import RegistrationHandler
 from .room import (
     RoomCreationHandler, RoomMemberHandler, RoomListHandler
@@ -53,5 +54,7 @@ class Handlers(object):
         self.directory_handler = DirectoryHandler(hs)
         self.typing_notification_handler = TypingNotificationHandler(hs)
         self.admin_handler = AdminHandler(hs)
-        self.appservice_handler = ApplicationServicesHandler(hs)
+        self.appservice_handler = ApplicationServicesHandler(
+            hs, ApplicationServiceApi(hs)
+        )
         self.sync_handler = SyncHandler(hs)
diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py
index 8d0cdd528c..fa810b9a98 100644
--- a/synapse/handlers/appservice.py
+++ b/synapse/handlers/appservice.py
@@ -18,7 +18,6 @@ from twisted.internet import defer
 from synapse.api.constants import EventTypes
 from synapse.api.errors import Codes, StoreError, SynapseError
 from synapse.appservice import ApplicationService
-from synapse.appservice.api import ApplicationServiceApi
 from synapse.types import UserID
 import synapse.util.stringutils as stringutils
 
@@ -32,10 +31,10 @@ logger = logging.getLogger(__name__)
 # easier.
 class ApplicationServicesHandler(object):
 
-    def __init__(self, hs):
+    def __init__(self, hs, appservice_api):
         self.store = hs.get_datastore()
         self.hs = hs
-        self.appservice_api = ApplicationServiceApi(hs)
+        self.appservice_api = appservice_api
 
     @defer.inlineCallbacks
     def register(self, app_service):
diff --git a/tests/handlers/test_appservice.py b/tests/handlers/test_appservice.py
index e16e511587..a2c541317c 100644
--- a/tests/handlers/test_appservice.py
+++ b/tests/handlers/test_appservice.py
@@ -29,13 +29,9 @@ class AppServiceHandlerTestCase(unittest.TestCase):
         self.mock_as_api = Mock()
         hs = Mock()
         hs.get_datastore = Mock(return_value=self.mock_store)
-        self.handler = ApplicationServicesHandler(hs)  # thing being tested
-
-        # FIXME Would be nice to DI this rather than monkey patch:(
-        if not hasattr(self.handler, "appservice_api"):
-            # someone probably updated the handler but not the tests. Fail fast.
-            raise Exception("Test expected handler.appservice_api to exist.")
-        self.handler.appservice_api = self.mock_as_api
+        self.handler = ApplicationServicesHandler(
+            hs, self.mock_as_api
+        )
 
     @defer.inlineCallbacks
     def test_notify_interested_services(self):