Skip to content
This repository was archived by the owner on Sep 14, 2022. It is now read-only.

Commit e2d491d

Browse files
author
Michael Mrowetz
committed
fix tests - there was a race condition with connect based tests & revert hapi to 9.5.1
1 parent 8bc44f5 commit e2d491d

File tree

6 files changed

+83
-64
lines changed

6 files changed

+83
-64
lines changed

project-skeletons/connect/app.js

+17-15
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,24 @@
22

33
var SwaggerConnect = require('swagger-connect');
44
var app = require('connect')();
5-
module.exports = app; // for testing
5+
// export setup Promis for testing
6+
module.exports = new Promise(function (resolve, reject) {
7+
var config = {
8+
appRoot: __dirname // required config
9+
};
610

7-
var config = {
8-
appRoot: __dirname // required config
9-
};
11+
SwaggerConnect.create(config, function (err, swaggerConnect) {
12+
if (err) { throw err; }
1013

11-
SwaggerConnect.create(config, function(err, swaggerConnect) {
12-
if (err) { throw err; }
14+
// install middleware
15+
swaggerConnect.register(app);
1316

14-
// install middleware
15-
swaggerConnect.register(app);
17+
var port = process.env.PORT || 10010;
18+
app.listen(port);
1619

17-
var port = process.env.PORT || 10010;
18-
app.listen(port);
19-
20-
if (swaggerConnect.runner.swagger.paths['/hello']) {
21-
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
22-
}
23-
});
20+
if (swaggerConnect.runner.swagger.paths['/hello']) {
21+
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
22+
}
23+
resolve(app);
24+
});
25+
});

project-skeletons/express/app.js

+18-15
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,25 @@
22

33
var SwaggerExpress = require('swagger-express-mw');
44
var app = require('express')();
5-
module.exports = app; // for testing
5+
// export setup Promis for testing
6+
module.exports = new Promise(function (resolve, reject) {
67

7-
var config = {
8-
appRoot: __dirname // required config
9-
};
8+
var config = {
9+
appRoot: __dirname // required config
10+
};
1011

11-
SwaggerExpress.create(config, function(err, swaggerExpress) {
12-
if (err) { throw err; }
12+
SwaggerExpress.create(config, function (err, swaggerExpress) {
13+
if (err) { throw err; }
1314

14-
// install middleware
15-
swaggerExpress.register(app);
15+
// install middleware
16+
swaggerExpress.register(app);
1617

17-
var port = process.env.PORT || 10010;
18-
app.listen(port);
19-
20-
if (swaggerExpress.runner.swagger.paths['/hello']) {
21-
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
22-
}
23-
});
18+
var port = process.env.PORT || 10010;
19+
app.listen(port, function() {
20+
if (swaggerExpress.runner.swagger.paths['/hello']) {
21+
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
22+
}
23+
resolve(app);
24+
});
25+
});
26+
});

project-skeletons/hapi/app.js

+22-16
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,33 @@ var SwaggerHapi = require('swagger-hapi');
44
var Hapi = require('hapi');
55
var app = new Hapi.Server();
66

7-
module.exports = app; // for testing
7+
// export setup Promis for testing
8+
module.exports = new Promise(function (resolve, reject) {
89

9-
var config = {
10-
appRoot: __dirname // required config
11-
};
10+
var config = {
11+
appRoot: __dirname // required config
12+
};
1213

13-
SwaggerHapi.create(config, function(err, swaggerHapi) {
14-
if (err) { throw err; }
14+
SwaggerHapi.create(config, function (err, swaggerHapi) {
15+
if (err) { throw err; }
1516

16-
var port = process.env.PORT || 10010;
17-
app.connection({ port: port });
18-
app.address = function() {
19-
return { port: port };
20-
};
17+
var port = process.env.PORT || 10010;
18+
app.connection({ port: port });
19+
app.address = function () {
20+
return { port: port };
21+
};
2122

22-
app.register(swaggerHapi.plugin, function(err) {
23-
if (err) { return console.error('Failed to load plugin:', err); }
24-
app.start(function() {
25-
if (swaggerHapi.runner.swagger.paths['/hello']) {
26-
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
23+
app.register(swaggerHapi.plugin, function (err) {
24+
if (err) {
25+
console.error('Failed to load plugin:', err);
26+
reject(err);
2727
}
28+
app.start(function () {
29+
if (swaggerHapi.runner.swagger.paths['/hello']) {
30+
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
31+
}
32+
resolve(app);
33+
});
2834
});
2935
});
3036
});

project-skeletons/hapi/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"license": "",
99
"main": "app.js",
1010
"dependencies": {
11-
"hapi": "^16.1.1",
11+
"hapi": "^9.5.1",
1212
"swagger-hapi": "^0.7.0"
1313
},
1414
"devDependencies": {

project-skeletons/restify/app.js

+17-14
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,24 @@ var SwaggerRestify = require('swagger-restify-mw');
44
var restify = require('restify');
55
var app = restify.createServer();
66

7-
module.exports = app; // for testing
7+
// export setup Promis for testing
8+
module.exports = new Promise(function (resolve, reject) {
89

9-
var config = {
10-
appRoot: __dirname // required config
11-
};
10+
var config = {
11+
appRoot: __dirname // required config
12+
};
1213

13-
SwaggerRestify.create(config, function(err, swaggerRestify) {
14-
if (err) { throw err; }
14+
SwaggerRestify.create(config, function (err, swaggerRestify) {
15+
if (err) { throw err; }
1516

16-
swaggerRestify.register(app);
17+
swaggerRestify.register(app);
1718

18-
var port = process.env.PORT || 10010;
19-
app.listen(port);
20-
21-
if (swaggerRestify.runner.swagger.paths['/hello']) {
22-
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
23-
}
24-
});
19+
var port = process.env.PORT || 10010;
20+
app.listen(port, function () {
21+
if (swaggerRestify.runner.swagger.paths['/hello']) {
22+
console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
23+
}
24+
resolve(app);
25+
});
26+
});
27+
});

test/project-skeletons/common.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function testFramework(framework) {
2525
var tmpDir, projPath, server, sails;
2626

2727
before(function(done) {
28-
this.timeout(90000);
28+
this.timeout(180000);
2929

3030
tmp.setGracefulCleanup();
3131

@@ -54,8 +54,13 @@ function testFramework(framework) {
5454
done(err);
5555
});
5656
} else {
57-
server = require(projPath + '/app.js');
58-
done();
57+
// promis that resolves when the app is stated
58+
require(projPath + '/app.js')
59+
.then(function(app) {
60+
server = app;
61+
done();
62+
})
63+
.catch(done);
5964
}
6065
});
6166
});

0 commit comments

Comments
 (0)