summaryrefslogtreecommitdiff
path: root/service/test
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-11-20 13:43:12 -0200
committerDuda Dornelles <ddornell@thoughtworks.com>2014-11-24 08:21:59 -0200
commit4f484e4dd2a40c4b3c71cd3d241785fb3a7b2eaf (patch)
tree09d494d82ac812e87e45c1b1ccc6ff2693b49a62 /service/test
parentd4b29e22f51c986e4b8306f1782ef3603248d0d5 (diff)
Adding contacts controller and basic contact search
Diffstat (limited to 'service/test')
-rw-r--r--service/test/integration/contacts_test.py22
-rw-r--r--service/test/support/integration/app_test_client.py8
-rw-r--r--service/test/support/integration/soledad_test_base.py4
3 files changed, 31 insertions, 3 deletions
diff --git a/service/test/integration/contacts_test.py b/service/test/integration/contacts_test.py
new file mode 100644
index 00000000..b1db485f
--- /dev/null
+++ b/service/test/integration/contacts_test.py
@@ -0,0 +1,22 @@
+from nose.twistedtools import deferred
+from test.support.integration import SoledadTestBase, MailBuilder
+
+
+class SearchTest(SoledadTestBase):
+
+ def setUp(self):
+ SoledadTestBase.setUp(self)
+
+ @deferred(timeout=SoledadTestBase.DEFERRED_TIMEOUT)
+ def test_that_tags_returns_all_tags(self):
+ input_mail = MailBuilder().with_tags(['important']).build_input_mail()
+ self.client.add_mail_to_inbox(input_mail)
+
+ d = self.get_contacts(query='recipient')
+
+ def _assert(contacts):
+ self.assertTrue('recipient@to.com' in contacts)
+ self.assertTrue('recipient@cc.com' in contacts)
+ self.assertTrue('recipient@bcc.com' in contacts)
+ d.addCallback(_assert)
+ return d \ No newline at end of file
diff --git a/service/test/support/integration/app_test_client.py b/service/test/support/integration/app_test_client.py
index dea59399..229d32d6 100644
--- a/service/test/support/integration/app_test_client.py
+++ b/service/test/support/integration/app_test_client.py
@@ -17,6 +17,7 @@ import json
import multiprocessing
import shutil
import time
+from pixelated.config.routes import setup_routes
from klein.test_resource import requestMock, _render
from leap.mail.imap.account import SoledadBackedAccount
@@ -30,7 +31,7 @@ from pixelated.adapter.soledad_querier import SoledadQuerier
from pixelated.adapter.tag_service import TagService
from pixelated.config import app_factory
from pixelated.controllers import FeaturesController, HomeController, MailsController, TagsController, \
- SyncInfoController, AttachmentsController
+ SyncInfoController, AttachmentsController, ContactsController
import pixelated.runserver
from pixelated.adapter.mail import PixelatedMail
from pixelated.adapter.search import SearchEngine
@@ -70,11 +71,12 @@ class AppTestClient:
draft_service=self.draft_service,
search_engine=self.search_engine)
tags_controller = TagsController(search_engine=self.search_engine)
+ contacts_controller = ContactsController(search_engine=self.search_engine)
sync_info_controller = SyncInfoController()
attachments_controller = AttachmentsController(self.soledad_querier)
- app_factory._setup_routes(self.app, home_controller, mails_controller, tags_controller,
- features_controller, sync_info_controller, attachments_controller)
+ setup_routes(self.app, home_controller, mails_controller, tags_controller,
+ features_controller, sync_info_controller, attachments_controller, contacts_controller)
def _render(self, request, as_json=True):
def get_request_written_data(_=None):
diff --git a/service/test/support/integration/soledad_test_base.py b/service/test/support/integration/soledad_test_base.py
index 2221679f..a9663144 100644
--- a/service/test/support/integration/soledad_test_base.py
+++ b/service/test/support/integration/soledad_test_base.py
@@ -81,3 +81,7 @@ class SoledadTestBase(unittest.TestCase):
def mark_many_as_read(self, idents):
res, req = self.client.post('/mails/read', json.dumps({'idents': idents}))
return req
+
+ def get_contacts(self, query):
+ res, req = self.client.get('/contacts', get_args={'q': query})
+ return res \ No newline at end of file