summaryrefslogtreecommitdiff
path: root/service/test
diff options
context:
space:
mode:
authorBruno Wagner <bwgpro@gmail.com>2015-06-05 19:36:08 -0300
committerBruno Wagner <bwgpro@gmail.com>2015-06-05 19:36:08 -0300
commit103cb481bc46e9dc8c5ca047b460265b5d68ee32 (patch)
treeacb7cf1395b879fcd9730766498415fce58d137f /service/test
parenta2886f31583722c5f08a965325156f8eb1e18509 (diff)
Added creation of input mail from python message
That way we don't need extra logic for the welcome mail, we just have to read the file and send the contents to the input mail parser and that's it. Also moved the logic of adding a welcome mail to the mailboxes because it has knowledge of mailbox methods anyways.
Diffstat (limited to 'service/test')
-rw-r--r--service/test/integration/test_contacts.py2
-rw-r--r--service/test/integration/test_tags.py2
-rw-r--r--service/test/integration/test_welcome_mail.py15
-rw-r--r--service/test/support/integration/app_test_client.py2
-rw-r--r--service/test/unit/adapter/test_draft_service.py2
-rw-r--r--service/test/unit/adapter/test_mail_service.py6
-rw-r--r--service/test/unit/adapter/test_mailboxes.py1
-rw-r--r--service/test/unit/config/test_welcome_mail.py32
8 files changed, 15 insertions, 47 deletions
diff --git a/service/test/integration/test_contacts.py b/service/test/integration/test_contacts.py
index f9cde9e5..1d82b0d7 100644
--- a/service/test/integration/test_contacts.py
+++ b/service/test/integration/test_contacts.py
@@ -87,7 +87,7 @@ class ContactsTest(SoledadTestBase):
self.add_mail_to_inbox(to_be_bounced)
bounced_mail_template = MailBuilder().build_input_mail()
- bounced_mail = self.mailboxes.inbox().add(bounced_mail_template)
+ bounced_mail = self.mailboxes.inbox.add(bounced_mail_template)
bounced_mail.hdoc.content = self._bounced_mail_hdoc_content()
bounced_mail.save()
self.search_engine.index_mail(bounced_mail)
diff --git a/service/test/integration/test_tags.py b/service/test/integration/test_tags.py
index 976b6d96..168e035f 100644
--- a/service/test/integration/test_tags.py
+++ b/service/test/integration/test_tags.py
@@ -86,5 +86,5 @@ class TagsTest(SoledadTestBase):
response = self.post_tags(mail.ident, self._tags_json([tag.name.upper()]))
self.assertEquals("None of the following words can be used as tags: %s" % tag.name, response)
- mail = self.mailboxes.inbox().mail(mail.ident)
+ mail = self.mailboxes.inbox.mail(mail.ident)
self.assertNotIn('drafts', mail.tags)
diff --git a/service/test/integration/test_welcome_mail.py b/service/test/integration/test_welcome_mail.py
index ed37f50e..a5ca555a 100644
--- a/service/test/integration/test_welcome_mail.py
+++ b/service/test/integration/test_welcome_mail.py
@@ -15,21 +15,20 @@
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
from test.support.integration import SoledadTestBase
-from pixelated.config.welcome_mail import check_welcome_mail
class TestWelcomeMail(SoledadTestBase):
- def test_that_a_fresh_INBOX_will_receive_a_welcome_mail_only_once(self):
- inbox = self.mailboxes.inbox()
- check_welcome_mail(inbox) # adds a mail
- check_welcome_mail(inbox) # should not repeat
-
+ def test_welcome_mail_is_added_only_once(self):
+ self.mailboxes.add_welcome_mail_for_fresh_user()
+ self.mailboxes.add_welcome_mail_for_fresh_user()
inbox_mails = self.get_mails_by_tag('inbox')
self.assertEquals(1, len(inbox_mails))
+ def test_empty_mailbox_doesnt_mean_fresh_mailbox(self):
+ self.mailboxes.add_welcome_mail_for_fresh_user()
+ inbox_mails = self.get_mails_by_tag('inbox')
self.delete_mail(inbox_mails[0].ident)
- check_welcome_mail(inbox) # it is empty, but not fresh anymore
-
+ self.mailboxes.add_welcome_mail_for_fresh_user()
inbox_mails = self.get_mails_by_tag('inbox')
self.assertEquals(0, len(inbox_mails))
diff --git a/service/test/support/integration/app_test_client.py b/service/test/support/integration/app_test_client.py
index 25171353..a1b0c3b8 100644
--- a/service/test/support/integration/app_test_client.py
+++ b/service/test/support/integration/app_test_client.py
@@ -125,7 +125,7 @@ class AppTestClient(object):
self.soledad_querier.soledad.create_doc(_dict)
def add_mail_to_inbox(self, input_mail):
- mail = self.mailboxes.inbox().add(input_mail)
+ mail = self.mailboxes.inbox.add(input_mail)
if input_mail.tags:
mail.update_tags(input_mail.tags)
self.search_engine.index_mail(mail)
diff --git a/service/test/unit/adapter/test_draft_service.py b/service/test/unit/adapter/test_draft_service.py
index 0dd6cd2a..79eca5f6 100644
--- a/service/test/unit/adapter/test_draft_service.py
+++ b/service/test/unit/adapter/test_draft_service.py
@@ -12,7 +12,7 @@ class DraftServiceTest(unittest.TestCase):
self.mailboxes = mock()
self.drafts_mailbox = mock()
self.draft_service = DraftService(self.mailboxes)
- when(self.mailboxes).drafts().thenReturn(self.drafts_mailbox)
+ self.mailboxes.drafts = self.drafts_mailbox
def test_add_draft(self):
mail = InputMail()
diff --git a/service/test/unit/adapter/test_mail_service.py b/service/test/unit/adapter/test_mail_service.py
index f4b89f57..f5e29b0c 100644
--- a/service/test/unit/adapter/test_mail_service.py
+++ b/service/test/unit/adapter/test_mail_service.py
@@ -27,9 +27,9 @@ class TestMailService(unittest.TestCase):
self.drafts = mock()
self.querier = mock()
self.mailboxes = mock()
- self.mailboxes.drafts = lambda: self.drafts
- self.mailboxes.trash = lambda: mock()
- self.mailboxes.sent = lambda: mock()
+ self.mailboxes.drafts = self.drafts
+ self.mailboxes.trash = mock()
+ self.mailboxes.sent = mock()
self.mail_sender = mock()
self.search_engine = mock()
diff --git a/service/test/unit/adapter/test_mailboxes.py b/service/test/unit/adapter/test_mailboxes.py
index 5b4548eb..6ff3849b 100644
--- a/service/test/unit/adapter/test_mailboxes.py
+++ b/service/test/unit/adapter/test_mailboxes.py
@@ -23,6 +23,7 @@ from mock import MagicMock
class PixelatedMailboxesTest(unittest.TestCase):
+
def setUp(self):
self.querier = mock()
self.search_engine = mock()
diff --git a/service/test/unit/config/test_welcome_mail.py b/service/test/unit/config/test_welcome_mail.py
deleted file mode 100644
index 3971c73f..00000000
--- a/service/test/unit/config/test_welcome_mail.py
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (c) 2014 ThoughtWorks, Inc.
-#
-# Pixelated is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Pixelated is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-import unittest
-
-from pixelated.config.welcome_mail import build_welcome_mail
-from pixelated.adapter.model.mail import InputMail
-
-
-class WelcomeMailTest(unittest.TestCase):
-
- def test_build_plain_welcome_mail(self):
- user_address = InputMail.FROM_EMAIL_ADDRESS = 'welcomed@user'
- mail = build_welcome_mail()
- self.assertEquals(user_address, mail.to)
- self.assertEquals('Welcome to Pixelated Mail', mail.headers['Subject'])
- self.assertIn('How to use it', mail.body)
- self.assertIn('text/plain', mail._mime.as_string())
- self.assertIn('text/html', mail._mime.as_string())
- self.assertTrue(mail.headers['Date'])