From e2c83c13ba0ca1edf94b5af0408f17c0d1aa4e95 Mon Sep 17 00:00:00 2001 From: sw00 Date: Mon, 9 Nov 2015 22:39:14 -0200 Subject: use mail_service to inject account_email into root_resource instead of using leap_session, mail_service can be used to get the account email. --- service/pixelated/adapter/services/mail_service.py | 3 ++- service/pixelated/application.py | 1 - service/pixelated/config/services.py | 3 ++- service/pixelated/resources/root_resource.py | 7 +++---- service/test/unit/resources/test_root_resource.py | 8 +++++--- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/service/pixelated/adapter/services/mail_service.py b/service/pixelated/adapter/services/mail_service.py index 44c4c145..53f7615e 100644 --- a/service/pixelated/adapter/services/mail_service.py +++ b/service/pixelated/adapter/services/mail_service.py @@ -23,10 +23,11 @@ import os class MailService(object): - def __init__(self, mail_sender, mail_store, search_engine): + def __init__(self, mail_sender, mail_store, search_engine, account_email): self.mail_store = mail_store self.search_engine = search_engine self.mail_sender = mail_sender + self.account_email = account_email @defer.inlineCallbacks def all_mails(self): diff --git a/service/pixelated/application.py b/service/pixelated/application.py index 3505f884..bca4d5e5 100644 --- a/service/pixelated/application.py +++ b/service/pixelated/application.py @@ -47,7 +47,6 @@ def start_user_agent(root_resource, leap_home, leap_session): yield add_welcome_mail(leap_session.mail_store) root_resource.initialize( - leap_session, services.keymanager, services.search_engine, services.mail_service, diff --git a/service/pixelated/config/services.py b/service/pixelated/config/services.py index 35429c01..b70bb3f9 100644 --- a/service/pixelated/config/services.py +++ b/service/pixelated/config/services.py @@ -60,7 +60,8 @@ class Services(object): return MailService( pixelated_mail_sender, leap_session.mail_store, - search_engine) + search_engine, + leap_session.account_email()) def setup_draft_service(self, mail_store): return DraftService(mail_store) diff --git a/service/pixelated/resources/root_resource.py b/service/pixelated/resources/root_resource.py index fd3c4f92..7bb7b3ad 100644 --- a/service/pixelated/resources/root_resource.py +++ b/service/pixelated/resources/root_resource.py @@ -35,8 +35,8 @@ class RootResource(Resource): return self return Resource.getChild(self, path, request) - def initialize(self, leap_session, keymanager, search_engine, mail_service, draft_service, feedback_service): - self._leap_session = leap_session + def initialize(self, keymanager, search_engine, mail_service, draft_service, feedback_service): + self.account_email = mail_service.account_email self.putChild('assets', File(self._static_folder)) self.putChild('keys', KeysResource(keymanager)) @@ -71,6 +71,5 @@ class RootResource(Resource): if self._is_starting(): return open(os.path.join(self._startup_assets_folder, 'Interstitial.html')).read() else: - email = self._leap_session.account_email() - response = Template(self._html_template).safe_substitute(account_email=email) + response = Template(self._html_template).safe_substitute(account_email=self.account_email) return str(response) diff --git a/service/test/unit/resources/test_root_resource.py b/service/test/unit/resources/test_root_resource.py index dc1e97ae..068a531f 100644 --- a/service/test/unit/resources/test_root_resource.py +++ b/service/test/unit/resources/test_root_resource.py @@ -8,10 +8,12 @@ from pixelated.resources.root_resource import RootResource class TestRootResource(unittest.TestCase): def setUp(self): - leap_session = mock() - when(leap_session).account_email().thenReturn('hackerman@pixelated.org') + test_email = 'hackerman@pixelated-project.org' + mail_service = mock() + mail_service.account_email = test_email + root_resource = RootResource() - root_resource.initialize(leap_session, mock(), mock(), mock(), mock(), mock()) + root_resource.initialize(mock(), mock(), mail_service, mock(), mock()) root_resource._html_template = """ -- cgit v1.2.3