Skip to content

Commit 9855404

Browse files
committed
use request instead mocha
1 parent 8c2b152 commit 9855404

File tree

4 files changed

+39
-63
lines changed

4 files changed

+39
-63
lines changed

handler.js

+5-36
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,6 @@
11
'use strict';
2-
let Mocha = require('mocha'),
3-
fs = require('fs'),
4-
path = require('path');
5-
6-
// Instantiate a Mocha instance.
7-
let mocha = new Mocha();
8-
let testDir = path.join(__dirname, 'build');
9-
10-
function runTest(){
11-
return new Promise((resolve, reject) => {
12-
// Add each .js file to the mocha instance
13-
fs.readdirSync(testDir).filter(function(file){
14-
// Only keep the .js files
15-
return file.substr(-3) === '.js';
16-
}).forEach(function(file){
17-
mocha.addFile(
18-
path.join(testDir, file)
19-
);
20-
});
21-
22-
// Run the tests.
23-
mocha.run(function(failures){
24-
if(failures){
25-
reject();
26-
}
27-
else{
28-
resolve();
29-
}
30-
//process.on('exit', function () {
31-
//process.exit(failures); // exit with non-zero status if there were failures
32-
//});
33-
});
34-
});
35-
}
36-
2+
require('babel-polyfill');
3+
let test = require('./build/test.js');
374

385
module.exports.main = (event, context, callback) => {
396

@@ -45,8 +12,10 @@ module.exports.main = (event, context, callback) => {
4512
}),
4613
};
4714

48-
runTest().then(() =>{
15+
test.runTest().then(() =>{
4916
callback(null, response);
17+
}).catch(err => {
18+
callback(err);
5019
});
5120

5221
// Use this code if you don't use the http event with the LAMBDA-PROXY integration

local_handler.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
require('babel-polyfill');
3+
let test = require('./build/test.js');
4+
5+
async function main() {
6+
await test.runTest();
7+
// Use this code if you don't use the http event with the LAMBDA-PROXY integration
8+
// callback(null, { message: 'Go Serverless v1.0! Your function executed successfully!', event });
9+
};
10+
11+
main();

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"deploy": "npm run transpile && serverless deploy -v",
1111
"package": "npm run transpile && serverless package",
1212
"destroy": "serverless remove",
13-
"start": "npm run transpile && cross-env NODE_ENV=development node build/index.js",
13+
"start": "npm run transpile && cross-env NODE_ENV=development node local_handler.js",
1414
"help": "serverless --help"
1515
},
1616
"author": "RainkWLK <lukeshih72@gmail.com>",

src/test.js

+22-26
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,25 @@
1-
import 'babel-polyfill'
2-
3-
var chai = require('chai');
4-
let should = chai.should();
5-
6-
let supertest = require('supertest');
7-
let expect = chai.expect;
8-
1+
var rp = require('request-promise-native');
92
let env = require('./env.js');
103

114

12-
chai.use(require('chai-ajv-json-schema'));
13-
//chai.use(require('chai-things'));
14-
15-
let start_time;
16-
17-
before(() => {
18-
start_time = Date.now();
19-
});
20-
it('test', async () => {
21-
let req = supertest(env.server);
22-
let res = await req.get(env.uri);
23-
res.statusCode.should.eql(200);
24-
});
25-
26-
after(() => {
27-
let time_exceed = Date.now() - start_time;
28-
console.log(time_exceed);
29-
});
5+
async function runTest(){
6+
let url = env.server+env.uri;
7+
var options = {
8+
uri: url,
9+
json: true // Automatically parses the JSON string in the response
10+
};
11+
12+
try{
13+
let start_time = Date.now();
14+
let res = await rp(options);
15+
16+
let time_exceed = Date.now() - start_time;
17+
console.log("[INFO] "+url+" "+time_exceed);
18+
return res;
19+
}
20+
catch(err){
21+
throw err;
22+
}
23+
}
24+
25+
exports.runTest = runTest;

0 commit comments

Comments
 (0)