當前位置: 首頁>>代碼示例>>Python>>正文


Python MailNotificationHandler.get_collection_context方法代碼示例

本文整理匯總了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()
開發者ID:gregorynicholas,項目名稱:changes,代碼行數:59,代碼來源:test_mail.py

示例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,
        )
開發者ID:dropbox,項目名稱:changes,代碼行數:18,代碼來源:build_result.py


注:本文中的changes.listeners.mail.MailNotificationHandler.get_collection_context方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。