def testExecuteMultiGroupsAndUsers(self): self.loginAsPortalOwner() sm = getSiteManager(self.portal) sm.unregisterUtility(provided=IMailHost) dummyMailHost = DummyMailHost('dMailhost') sm.registerUtility(dummyMailHost, IMailHost) e = MailGroupAction() e.source = "*****@*****.**" e.groups = ['group1', 'group2'] e.members = ['portal_owner', default_user, ] e.message = 'Document created !' ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) ex() self.assertEqual(len(dummyMailHost.sent[0]['mto']), 4) self.failUnless(isinstance(dummyMailHost.sent[0]['msg'], Message)) mailSent = dummyMailHost.sent[0]['msg'] mailTo = dummyMailHost.sent[0]['mto'] mailFrom = dummyMailHost.sent[0]['mfrom'] self.assertTrue(mailSent.get('Content-Type').startswith('multipart/related')) self.assertEqual('*****@*****.**', mailFrom) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('Document created !', str(mailSent))
def testExecuteMultiGroupsAndUsers(self): setRoles(self.portal, TEST_USER_ID, ['Manager']) dummyMailHost = self._setup_mockmail() e = MailGroupAction() e.source = '*****@*****.**' e.groups = ['group1', 'group2'] e.members = [SITE_OWNER_NAME, default_user] e.message = 'Document created !' ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) ex() mailSent = message_from_string(dummyMailHost.messages[0]['msg']) mailTo = dummyMailHost.messages[0]['mto'] mailFrom = mailSent.get('From') mailType = mailSent.get('Content-Type') self.assertEqual(len(mailTo), 4) self.assertTrue(isinstance(mailSent, Message)) self.assertTrue(mailType.startswith('multipart/related')) self.assertEqual('*****@*****.**', mailFrom) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('Document created !', str(mailSent))
def testExecuteMultiGroupsAndUsers(self): setRoles(self.portal, TEST_USER_ID, ['Manager']) dummyMailHost = self._setup_mockmail() e = MailGroupAction() e.source = '*****@*****.**' e.groups = ['group1', 'group2'] e.members = [ SITE_OWNER_NAME, default_user, ] e.message = 'Document created !' ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) ex() mailSent = message_from_string(dummyMailHost.messages[0]['msg']) mailTo = dummyMailHost.messages[0]['mto'] mailFrom = mailSent.get('From') mailType = mailSent.get('Content-Type') self.assertEqual(len(mailTo), 4) self.assertTrue(isinstance(mailSent, Message)) self.assertTrue(mailType.startswith('multipart/related')) self.assertEqual('*****@*****.**', mailFrom) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('Document created !', str(mailSent))
def testExecuteMultiGroupsAndUsers(self): self.loginAsPortalOwner() sm = getSiteManager(self.portal) sm.unregisterUtility(provided=IMailHost) dummyMailHost = DummyMailHost('dMailhost') sm.registerUtility(dummyMailHost, IMailHost) e = MailGroupAction() e.source = "*****@*****.**" e.groups = ['group1', 'group2'] e.members = [ 'portal_owner', default_user, ] e.message = 'Document created !' ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) ex() self.assertEqual(len(dummyMailHost.sent[0]['mto']), 4) self.failUnless(isinstance(dummyMailHost.sent[0]['msg'], Message)) mailSent = dummyMailHost.sent[0]['msg'] mailTo = dummyMailHost.sent[0]['mto'] mailFrom = dummyMailHost.sent[0]['mfrom'] self.assertTrue( mailSent.get('Content-Type').startswith('multipart/related')) self.assertEqual('*****@*****.**', mailFrom) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('*****@*****.**', mailTo) self.assertIn('Document created !', str(mailSent))
def testExecuteEmptyGroup(self): setRoles(self.portal, TEST_USER_ID, ['Manager']) dummyMailHost = self._setup_mockmail() e = MailGroupAction() e.source = '*****@*****.**' e.groups = ['group3'] e.members = [] e.message = 'Document created !' ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) ret = ex() self.assertFalse(ret) self.assertEqual(len(dummyMailHost.messages), 0)
def testExecuteEmptyGroup(self): setRoles(self.portal, TEST_USER_ID, ['Manager']) dummyMailHost = self._setup_mockmail() e = MailGroupAction() e.source = '*****@*****.**' e.groups = ['group3'] e.members = [] e.message = 'Document created !' ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) ret = ex() self.assertFalse(ret) self.assertEqual(len(dummyMailHost.messages), 0)
def testExecuteMultiGroupsAndUsers(self): self.loginAsPortalOwner() sm = getSiteManager(self.portal) sm.unregisterUtility(provided=IMailHost) dummyMailHost = DummySecureMailHost('dMailhost') sm.registerUtility(dummyMailHost, IMailHost) e = MailGroupAction() e.source = "*****@*****.**" e.groups = ['group1', 'group2'] e.members = ['portal_owner', default_user, ] e.message = 'Document created !' ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) ex() self.assertEqual(len(dummyMailHost.sent), 4) self.failUnless(isinstance(dummyMailHost.sent[0], MIMEText)) mailSent = dummyMailHost.sent[0] self.assertEqual('text/plain; charset="utf-8"', mailSent.get('Content-Type')) self.assertEqual('*****@*****.**', mailSent.get('To')) self.assertEqual('*****@*****.**', mailSent.get('From')) self.assertEqual('Document created !', mailSent.get_payload(decode=True)) mailSent = dummyMailHost.sent[1] self.assertEqual('text/plain; charset="utf-8"', mailSent.get('Content-Type')) self.assertEqual('*****@*****.**', mailSent.get('To')) self.assertEqual('*****@*****.**', mailSent.get('From')) self.assertEqual('Document created !', mailSent.get_payload(decode=True)) mailSent = dummyMailHost.sent[2] self.assertEqual('text/plain; charset="utf-8"', mailSent.get('Content-Type')) self.assertEqual('*****@*****.**', mailSent.get('To')) self.assertEqual('*****@*****.**', mailSent.get('From')) self.assertEqual('Document created !', mailSent.get_payload(decode=True)) mailSent = dummyMailHost.sent[3] self.assertEqual('text/plain; charset="utf-8"', mailSent.get('Content-Type')) self.assertEqual('*****@*****.**', mailSent.get('To')) self.assertEqual('*****@*****.**', mailSent.get('From')) self.assertEqual('Document created !', mailSent.get_payload(decode=True))