Skip to content

Commit

Permalink
Add tests for #756, #757
Browse files Browse the repository at this point in the history
  • Loading branch information
dnalborczyk committed Aug 2, 2019
1 parent b2738f7 commit 0d77c92
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 0 deletions.
1 change: 1 addition & 0 deletions jest.config.js
Expand Up @@ -5,5 +5,6 @@ module.exports = {
'src/__tests__/manual/',
'src/__tests__/support/',
'src/__tests__/integration/handler/handlerPayload.js',
'src/__tests__/integration/uncategorized/uncategorized.js',
],
};
34 changes: 34 additions & 0 deletions src/__tests__/integration/uncategorized/serverless.yml
@@ -0,0 +1,34 @@
service: uncategorized-tests

provider:
name: aws
stage: dev
region: us-east-1 # default
runtime: nodejs10.x
memorySize: 128
versionFunctions: false

plugins:
- './../../../index'

functions:
# https://github.com/serverless/serverless/issues/4218#issue-255617750
# bug?
# - ${file(./handlerPayload.yml)}

uncategorizedHandler1:
events:
- http:
integration: lambda
method: get
path: uncategorized-1
responses:
default:
responseModels:
application/json;charset=UTF-8: Empty
responseParameters:
method.response.header.x-foo: 'integration.response.body.foo'
responseTemplates:
application/json;charset=UTF-8: ''
statusCode: 200
handler: uncategorized.uncategorizedHandler1
7 changes: 7 additions & 0 deletions src/__tests__/integration/uncategorized/uncategorized.js
@@ -0,0 +1,7 @@
'use strict';

module.exports.uncategorizedHandler1 = async () => {
return {
foo: 'bar',
};
};
39 changes: 39 additions & 0 deletions src/__tests__/integration/uncategorized/uncategorized.test.js
@@ -0,0 +1,39 @@
'use strict';

const { resolve } = require('path');
const { URL } = require('url');
const fetch = require('node-fetch');
const Serverless = require('serverless');
const ServerlessOffline = require('../../../../src/ServerlessOffline.js');

jest.setTimeout(30000);

describe('handler payload tests', () => {
let serverlessOffline;

// init
beforeAll(async () => {
const serverless = new Serverless();
serverless.config.servicePath = resolve(__dirname);
await serverless.init();
serverlessOffline = new ServerlessOffline(serverless, {});

return serverlessOffline.start();
});

// cleanup
afterAll(async () => {
return serverlessOffline.end();
});

const url = new URL('http://localhost:3000');

// issue: https://github.com/dherault/serverless-offline/issues/756
// PR: https://github.com/dherault/serverless-offline/pull/757
test('Uncategorized 1', async () => {
url.pathname = 'uncategorized-1';
const response = await fetch(url);
const json = await response.json();
expect(json).toEqual({ foo: 'bar' });
});
});

0 comments on commit 0d77c92

Please sign in to comment.