summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsw00 <sett.wai@gmail.com>2015-11-09 22:39:14 -0200
committersw00 <sett.wai@gmail.com>2015-11-09 22:39:14 -0200
commite2c83c13ba0ca1edf94b5af0408f17c0d1aa4e95 (patch)
treeb546645e212e9bc0ef1e7ff118fc9f371dc36335
parentb230d58eaa32a7f115881cffbf5637d98d1e8299 (diff)
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.
-rw-r--r--service/pixelated/adapter/services/mail_service.py3
-rw-r--r--service/pixelated/application.py1
-rw-r--r--service/pixelated/config/services.py3
-rw-r--r--service/pixelated/resources/root_resource.py7
-rw-r--r--service/test/unit/resources/test_root_resource.py8
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 = """
<html>
<head>