Skip to content

Commit 23004de

Browse files
committed
first commit
1 parent 1123126 commit 23004de

File tree

7 files changed

+4914
-2
lines changed

7 files changed

+4914
-2
lines changed

.babelrc

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"presets": ["env"]
3+
}

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ bower_components
3030
.lock-wscript
3131

3232
# Compiled binary addons (http://nodejs.org/api/addons.html)
33-
build/Release
33+
build/
3434

3535
# Dependency directories
3636
node_modules/
@@ -56,4 +56,4 @@ typings/
5656

5757
# dotenv environment variables file
5858
.env
59-
59+
src/test/env.js

package.json

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"name": "api_benchmark",
3+
"version": "1.0.0",
4+
"description": "AWS API benchmark tool",
5+
"main": "index.js",
6+
"repository": "https://github.com/RainaWLK/api_benchmark.git",
7+
"scripts": {
8+
"transpile": "babel src -d build",
9+
"deploy": "serverless deploy -v",
10+
"package": "npm run transpile && serverless package",
11+
"destroy": "serverless remove",
12+
"start": "npm run transpile && cross-env NODE_ENV=development node build/index.js",
13+
"help": "serverless --help"
14+
},
15+
"author": "RainkWLK <lukeshih72@gmail.com>",
16+
"license": "MIT",
17+
"devDependencies": {
18+
"babel-cli": "^6.26.0",
19+
"babel-loader": "^7.1.2",
20+
"babel-preset-env": "^1.6.0",
21+
"cross-env": "^5.1.1",
22+
"serverless": "^1.23.0",
23+
"serverless-offline": "^3.16.0",
24+
"serverless-plugin-include-dependencies": "^3.0.0",
25+
"serverless-webpack": "^3.1.1",
26+
"webpack": "^3.6.0",
27+
"webpack-node-externals": "^1.6.0"
28+
},
29+
"dependencies": {
30+
"babel-polyfill": "^6.26.0",
31+
"chai": "^4.1.2",
32+
"chai-ajv-json-schema": "^1.0.0",
33+
"cross-env": "^5.1.1",
34+
"mocha": "^4.0.1",
35+
"lodash": "^4.17.4",
36+
"query-string": "^5.0.0",
37+
"request": "^2.83.0",
38+
"request-promise": "^4.2.2",
39+
"request-promise-native": "^1.0.5",
40+
"supertest": "^3.0.0"
41+
},
42+
"optionalDependencies": {
43+
"aws-sdk": "^2.128.0"
44+
}
45+
}

src/index.js

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
var Mocha = require('mocha'),
3+
fs = require('fs'),
4+
path = require('path');
5+
6+
// Instantiate a Mocha instance.
7+
var mocha = new Mocha();
8+
9+
var testDir = path.join(__dirname, 'test');
10+
11+
// Add each .js file to the mocha instance
12+
fs.readdirSync(testDir).filter(function(file){
13+
// Only keep the .js files
14+
return file.substr(-3) === '.js';
15+
}).forEach(function(file){
16+
mocha.addFile(
17+
path.join(testDir, file)
18+
);
19+
});
20+
21+
// Run the tests.
22+
mocha.run(function(failures){
23+
process.on('exit', function () {
24+
process.exit(failures); // exit with non-zero status if there were failures
25+
});
26+
});

src/test/env.js.sample

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
exports.server = '';
2+
3+
exports.uri = '';

src/test/test.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
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+
9+
let env = require('./env.js');
10+
11+
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+
});

0 commit comments

Comments
 (0)