diff options
| -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"> | 
