Skip to content

Commit 8db0df8

Browse files
chore: add e2e testing (#293)
* feat: first pass at e2e testing * fix: snapshot with node 12 * fix: debug with pwd * chore: debug with ls * fix: cp command syntax * fix: more test debugging * fix: use rsync instead of cp * chore: clean up makefile * feat: e2e tests for complete and individually * feat: run all e2e tests on pull * Update Makefile * Update Makefile * feat: target e2e test at local changes * fix: e2e npm script * fix: more robust e2e assertion * fix: use npm link * feat: e2e cfn template for minimal * feat: e2e testing, snapshot cloudformation * fix: e2e tests deterministic * fix: e2e deterministic test * fix: update snap Co-authored-by: Sam Chung <samc@seek.com.au>
1 parent fbf213d commit 8db0df8

18 files changed

+32123
-575
lines changed

.github/workflows/pull.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@ jobs:
2020
cache: npm
2121
- run: npm install
2222
- run: npm test
23+
- run: npm run test:e2e
2324
- run: npm run build --if-present

e2e/Makefile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
test-e2e: test-e2e-minimal test-e2e-individually test-e2e-complete
2+
3+
build:
4+
npm run build
5+
npm link
6+
7+
test-e2e-minimal: build
8+
rm -fr ./e2e/minimal && mkdir ./e2e/minimal && rsync -r ./examples/minimal/ ./e2e/minimal/
9+
cd ./e2e/minimal && npm i && npm link serverless-esbuild && npx sls package
10+
cd ./e2e/minimal/.serverless && unzip minimal-example.zip
11+
npx jest -c jest.config.e2e.js --ci ./e2e/minimal.test.ts
12+
rm -fr ./e2e/minimal
13+
14+
test-e2e-individually: build
15+
rm -fr ./e2e/individually && mkdir ./e2e/individually && rsync -r ./examples/individually/ ./e2e/individually/
16+
cd ./e2e/individually && npm i && npm link serverless-esbuild && npx sls package
17+
cd ./e2e/individually/.serverless && unzip hello1.zip && unzip hello2.zip
18+
npx jest -c jest.config.e2e.js --ci ./e2e/individually.test.ts
19+
rm -fr ./e2e/individually
20+
21+
test-e2e-complete: build
22+
rm -fr ./e2e/complete && mkdir ./e2e/complete && rsync -r ./examples/complete/ ./e2e/complete/
23+
cd ./e2e/complete && npm i && npm link serverless-esbuild && npx sls package
24+
cd ./e2e/complete/.serverless && unzip complete-example.zip
25+
npx jest -c jest.config.e2e.js --ci ./e2e/complete.test.ts
26+
rm -fr ./e2e/complete

0 commit comments

Comments
 (0)