def test_store_and_load_from_pymongo(self): self.facade.bind(AppConfig.mongo_uri) message = EmailMessage(subject='foo', body='bar', sender='baz', recipient='bip', date='2016-07-07') self.facade.store(self.email_collection, message.to_dict()) loaded_messages = self.facade.load(self.email_collection, content_hash=unicode(message.content_hash)) self.assertEqual(1, len(loaded_messages)) self.assertEqual(message, EmailMessage(**loaded_messages[0]))
def test_store_and_load_from_flask(self): with self.app.app_context(): self.facade.bind_flask(self.app) message = EmailMessage(subject='foo', body='bar', sender='baz', recipient='bip', date='2016-07-07') self.facade.store(self.email_collection, message.to_dict()) loaded_messages = self.facade.load(self.email_collection, content_hash=message.content_hash) self.assertEqual(1, len(loaded_messages)) self.assertEqual(message, EmailMessage(**loaded_messages[0]))
def test_filter_by_field(self): self.facade.bind(AppConfig.mongo_uri) for i in range(1, 100): message = EmailMessage(subject='foo{}foo'.format(i), body='bar', sender='baz', recipient='bip', date='2016-07-07') self.facade.store(self.email_collection, message.to_dict()) loaded_messages = self.facade.load(self.email_collection, page_size=60, subject='1') self.assertEqual(19, len(loaded_messages)) for email in [EmailMessage(**message) for message in loaded_messages]: self.assertTrue('1' in email.subject)
def test_store_and_load_a_page(self): self.facade.bind(AppConfig.mongo_uri) for i in range(1, 1000): message = EmailMessage(subject='foo{}'.format(i), body='bar', sender='baz', recipient='bip', date='2016-07-07') self.facade.store(self.email_collection, message.to_dict()) loaded_messages = self.facade.load(self.email_collection, page=12, page_size=6) self.assertEqual(6, len(loaded_messages)) for num, email in zip(range(67, 72), [EmailMessage(**message) for message in loaded_messages]): self.assertEqual(email.subject, 'foo{}'.format(num))