summaryrefslogtreecommitdiff
path: root/service/test/integration
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-10-13 19:29:36 +0200
committerDuda Dornelles <ddornell@thoughtworks.com>2014-10-14 17:48:27 +0200
commitcd4dffcfcb3f7473913e2b50571a182689efeedc (patch)
treedb8ff0748e5a63efcb3d8d82a7b8cc774376d86a /service/test/integration
parent451218929536b59d3e0a72a9c651a1911e1bd1cd (diff)
No more tag_index - now whoosh does everythin
Diffstat (limited to 'service/test/integration')
-rw-r--r--service/test/integration/search_test.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/service/test/integration/search_test.py b/service/test/integration/search_test.py
new file mode 100644
index 00000000..1a72a9bf
--- /dev/null
+++ b/service/test/integration/search_test.py
@@ -0,0 +1,59 @@
+#
+# 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 test.support.integration_helper import MailBuilder, SoledadTestBase
+
+
+class SearchTest(unittest.TestCase, SoledadTestBase):
+
+ def setUp(self):
+ self.setup_soledad()
+
+ def tearDown(self):
+ self.teardown_soledad()
+
+ def test_that_tags_returns_all_tags(self):
+ input_mail = MailBuilder().with_tags('important').build_input_mail()
+ self.add_mail_to_inbox(input_mail)
+
+ all_tags = self.get_tags()
+
+ all_tag_names = [t['name'] for t in all_tags]
+ self.assertTrue('inbox' in all_tag_names)
+ self.assertTrue('sent' in all_tag_names)
+ self.assertTrue('trash' in all_tag_names)
+ self.assertTrue('drafts' in all_tag_names)
+ self.assertTrue('important' in all_tag_names)
+
+ def test_that_tags_are_filtered_by_query(self):
+ input_mail = MailBuilder().with_tags('mytag').build_input_mail()
+ self.add_mail_to_inbox(input_mail)
+
+ all_tags = self.get_tags('?q=my&skipDefaultTags=true')
+
+ all_tag_names = [t['name'] for t in all_tags]
+ self.assertEqual(1, len(all_tag_names))
+ self.assertTrue('mytag' in all_tag_names)
+
+ def test_that_default_tags_are_ignorable(self):
+ input_mail = MailBuilder().with_tags('sometag').build_input_mail()
+ self.add_mail_to_inbox(input_mail)
+
+ all_tags = self.get_tags('?skipDefaultTags=true')
+
+ all_tag_names = [t['name'] for t in all_tags]
+ self.assertEqual(1, len(all_tag_names))
+ self.assertTrue('sometag' in all_tag_names)