Skip to content
Snippets Groups Projects
Commit 11e6b3d1 authored by Kegan Dougal's avatar Kegan Dougal
Browse files

Dependency inject ApplicationServiceApi when creating ApplicationServicesHandler.

parent a3c60107
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......@@ -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):
......
......@@ -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):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment