Skip to content
Snippets Groups Projects
Commit 67ae9cfa authored by Sigmund, Dominik's avatar Sigmund, Dominik
Browse files

Fix tests

parent d477b075
Branches
Tags
1 merge request!4Fix tests
Pipeline #8285 passed
......@@ -8,8 +8,9 @@ Sets Headers to a very save style. may be overriden by config.
## Usage
`const security = require('@libs/security')`
`app.use(security(options))`
`const Security = require('@libs/security')`
`const security = new Security(options)`
`app.use(security.setHeaders)`
## Options
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -2,16 +2,17 @@ const express = require('express')
const fs = require('fs')
const http = require('http')
const https = require('https')
const security = require('../../index')
const Security = require('../../index')
const security = Security({
onlyDefinedRoutes: true,
definedRoutes: ['/', 'REGEX:\\/id\\/\\d{1,}']
})
const app = express()
app.use(security({
onlyDefinedRoutes: true,
definedRoutes: ['/', 'REGEX:\\/id\\/\\d{1,}']
}))
app.use(security.setHeaders)
app.get('/', function (req, res) {
res.send('Hello World!')
......
const express = require('express')
const security = require('../../index')
const app = express()
app.use(security({
const Security = require('../../index')
const security = Security({
CacheControl: 'public, max-age=9999999999',
Pragma: false,
Expires: 'Wed, 21 Oct 2090 07:28:00 GMT',
......@@ -19,7 +16,11 @@ app.use(security({
ReferrerPolicy: 'unsafe-url',
allowedMethods: ['HEAD', 'GET', 'OPTIONS'],
onlyDefinedRoutes: false
}))
})
const app = express()
app.use(security.setHeaders)
app.get('/', function (req, res) {
res.send('Hello World!')
......
......@@ -4,5 +4,5 @@ export = Security;
declare class Security {
constructor();
setHeaders(req: express.Request, res: express.Response, next: express.NextFunctiont): void;
setHeaders(): void;
}
......@@ -3,9 +3,11 @@ module.exports = function(options = {}) {
let security = {}
security.options = options
security.setHeaders = function(req, res, next) {
if(!this.options) options = {}
else options = this.options
if(!security.options) options = {}
else options = security.options
if (typeof options.CacheControl === 'undefined') {
options.CacheControl = 'no-cache, no-store, must-revalidate'
......
......@@ -62,7 +62,7 @@ describe('Unit Tests', () => {
describe('Header: X-Powered-By', () => {
it('should remove Header if not defined', (done) => {
let sec = security()
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._headers['X-Powered-By']).toBeUndefined()
done()
})
......@@ -71,7 +71,7 @@ describe('Unit Tests', () => {
let options = {}
options.XPoweredBy = false
let sec = security(options)
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._headers['X-Powered-By']).toBeDefined()
done()
})
......@@ -87,10 +87,10 @@ describe('Unit Tests', () => {
it('should only allow GET, POST, PUT, DELETE on default', (done) => {
let sec = security()
mockReq._setMethod('GET')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(200)
mockReq._setMethod('HEAD')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(405)
done()
})
......@@ -101,10 +101,10 @@ describe('Unit Tests', () => {
allowedMethods: ['POST']
})
mockReq._setMethod('POST')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(200)
mockReq._setMethod('GET')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(405)
done()
})
......@@ -115,10 +115,10 @@ describe('Unit Tests', () => {
it('should allow all routes by default', (done) => {
let sec = security()
mockReq._setUrl('/')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(200)
mockReq._setUrl('/test')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(200)
done()
})
......@@ -130,10 +130,10 @@ describe('Unit Tests', () => {
definedRoutes: ['/']
})
mockReq._setUrl('/')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(200)
mockReq._setUrl('/test')
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._status).toBe(405)
done()
})
......@@ -290,7 +290,7 @@ function headerUnitTest (header, headerOption, defaultValue) {
describe('Header: ' + header, () => {
it('should set "' + defaultValue + '" if not defined', (done) => {
let sec = security()
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._headers[header]).toBe(defaultValue)
done()
})
......@@ -299,7 +299,7 @@ function headerUnitTest (header, headerOption, defaultValue) {
let options = {}
options[headerOption] = false
let sec = security(options)
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._headers[header]).toBeUndefined()
done()
})
......@@ -308,7 +308,7 @@ function headerUnitTest (header, headerOption, defaultValue) {
let options = {}
options[headerOption] = 'somevalue'
let sec = security(options)
sec(mockReq, mockRes, () => {
sec.setHeaders(mockReq, mockRes, () => {
expect(mockRes._headers[header]).toBe('somevalue')
done()
})
......@@ -355,7 +355,8 @@ function headerIntegrationTest (header, headerOption, defaultValue) {
}
function startUpServer(options) {
app = express()
app.use(security(options))
let sec = security(options)
app.use(sec.setHeaders)
app.get('/', function (req, res) {
res.send('Hello World!')
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment