Skip to content

Commit

Permalink
Rewrite tests to use async/await (fix middyjs#270) (middyjs#391)
Browse files Browse the repository at this point in the history
* test: add expect.hasAssertions before each test

* test: add invoke test helper which promisifies handler

* test: rewrite "packages/cache" tests to async/await

fixes middyjs#270

* test: rewrite "packages/do-not-wait-for-empty-event-loop" tests to async/await

fixes middyjs#270

* test: rewrite "packages/error-logger" tests to async/await

fixes middyjs#270

* test: rewrite "packages/function-shield" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-content-negotiation" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-cors" tests to async/await

fixes middyjs#270, fixes 2 tests which were incorrect due callbacks

* test: rewrite "packages/http-error-handler" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-event-normalizer" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-header-normalizer" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-json-body-parser" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-partial-response" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-response-serializer" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-security-header" tests to async/await

fixes middyjs#270

* test: rewrite "packages/http-urlencode-body-parser" tests to async/await

fixes middyjs#270

* test: rewrite "packages/input-output-logger" tests to async/await

fixes middyjs#270

* test: rewrite "packages/s3-key-normalizer" tests to async/await

fixes middyjs#270

* test: rewrite "packages/secrets-manager" tests to async/await

fixes middyjs#270

* test: rewrite "packages/ssm" tests to async/await

fixes middyjs#270

* test: rewrite "packages/validator" tests to async/await

fixes middyjs#270

* test: rewrite "packages/warmup" tests to async/await

fixes middyjs#270

* Changes to fix tests

* Using es6-promisify for Node6

* Properly added es6-promise as dev dependency to all packages

* importing es6-promisify correctly

* One moar attempt :(

* Version bump
  • Loading branch information
vladgolubev authored and benjifs committed May 21, 2020
1 parent e9e6abb commit 2e37868
Show file tree
Hide file tree
Showing 66 changed files with 1,056 additions and 1,142 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"packages": [
"packages/*"
],
"version": "1.0.0-alpha.42"
"version": "1.0.0-alpha.43"
}
59 changes: 39 additions & 20 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 14 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "middy-monorepo",
"version": "1.0.0-alpha.42",
"version": "1.0.0-alpha.43",
"description": "🛵 The stylish Node.js middleware engine for AWS Lambda",
"engines": {
"node": ">=6.10"
Expand All @@ -11,8 +11,9 @@
"test": "npm run test:lint && npm run test:packages",
"test:lint": "eslint . --fix",
"test:lint:ci": "eslint .",
"test:packages:unit": "lerna exec --bail --concurrency 1 npm run test:unit",
"test:packages:typings": "lerna exec --bail --concurrency 1 npm run test:typings",
"test:packages": "npm run test:packages:typings && npm run test:packages:unit",
"test:packages:unit": "lerna exec --bail --concurrency 2 npm run test:unit",
"test:packages:typings": "lerna exec --bail --concurrency 2 npm run test:typings",
"release:tag": "git tag $npm_package_version && git push --tags",
"lerna:sync": "lerna publish --yes --skip-npm --skip-git --repo-version $npm_package_version",
"lerna:publish": "lerna publish --yes --skip-git --repo-version $npm_package_version"
Expand All @@ -36,10 +37,11 @@
},
"homepage": "https://github.com/middyjs/middy#readme",
"devDependencies": {
"aws-sdk": "2.437.0",
"aws-sdk": "^2.528.0",
"babel-jest": "^24.9.0",
"babel-preset-env": "^1.6.1",
"eslint": "^6.3.0",
"es6-promisify": "^6.0.2",
"eslint": "^6.4.0",
"eslint-config-standard": "^14.1.0",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-node": "^10.0.0",
Expand All @@ -53,7 +55,7 @@
"typings-tester": "^0.3.2"
},
"dependencies": {
"typescript": "^3.6.2"
"typescript": "^3.6.3"
},
"husky": {
"hooks": {
Expand All @@ -70,5 +72,11 @@
"ignore": [
"aws-sdk"
]
},
"jest": {
"testEnvironment": "node",
"setupFilesAfterEnv": [
"<rootDir>/jest-setup.js"
]
}
}
33 changes: 15 additions & 18 deletions packages/cache/__tests__/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
const { invoke } = require('../../test-helpers')
const middy = require('../../core')
const cache = require('../')

describe('💽 Cache stuff', () => {
test('It should cache things using the default settings', (endTest) => {
test('It should cache things using the default settings', async () => {
const originalHandler = jest.fn((event, context, cb) => {
cb(null, event.a + event.b)
})
Expand All @@ -11,17 +12,15 @@ describe('💽 Cache stuff', () => {
.use(cache())

const event = { a: 2, b: 3 }
const context = {}
handler(event, context, (_, response) => {
handler(event, context, (_, response2) => {
expect(response).toEqual(response2)
expect(originalHandler.mock.calls.length).toBe(1)
endTest()
})
})

const response = await invoke(handler, event)
const response2 = await invoke(handler, event)

expect(response).toEqual(response2)
expect(originalHandler.mock.calls.length).toBe(1)
})

test('It should cache things using custom cache settings', (endTest) => {
test('It should cache things using custom cache settings', async () => {
const calculateCacheId = (event) => Promise.resolve(event.id)
const myStorage = {}
const getValue = (key) => new Promise((resolve, reject) => {
Expand All @@ -46,13 +45,11 @@ describe('💽 Cache stuff', () => {
}))

const event = { id: 'some_unique_id', a: 2, b: 3 }
const context = {}
handler(event, context, (_, response) => {
handler(event, context, (_, response2) => {
expect(response).toEqual(response2)
expect(originalHandler.mock.calls.length).toBe(1)
endTest()
})
})

const response = await invoke(handler, event)
const response2 = await invoke(handler, event)

expect(response).toEqual(response2)
expect(originalHandler.mock.calls.length).toBe(1)
})
})
48 changes: 12 additions & 36 deletions packages/cache/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions packages/cache/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@middy/cache",
"version": "1.0.0-alpha.42",
"version": "1.0.0-alpha.43",
"description": "Cache middleware for the middy framework",
"engines": {
"node": ">=6.10"
Expand Down Expand Up @@ -41,6 +41,7 @@
"@middy/core": ">=1.0.0-alpha"
},
"devDependencies": {
"@middy/core": "^1.0.0-alpha.42"
"@middy/core": "^1.0.0-alpha.43",
"es6-promisify": "^6.0.2"
}
}
8 changes: 7 additions & 1 deletion packages/core/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@middy/core",
"version": "1.0.0-alpha.42",
"version": "1.0.0-alpha.43",
"description": "🛵 The stylish Node.js middleware engine for AWS Lambda (core package)",
"engines": {
"node": ">=6.10"
Expand Down Expand Up @@ -38,5 +38,8 @@
"dependencies": {
"@types/aws-lambda": "^8.10.3",
"once": "^1.4.0"
},
"devDependencies": {
"es6-promisify": "^6.0.2"
}
}
Loading

0 comments on commit 2e37868

Please sign in to comment.