def test_handle_no_email_attachments(self): import datetime from pyramid.testing import DummyModel from karl.content.interfaces import IBlogEntry self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00)) self._registerFactory(IBlogEntry, _makeBlogEntryClass()) self._registerContextURL() self._registerSettings() alerts = self._registerAlerts() workflow = self._registerSecurityWorkflow() context = DummyModel() root = makeRoot() root["foo"] = context context.__parent__ = root adapter = self._makeOne(context) message = object() # ignored info = {"subject": "SUBJECT", "author": "phreddy", "date": datetime.datetime(2010, 5, 12, 2, 42)} adapter.handle(message, info, "TEXT", []) self.assertEqual(len(context), 1) entry_id, entry = context.items()[0] self.assertEqual(entry_id, "subject") self.assertEqual(entry.title, "SUBJECT") self.assertEqual(entry.creator, "phreddy") self.assertEqual(entry.text, "TEXT") self.assertEqual(entry.description, "TEXT") self.assertEqual(entry.created, datetime.datetime(2010, 5, 12, 2, 42)) self.failIf(len(entry["attachments"])) self.assertEqual(len(alerts.emissions), 1) self.failUnless(workflow.initialized)
def test_handle_with_email_attachments_w_entry_attachments(self): import datetime from pyramid.testing import DummyModel from karl.content.interfaces import IBlogEntry from karl.content.interfaces import ICommunityFile self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00)) self._registerFactory(IBlogEntry, _makeBlogEntryClass()) self._registerFactory(ICommunityFile) self._registerContextURL() self._registerSettings() alerts = self._registerAlerts() workflow = self._registerSecurityWorkflow() context = DummyModel() root = makeRoot() root['foo'] = context context.__parent__ = root adapter = self._makeOne(context) message = object() # ignored info = { 'subject': 'SUBJECT', 'author': 'phreddy', 'date': datetime.datetime(2010, 5, 12, 2, 42) } attachments = [ ('file1.bin', 'application/octet-stream', 'DATA'), ('file2.png', 'image/png', 'IMAGE'), ] adapter.handle(message, info, 'TEXT', attachments) self.assertEqual(len(context), 1) entry_id, entry = context.items()[0] self.assertEqual(entry_id, 'subject') self.assertEqual(entry.title, 'SUBJECT') self.assertEqual(entry.creator, 'phreddy') self.assertEqual(entry.text, 'TEXT') attachments = entry['attachments'] self.assertEqual(len(attachments), 2) file1 = attachments['file1.bin'] self.assertEqual(file1.title, 'file1.bin') self.assertEqual(file1.filename, 'file1.bin') self.assertEqual(file1.mimetype, 'application/octet-stream') self.assertEqual(file1.stream.read(), 'DATA') file2 = attachments['file2.png'] self.assertEqual(file2.title, 'file2.png') self.assertEqual(file2.filename, 'file2.png') self.assertEqual(file2.mimetype, 'image/png') self.assertEqual(file2.stream.read(), 'IMAGE') self.assertEqual(len(alerts.emissions), 1) self.failUnless(workflow.initialized)
def test_handle_with_email_attachments_w_entry_attachments(self): import datetime from pyramid.testing import DummyModel from karl.content.interfaces import IBlogEntry from karl.content.interfaces import ICommunityFile self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00)) self._registerFactory(IBlogEntry, _makeBlogEntryClass()) self._registerFactory(ICommunityFile) self._registerContextURL() self._registerSettings() alerts = self._registerAlerts() workflow = self._registerSecurityWorkflow() context = DummyModel() root = makeRoot() root["foo"] = context context.__parent__ = root adapter = self._makeOne(context) message = object() # ignored info = {"subject": "SUBJECT", "author": "phreddy", "date": datetime.datetime(2010, 5, 12, 2, 42)} attachments = [("file1.bin", "application/octet-stream", "DATA"), ("file2.png", "image/png", "IMAGE")] adapter.handle(message, info, "TEXT", attachments) self.assertEqual(len(context), 1) entry_id, entry = context.items()[0] self.assertEqual(entry_id, "subject") self.assertEqual(entry.title, "SUBJECT") self.assertEqual(entry.creator, "phreddy") self.assertEqual(entry.text, "TEXT") attachments = entry["attachments"] self.assertEqual(len(attachments), 2) file1 = attachments["file1.bin"] self.assertEqual(file1.title, "file1.bin") self.assertEqual(file1.filename, "file1.bin") self.assertEqual(file1.mimetype, "application/octet-stream") self.assertEqual(file1.stream.read(), "DATA") file2 = attachments["file2.png"] self.assertEqual(file2.title, "file2.png") self.assertEqual(file2.filename, "file2.png") self.assertEqual(file2.mimetype, "image/png") self.assertEqual(file2.stream.read(), "IMAGE") self.assertEqual(len(alerts.emissions), 1) self.failUnless(workflow.initialized)
def test_handle_no_email_attachments(self): import datetime from pyramid.testing import DummyModel from karl.content.interfaces import IBlogEntry self._set_NOW(datetime.datetime(2009, 01, 28, 10, 00, 00)) self._registerFactory(IBlogEntry, _makeBlogEntryClass()) self._registerContextURL() self._registerSettings() alerts = self._registerAlerts() workflow = self._registerSecurityWorkflow() context = DummyModel() root = makeRoot() root['foo'] = context context.__parent__ = root adapter = self._makeOne(context) message = object() # ignored info = { 'subject': 'SUBJECT', 'author': 'phreddy', 'date': datetime.datetime(2010, 5, 12, 2, 42) } adapter.handle(message, info, 'TEXT', []) self.assertEqual(len(context), 1) entry_id, entry = context.items()[0] self.assertEqual(entry_id, 'subject') self.assertEqual(entry.title, 'SUBJECT') self.assertEqual(entry.creator, 'phreddy') self.assertEqual(entry.text, 'TEXT') self.assertEqual(entry.description, 'TEXT') self.assertEqual(entry.created, datetime.datetime(2010, 5, 12, 2, 42)) self.failIf(len(entry['attachments'])) self.assertEqual(len(alerts.emissions), 1) self.failUnless(workflow.initialized)