def notify(self, extra_info=None): """See `IPackageBuild`.""" # If our recipe has been deleted, any notification will fail. if self.recipe is None: return if self.status == BuildStatus.FULLYBUILT: # Don't send mail for successful recipe builds; it can be just # too much. return mailer = SourcePackageRecipeBuildMailer.forStatus(self) mailer.sendAll()
def assertBuildMessageValid(self, build, message): # Not currently used; can be used if we do want to check about any # notifications sent in other cases. requester = build.requester requester_address = format_address( requester.displayname, requester.preferredemail.email) mailer = SourcePackageRecipeBuildMailer.forStatus(build) expected = mailer.generateEmail( requester.preferredemail.email, requester) self.assertEqual( requester_address, re.sub(r'\n\t+', ' ', message['To'])) self.assertEqual(expected.subject, message['Subject'].replace( '\n\t', ' ')) self.assertEqual( expected.body, message.get_payload(decode=True))
def makeStatusEmail(self, build): mailer = SourcePackageRecipeBuildMailer.forStatus(build) email = removeSecurityProxy(build.requester).preferredemail.email return mailer.generateEmail(email, build.requester)
def makeStatusEmail(self, build): switch_dbuser(config.builddmaster.dbuser) mailer = SourcePackageRecipeBuildMailer.forStatus(build) email = build.requester.preferredemail.email return mailer.generateEmail(email, build.requester)