• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mozilla / blurts-server / #13066

pending completion
#13066

push

circleci

Vinnl
<a href="https://github.com/mozilla/blurts-server/commit/<a class=hub.com/mozilla/blurts-server/commit/<a class="double-link" href="https://git"><a class=hub.com/mozilla/blurts-server/commit/<a class="double-link" href="https://git"><a class=hub.com/mozilla/blurts-server/commit/<a class="double-link" href="https://git"><a class=hub.com/mozilla/blurts-server/commit/<a class="double-link" href="https://git"><a class=hub.com/mozilla/blurts-server/commit/<a class="double-link" href="https://git"><a class=hub.com/mozilla/blurts-server/commit/7a9d215474a0334e43c421e3b8b509052c80054d">7a9d21547">&lt;a href=&quot;https://github.com/mozilla/blurts-server/commit/</a><a class="double-link" href="https://github.com/mozilla/blurts-server/commit/&lt;a class=&quot;double-link&quot; href=&quot;https://git">&lt;a class=</a>hub.com/mozilla/blurts-server/commit/&lt;a class=&quot;double-link&quot; href=&quot;https://git">&lt;a class=</a>hub.com/mozilla/blurts-server/commit/&lt;a class=&quot;double-link&quot; href=&quot;https://git">&lt;a class=</a>hub.com/mozilla/blurts-server/commit/&lt;a class=&quot;double-link&quot; href=&quot;https://git">&lt;a class=</a>hub.com/mozilla/blurts-server/commit/7a9d215474a0334e43c421e3b8b509052c80054d">7a9d21547</a><a href="https://github.com/mozilla/blurts-server/commit/7a9d215474a0334e43c421e3b8b509052c80054d">&lt;a href=&quot;https://github.com/mozilla/blurts-server/commit/7a9d215474a0334e43c421e3b8b509052c80054d&quot;&gt;&amp;quot;&amp;gt;&amp;amp;lt;a href=&amp;amp;quot;https://github.com/mozilla/blurts-server/commit/&amp;lt;/a&amp;gt;&amp;lt;a class=&amp;quot;double-link&amp;quot; href=&amp;quot;https://github.com/mozilla/blurts-server/commit/&amp;amp;lt;a class=&amp;amp;quot;double-link&amp;amp;quot; href=&amp;amp;quot;https://git&amp;quot;&amp;gt;&amp;amp;lt;a class=&amp;lt;/a&amp;gt;hub.com/mozilla/blurts-server/commit/7a9d215474a0334e43c421e3b8b509052c80054d&amp;quot;&amp;gt;7a9d21547&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;https://github.com/mozilla/blurts-server/commit/7a9d215474a0334e43c421e3b8b509052c80054d&amp;quot;&amp;gt;&amp;amp;lt;a href=&amp;amp;quot;https://github.com/mozilla/blurts-server/commit/7a9d215474a0334e43c421e3b8b509052c80054d&amp;amp;quot;&amp;amp;gt;&amp;amp;amp;quot;&amp;amp;amp;gt;Revert &amp;amp;amp;amp;quot;fixup! Add a bunch of initial type annotatio&amp;lt;/a&amp;</a>gt;ns&amp;amp;quot;

This reverts commit &amp;lt;/a&amp;gt;&amp;lt;a class=&amp;quot;double-link&amp;quot; href=&amp;qu... (continued)

282 of 1621 branches covered (17.4%)

Branch coverage included in aggregate %.

2 of 2 new or added lines in 2 files covered. (100.0%)

959 of 4334 relevant lines covered (22.13%)

1.84 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/routes/email-l10n.js
1
'use strict'
2
const express = require('express')
×
3
const helmet = require('helmet')
×
4
const { getEmailMockup, sendTestEmail, notFound } = require('../controllers/email-l10n')
×
5
const { requireAdminUser } = require('../middleware')
×
6
const csrf = require('csurf')
×
7

8
const csrfProtection = csrf()
×
9
const router = express.Router()
×
10
const cspUnsafeInline = {
×
11
  directives: {
12
    defaultSrc: ["'self'"],
13
    scriptSrc: ["'self'"],
14
    styleSrc: ["'self'", "'unsafe-inline'"],
15
    imgSrc: ["'self'", 'https://monitor.cdn.mozilla.net/'],
16
    objectSrc: ["'none'"],
17
    formAction: ["'self'"]
18
  }
19
}
20

21
// Route needs unsafe-inline because inline styles are required as best-practice for HTML email styling.
22
// Route requires admin user and is not enabled for production.
23
router.get('/', requireAdminUser, csrfProtection, helmet.contentSecurityPolicy(cspUnsafeInline), getEmailMockup)
×
24
router.post('/send-test-email', express.urlencoded({ extended: false }), csrfProtection, requireAdminUser, sendTestEmail)
×
25
router.use(notFound)
×
26

27
module.exports = router
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc