diff options
author | Bruno Wagner Gonçalves <bwagner@riseup.net> | 2015-11-10 11:17:37 -0200 |
---|---|---|
committer | Bruno Wagner Gonçalves <bwagner@riseup.net> | 2015-11-10 11:17:37 -0200 |
commit | 78816e67fc1cd40fe23292904133d0a6d588e419 (patch) | |
tree | ee5d14223a7ad23518cfb15c531cb3a582bca4af | |
parent | 3ec84c9b81161684341c0c31eabe003bbae4e5ba (diff) | |
parent | ef86d4458c21f1d722fb162423cd3dfeea055844 (diff) |
Merge pull request #502 from sw00/master
show user email address in title
-rw-r--r-- | service/pixelated/adapter/services/mail_service.py | 3 | ||||
-rw-r--r-- | service/pixelated/config/services.py | 3 | ||||
-rw-r--r-- | service/pixelated/resources/root_resource.py | 7 | ||||
-rw-r--r-- | service/test/support/integration/app_test_client.py | 2 | ||||
-rw-r--r-- | service/test/unit/adapter/test_mail_service.py | 2 | ||||
-rw-r--r-- | service/test/unit/resources/test_root_resource.py | 30 | ||||
-rw-r--r-- | web-ui/app/index.html | 2 |
7 files changed, 43 insertions, 6 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/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 e6046eae..7bb7b3ad 100644 --- a/service/pixelated/resources/root_resource.py +++ b/service/pixelated/resources/root_resource.py @@ -1,5 +1,6 @@ import os import requests +from string import Template from pixelated.resources.attachments_resource import AttachmentsResource from pixelated.resources.contacts_resource import ContactsResource from pixelated.resources.features_resource import FeaturesResource @@ -22,6 +23,7 @@ class RootResource(Resource): Resource.__init__(self) self._startup_assets_folder = self._get_startup_folder() self._static_folder = self._get_static_folder() + self._html_template = open(os.path.join(self._static_folder, 'index.html')).read() self._startup_mode() def _startup_mode(self): @@ -34,6 +36,8 @@ class RootResource(Resource): return Resource.getChild(self, path, request) 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)) self.putChild('attachment', AttachmentsResource(mail_service)) @@ -67,4 +71,5 @@ class RootResource(Resource): if self._is_starting(): return open(os.path.join(self._startup_assets_folder, 'Interstitial.html')).read() else: - return open(os.path.join(self._static_folder, 'index.html')).read() + response = Template(self._html_template).safe_substitute(account_email=self.account_email) + return str(response) diff --git a/service/test/support/integration/app_test_client.py b/service/test/support/integration/app_test_client.py index 369a393d..484bea6e 100644 --- a/service/test/support/integration/app_test_client.py +++ b/service/test/support/integration/app_test_client.py @@ -166,7 +166,7 @@ class AppTestClient(object): return mail_sender def _create_mail_service(self, mail_sender, mail_store, search_engine): - mail_service = MailService(mail_sender, mail_store, search_engine) + mail_service = MailService(mail_sender, mail_store, search_engine, self.MAIL_ADDRESS) return mail_service def _generate_soledad_test_folder_name(self, soledad_test_folder='/tmp/soledad-test/test'): diff --git a/service/test/unit/adapter/test_mail_service.py b/service/test/unit/adapter/test_mail_service.py index 6faf5140..1ec3806e 100644 --- a/service/test/unit/adapter/test_mail_service.py +++ b/service/test/unit/adapter/test_mail_service.py @@ -37,7 +37,7 @@ class TestMailService(unittest.TestCase): self.mail_sender = mock() self.search_engine = mock() - self.mail_service = MailService(self.mail_sender, self.mail_store, self.search_engine) + self.mail_service = MailService(self.mail_sender, self.mail_store, self.search_engine, 'acount@email') def tearDown(self): unstub() diff --git a/service/test/unit/resources/test_root_resource.py b/service/test/unit/resources/test_root_resource.py new file mode 100644 index 00000000..4cdaf97a --- /dev/null +++ b/service/test/unit/resources/test_root_resource.py @@ -0,0 +1,30 @@ +import unittest +import re +from mockito import mock, when +from test.unit.resources import DummySite +from twisted.web.test.requesthelper import DummyRequest +from pixelated.resources.root_resource import RootResource + + +class TestRootResource(unittest.TestCase): + MAIL_ADDRESS = 'test_user@pixelated-project.org' + + def setUp(self): + root_resource = RootResource() + root_resource._mode = root_resource + root_resource.account_email = self.MAIL_ADDRESS + root_resource._html_template = "<html><head><title>$account_email</title></head></html>" + self.web = DummySite(root_resource) + + def test_render_GET_should_template_account_email(self): + request = DummyRequest(['']) + + d = self.web.get(request) + + def assert_response(_): + expected = "<title>{0}</title>".format(self.MAIL_ADDRESS) + matches = re.findall(expected, request.written[0]) + self.assertEquals(len(matches), 1) + + d.addCallback(assert_response) + return d diff --git a/web-ui/app/index.html b/web-ui/app/index.html index 281d661e..1ff5a116 100644 --- a/web-ui/app/index.html +++ b/web-ui/app/index.html @@ -6,7 +6,7 @@ href="assets/images/Favicon.png"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> -<title>Pixelated Mail</title> +<title>$account_email - Pixelated Mail</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width"> <link href="assets/bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> |