Skip to content

Commit

Permalink
Updated fastify and fixed broken tests (#39)
Browse files Browse the repository at this point in the history
* Updated fastify and fixed broken tests

* Feedback from @Eomm

* More feedback

* fixed

* maybe midnight is not an hour to code anymore..
  • Loading branch information
mcollina authored Sep 1, 2019
1 parent 0365bdb commit 54ed7d4
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 77 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@
"@typescript-eslint/eslint-plugin": "^1.12.0",
"@typescript-eslint/parser": "^1.12.0",
"cors": "^2.8.5",
"fastify": "^2.0.0",
"fastify": "^2.8.0",
"standard": "^14.0.2",
"tap": "^12.6.5",
"typescript": "^3.5.3"
},
"dependencies": {
"fastify-plugin": "^1.5.0",
"fastify-plugin": "^1.6.0",
"vary": "^1.1.2"
},
"greenkeeper": {
Expand Down
122 changes: 47 additions & 75 deletions test/cors.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,12 @@ test('Should shortcircuits preflight requests', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 204)
t.strictEqual(res.payload, '')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': '*',
'access-control-allow-methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
vary: 'Access-Control-Request-Headers',
'content-length': '0',
connection: 'keep-alive'
}, res.headers)
'content-length': '0'
})
})
})

Expand All @@ -50,13 +49,12 @@ test('Should shortcircuits preflight requests with custom status code', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, '')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': '*',
'access-control-allow-methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
vary: 'Access-Control-Request-Headers',
'content-length': '0',
connection: 'keep-alive'
}, res.headers)
'content-length': '0'
})
})
})

Expand All @@ -78,14 +76,11 @@ test('Should not shortcircuits preflight requests with preflightContinue', t =>
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': '*',
'access-control-allow-methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
vary: 'Access-Control-Request-Headers',
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
vary: 'Access-Control-Request-Headers'
})
})
})

Expand All @@ -103,13 +98,12 @@ test('Should create a options wildcard', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 204)
t.strictEqual(res.payload, '')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': '*',
'access-control-allow-methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
vary: 'Access-Control-Request-Headers',
'content-length': '0',
connection: 'keep-alive'
}, res.headers)
'content-length': '0'
})
})
})

Expand Down Expand Up @@ -138,13 +132,12 @@ test('Should create a options wildcard (with prefix)', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 204)
t.strictEqual(res.payload, '')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': '*',
'access-control-allow-methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
vary: 'Access-Control-Request-Headers',
'content-length': '0',
connection: 'keep-alive'
}, res.headers)
'content-length': '0'
})
})
})

Expand All @@ -166,12 +159,9 @@ test('Should add cors headers', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
'access-control-allow-origin': '*',
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
t.match(res.headers, {
'access-control-allow-origin': '*'
})
})
})

Expand Down Expand Up @@ -200,17 +190,16 @@ test('Should add cors headers (custom values)', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 204)
t.strictEqual(res.payload, '')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': 'example.com',
vary: 'Origin',
'access-control-allow-credentials': 'true',
'access-control-expose-headers': 'foo, bar',
'access-control-allow-methods': 'GET',
'access-control-allow-headers': 'baz, woo',
'access-control-max-age': '123',
'content-length': '0',
connection: 'keep-alive'
}, res.headers)
'content-length': '0'
})
})

fastify.inject({
Expand All @@ -221,15 +210,13 @@ test('Should add cors headers (custom values)', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': 'example.com',
vary: 'Origin',
'access-control-allow-credentials': 'true',
'access-control-expose-headers': 'foo, bar',
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
'content-length': '2'
})
})
})

Expand Down Expand Up @@ -257,13 +244,10 @@ test('Dynamic origin resolution (valid origin)', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': 'example.com',
vary: 'Origin',
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
vary: 'Origin'
})
})
})

Expand All @@ -290,11 +274,11 @@ test('Dynamic origin resolution (not valid origin)', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.deepEqual(res.headers, {
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
})
})
})

Expand Down Expand Up @@ -347,13 +331,10 @@ test('Dynamic origin resolution (valid origin - promises)', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': 'example.com',
vary: 'Origin',
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
vary: 'Origin'
})
})
})

Expand Down Expand Up @@ -382,11 +363,11 @@ test('Dynamic origin resolution (not valid origin - promises)', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.deepEqual(res.headers, {
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
})
})
})

Expand Down Expand Up @@ -441,10 +422,10 @@ test('Should not add cors headers when origin is false', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, '')
t.deepEqual({
t.deepEqual(res.headers, {
'content-length': '0',
connection: 'keep-alive'
}, res.headers)
})
})

fastify.inject({
Expand All @@ -455,11 +436,11 @@ test('Should not add cors headers when origin is false', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.deepEqual(res.headers, {
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
})
})
})

Expand All @@ -482,13 +463,10 @@ test('Allow only request from a specifc origin', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
t.match(res.headers, {
'access-control-allow-origin': 'other.io',
vary: 'Origin',
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
vary: 'Origin'
})
})
})

Expand All @@ -509,12 +487,9 @@ test('Disable preflight', t => {
t.error(err)
delete res.headers.date
t.strictEqual(res.statusCode, 404)
t.deepEqual({
'access-control-allow-origin': '*',
'content-length': '60',
'content-type': 'application/json; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
t.match(res.headers, {
'access-control-allow-origin': '*'
})
})

fastify.inject({
Expand All @@ -525,11 +500,8 @@ test('Disable preflight', t => {
delete res.headers.date
t.strictEqual(res.statusCode, 200)
t.strictEqual(res.payload, 'ok')
t.deepEqual({
'access-control-allow-origin': '*',
'content-length': '2',
'content-type': 'text/plain; charset=utf-8',
connection: 'keep-alive'
}, res.headers)
t.match(res.headers, {
'access-control-allow-origin': '*'
})
})
})

0 comments on commit 54ed7d4

Please sign in to comment.