def testExecuteNoSource(self): sm = getSiteManager(self.portal) sm.unregisterUtility(provided=IMailHost) dummyMailHost = DummyMailHost('dMailhost') sm.registerUtility(dummyMailHost, IMailHost) e = MailSubscriptionsAction() e.message = 'Document created !' e.subject = "subject" self.tool.registerUser(e.actionUID, "*****@*****.**") ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) self.assertRaises(ValueError, ex) # if we provide a site mail address this won't fail anymore sm.manage_changeProperties({'email_from_name': 'The Big Boss', 'email_from_address': '*****@*****.**', }) ex() self.failUnless(isinstance(dummyMailHost.sent[0], Message)) mailSent = dummyMailHost.sent[0] self.assertEqual('text/plain; charset="utf-8"', mailSent.get('Content-Type')) self.assertEqual("*****@*****.**", mailSent.get('To')) self.assertEqual("The Big Boss <*****@*****.**>", mailSent.get('From')) self.assertEqual("Document created !", mailSent.get_payload(decode=True))
def testExecuteNoSource(self): sm = getSiteManager(self.portal) sm.unregisterUtility(provided=IMailHost) dummyMailHost = DummyMailHost('dMailhost') sm.registerUtility(dummyMailHost, IMailHost) e = MailSubscriptionsAction() e.message = 'Document created !' e.subject = "subject" self.tool.registerUser(e.actionUID, "*****@*****.**") ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)), IExecutable) self.assertRaises(ValueError, ex) # if we provide a site mail address this won't fail anymore sm.manage_changeProperties({ 'email_from_name': 'The Big Boss', 'email_from_address': '*****@*****.**', }) ex() self.failUnless(isinstance(dummyMailHost.sent[0], Message)) mailSent = dummyMailHost.sent[0] self.assertEqual('text/plain; charset="utf-8"', mailSent.get('Content-Type')) self.assertEqual("*****@*****.**", mailSent.get('To')) self.assertEqual("The Big Boss <*****@*****.**>", mailSent.get('From')) self.assertEqual("Document created !", mailSent.get_payload(decode=True))
def test_already_registered_email(self): """ try to re-register an email for the same rule id """ rule = Rule() rule.event = IObjectAddedEvent rule.title = "Test rule" #add the rule to rule's storage storage = getUtility(IRuleStorage) chooser = INameChooser(storage) storage[chooser.chooseName(None, rule)] = rule #set the action and add it to the rule action = MailSubscriptionsAction() action.subject = "Test Rule subject" action.message = "Test Rule message" rule.actions.append(action) tool = getToolByName(self.portal, SUBSCRIPTION_TOOL, None) email = "*****@*****.**" result, msg = tool.registerUser(action.actionUID, email) result2, msg2 = tool.registerUser(action.actionUID, email) self.assertTrue(result) self.assertFalse(result2) self.assertEquals(msg2, 'already_subscribed_error')