From a40f42b124e8255873b7de62d6b732632fc68408 Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Mon, 29 Sep 2014 14:41:03 -0300 Subject: Adding first integration test, w000t --- service/integration/mail_fetch_test.py | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 service/integration/mail_fetch_test.py (limited to 'service/integration/mail_fetch_test.py') diff --git a/service/integration/mail_fetch_test.py b/service/integration/mail_fetch_test.py new file mode 100644 index 00000000..bd2823a3 --- /dev/null +++ b/service/integration/mail_fetch_test.py @@ -0,0 +1,56 @@ +import unittest + +from flask import json +from mockito import mock +from pixelated.adapter.mail_service import MailService +from pixelated.adapter.pixelated_mail import PixelatedMail +from pixelated.adapter.pixelated_mailboxes import PixelatedMailBoxes +from pixelated.adapter.soledad_querier import SoledadQuerier +import pixelated.user_agent +from integration import JSONMailBuilder, initialize_soledad + + +class FakeAccount(object): + def __init__(self): + self.mailboxes = ['INBOX', 'DRAFTS', 'SENT', 'TRASH'] + + +class MailFetchTest(unittest.TestCase): + + def setUp(self): + self.soledad_test_folder = "soledad-test" + self.app = pixelated.user_agent.app.test_client() + self.account = FakeAccount() + self.mail_sender = mock() + self.mail_address = "test@pixelated.org" + self.soledad = initialize_soledad(tempdir=self.soledad_test_folder) + + SoledadQuerier.get_instance(soledad=self.soledad) + PixelatedMail.from_email_address = self.mail_address + pixelated_mailboxes = PixelatedMailBoxes(self.account) + pixelated.user_agent.mail_service = MailService(pixelated_mailboxes, self.mail_sender) + pixelated.user_agent.DISABLED_FEATURES = [] + + def tearDown(self): + self.soledad.close() + import shutil + shutil.rmtree(self.soledad_test_folder) + + def get(self, url): + return json.loads(self.app.get(url).data) + + def post_mail(self, data): + self.app.post('/mails', data=data, content_type="application/json") + + def test_get_mails(self): + mail_one = JSONMailBuilder().with_subject("Mail One").build() + mail_two = JSONMailBuilder().with_subject("Mail Two").build() + + self.post_mail(mail_one) + self.post_mail(mail_two) + + response = self.get('/mails?q=tag:drafts') + + # ordered by creation date + self.assertEquals(u'Mail Two', response['mails'][0]['header']['subject']) + self.assertEquals(u'Mail One', response['mails'][1]['header']['subject']) -- cgit v1.2.3