summaryrefslogtreecommitdiff
path: root/service/test/adapter
diff options
context:
space:
mode:
authorPatrick Maia and Victor Shyba <pixelated-team+pmaia+vshyba@thoughtworks.com>2014-08-22 17:12:56 +0000
committerPatrick Maia <pmaia@thoughtworks.com>2014-08-22 17:13:22 +0000
commit4685e3d8e6188951a897c25a4772ef227eb27683 (patch)
tree3b1b02c746a8b433dc27c85bd53272ad50c4d0db /service/test/adapter
parent285f3e706195631e1094791e0399de4530f9a70d (diff)
fixes bug in which inbox special tag was being duplicated
Diffstat (limited to 'service/test/adapter')
-rw-r--r--service/test/adapter/mail_service_test.py33
-rw-r--r--service/test/adapter/pixelated_mail_test.py18
-rw-r--r--service/test/adapter/test_helper.py4
3 files changed, 23 insertions, 32 deletions
diff --git a/service/test/adapter/mail_service_test.py b/service/test/adapter/mail_service_test.py
index 0c6538dc..1219307e 100644
--- a/service/test/adapter/mail_service_test.py
+++ b/service/test/adapter/mail_service_test.py
@@ -5,38 +5,19 @@ from mock import Mock, MagicMock, patch
import test_helper
from pixelated.tags import Tag
-
class TestMailService(unittest.TestCase):
- def _raw_mail(self):
- return {
- "header":
- {
- "to": ["p@k.s"],
- "from": "a@y.t",
- "subject": "Test",
- "date": "2007-09-28T06:11:03-03:00"
- },
- "ident": 6,
- "tags": ["instagramer"],
- "status": [],
- "security_casing": {},
- "draft_reply_for": [],
- "body": "teste"
- }
-
@patch.object(MailService, 'set_flags', return_value=None)
- def test_custom_tags_get_created_if_not_exists(self, setFlags):
+ def test_custom_tags_get_created_if_not_exists(self, mockSetFlags):
MailService._open_leap_session = lambda self: None
- MailService.mailbox = Mock(messages=[test_helper.leap_mail(uid=6)])
+ MailService.mailbox = Mock(messages=[test_helper.leap_mail(uid=6, leap_flags=['\\Recent'])])
MailService.account = Mock(return_value=MagicMock())
mailservice = MailService()
- new_tags = ['test']
- mails = mailservice.update_tags(6, new_tags)
-
- for tag in mailservice.all_tags():
- print tag.name
+ new_tags = ['test', 'inbox']
+ updated_tags = mailservice.update_tags(6, new_tags)
- self.assertIn(Tag('test'), mailservice.all_tags())
+ self.assertEquals(set([Tag('test'), Tag('inbox')]), set(updated_tags))
+ # make sure that special tags are skipped when setting leap flags (eg.: tag_inbox)
+ mockSetFlags.assert_called_with(6, ['tag_test'])
diff --git a/service/test/adapter/pixelated_mail_test.py b/service/test/adapter/pixelated_mail_test.py
index 923398ed..ae444098 100644
--- a/service/test/adapter/pixelated_mail_test.py
+++ b/service/test/adapter/pixelated_mail_test.py
@@ -8,15 +8,24 @@ import test_helper
class TestPixelatedMail(unittest.TestCase):
- def test_leap_flags_that_are_tags_are_handled(self):
- pixelated_mail = PixelatedMail(test_helper.leap_mail())
+ def test_leap_recent_flag_is_translated_to_inbox_tag(self):
+ pixelated_mail = PixelatedMail(test_helper.leap_mail(leap_flags=['\\Recent']))
self.assertIn(Tag('inbox'), pixelated_mail.tags)
+
+ def test_leap_deleted_flag_is_translated_to_trash_tag(self):
+ pixelated_mail = PixelatedMail(test_helper.leap_mail(leap_flags=['\\Deleted']))
self.assertIn(Tag('trash'), pixelated_mail.tags)
+
+ def test_leap_draft_flag_is_translated_to_draft_tag(self):
+ pixelated_mail = PixelatedMail(test_helper.leap_mail(leap_flags=['\\Draft']))
self.assertIn(Tag('drafts'), pixelated_mail.tags)
- def test_leap_flags_that_are_status_are_handled(self):
- pixelated_mail = PixelatedMail(test_helper.leap_mail())
+ def test_leap_seen_flag_is_translated_to_read_status(self):
+ pixelated_mail = PixelatedMail(test_helper.leap_mail(leap_flags=['\\Seen']))
self.assertIn('read', pixelated_mail.status)
+
+ def test_leap_answered_flag_is_translated_to_replied_status(self):
+ pixelated_mail = PixelatedMail(test_helper.leap_mail(leap_flags=['\\Answered']))
self.assertIn('replied', pixelated_mail.status)
def test_leap_flags_that_are_custom_tags_are_handled(self):
@@ -26,3 +35,4 @@ class TestPixelatedMail(unittest.TestCase):
def test_custom_tags_containing_our_prefix_are_handled(self):
pixelated_mail = PixelatedMail(test_helper.leap_mail(extra_flags=['tag_tag_work_tag_']))
self.assertIn(Tag('tag_work_tag_'), pixelated_mail.tags)
+
diff --git a/service/test/adapter/test_helper.py b/service/test/adapter/test_helper.py
index 3731dfe8..dd063bc4 100644
--- a/service/test/adapter/test_helper.py
+++ b/service/test/adapter/test_helper.py
@@ -10,8 +10,8 @@ LEAP_FLAGS = ['\\Seen',
'List']
-def leap_mail(uid=0, extra_flags=[], headers={'date': str(datetime.now())}):
- flags = LEAP_FLAGS + extra_flags
+def leap_mail(uid=0, leap_flags=LEAP_FLAGS, extra_flags=[], headers={'date': str(datetime.now())}):
+ flags = leap_flags + extra_flags
return Mock(getUID=Mock(return_value=uid),
getFlags=Mock(return_value=flags),
bdoc=Mock(content={'raw': 'test'}),