本文整理汇总了Python中changes.listeners.mail.MailNotificationHandler.get_collection_context方法的典型用法代码示例。如果您正苦于以下问题:Python MailNotificationHandler.get_collection_context方法的具体用法?Python MailNotificationHandler.get_collection_context怎么用?Python MailNotificationHandler.get_collection_context使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类changes.listeners.mail.MailNotificationHandler
的用法示例。
在下文中一共展示了MailNotificationHandler.get_collection_context方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_multiple_sources
# 需要导入模块: from changes.listeners.mail import MailNotificationHandler [as 别名]
# 或者: from changes.listeners.mail.MailNotificationHandler import get_collection_context [as 别名]
def test_multiple_sources(self, get_collection_recipients):
project = self.create_project(name='test', slug='test')
build = self.create_build(
project,
date_started=datetime.utcnow(),
result=Result.failed,
)
job = self.create_job(build=build, result=Result.failed)
phase = self.create_jobphase(job=job)
step = self.create_jobstep(phase=phase)
logsource = self.create_logsource(
step=step,
name='console',
)
self.create_logchunk(
source=logsource,
text='hello world',
)
phase2 = self.create_jobphase(job=job, label='other')
step2 = self.create_jobstep(phase=phase2)
logsource2 = self.create_logsource(
step=step2,
name='other',
)
self.create_logchunk(
source=logsource2,
text='hello world',
)
job_link = 'http://example.com/projects/%s/builds/%s/jobs/%s/' % (
project.slug, build.id.hex, job.id.hex,)
log_link1 = '%slogs/%s/' % (job_link, logsource.id.hex)
log_link2 = '%slogs/%s/' % (job_link, logsource2.id.hex)
get_collection_recipients.return_value = ['[email protected]', 'Bob <[email protected]>']
handler = MailNotificationHandler()
context = handler.get_collection_context([build])
msg = handler.get_msg(context)
handler.send(msg, build)
assert len(self.outbox) == 1
msg = self.outbox[0]
assert msg.subject == '%s failed - %s' % (
'D1234', job.build.label)
assert msg.recipients == ['[email protected]', 'Bob <[email protected]>']
assert msg.extra_headers['Reply-To'] == '[email protected], Bob <[email protected]>'
assert job_link in msg.html
assert job_link in msg.body
assert log_link1 in msg.html
assert log_link1 in msg.body
assert log_link2 in msg.html
assert log_link2 in msg.body
assert msg.as_string()
示例2: get
# 需要导入模块: from changes.listeners.mail import MailNotificationHandler [as 别名]
# 或者: from changes.listeners.mail.MailNotificationHandler import get_collection_context [as 别名]
def get(self, build_id):
build = Build.query.get(build_id)
assert build, 'There is no build for {}'.format(build_id)
builds = list(
Build.query.filter(Build.collection_id == build.collection_id))
notification_handler = MailNotificationHandler()
context = notification_handler.get_collection_context(builds)
msg = notification_handler.get_msg(context)
return render_template(
'debug/email.html',
recipients=msg.recipients,
subject=msg.subject,
text_content=msg.body,
html_content=msg.html,
)