59 lines
1.3 KiB
JavaScript
Raw Normal View History

2015-10-01 00:30:16 +02:00
'use strict';
const assert = require('assert');
const request = require('supertest');
const strapi = require('../../..');
const mock = require('./mocks/app');
describe('csp', function () {
it('method', function () {
assert(typeof strapi.middlewares.lusca.csp === 'function');
});
it('header (report)', function (done) {
const router = strapi.middlewares.router();
const config = require('./mocks/config/cspReport');
const app = mock({
csp: config
});
router.get('/', function * () {
this.body = 'hello';
});
app.use(router.routes());
app.use(router.allowedMethods());
request(app.listen())
.get('/')
.expect('Content-Security-Policy-Report-Only', 'default-src *; report-uri ' + config.reportUri)
.expect('hello')
.expect(200, done);
});
it('header (enforce)', function (done) {
const router = strapi.middlewares.router();
const config = require('./mocks/config/cspEnforce');
const app = mock({
csp: config
});
router.get('/', function * () {
this.body = 'hello';
});
app.use(router.routes());
app.use(router.allowedMethods());
request(app.listen())
.get('/')
.expect('Content-Security-Policy', 'default-src *; ')
.expect('hello')
.expect(200, done);
});
});