Skip to content

Commit 6625767

Browse files
committed
update dependencies
1 parent 19b4ae0 commit 6625767

File tree

9 files changed

+67
-65
lines changed

9 files changed

+67
-65
lines changed

lib/server/app_server.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var path = require('path');
22
var restify = require('restify');
3-
var Logger = require('bunyan');
3+
var bunyan = require('bunyan');
44
var UncaughtExceptionHandler = require('./uncaught_exception_handler');
55

66
var ENV = process.env.NODE_ENV;
77

88
var log_path = path.resolve(__dirname, '..', '..', 'log', ENV + '.log');
9-
var logger = new Logger({
9+
var logger = bunyan.createLogger({
1010
name: 'app',
1111
streams: [
1212
{
@@ -31,9 +31,9 @@ function AppServer(config) {
3131
log: logger
3232
});
3333

34-
self.server.on('after', restify.auditLogger({
35-
name: 'audit',
36-
log: logger
34+
self.server.on('after', restify.plugins.auditLogger({
35+
log: logger,
36+
event: 'after'
3737
}));
3838

3939
self.server.on('uncaughtException', uncaught_exception_handler.handle);
@@ -48,8 +48,8 @@ AppServer.prototype.start = function (options) {
4848

4949
self.server.listen(parseInt(port, 10));
5050

51-
self.server.use(restify.bodyParser());
52-
self.server.use(restify.queryParser());
51+
self.server.use(restify.plugins.bodyParser({mapParams: true}));
52+
self.server.use(restify.plugins.queryParser());
5353

5454
self.started = true;
5555
};

lib/server/responder.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var restify = require('restify');
1+
var errs = require('restify-errors');
22

33
function is_full_url(url) {
44
return url.indexOf('://') !== -1;
@@ -32,7 +32,7 @@ var responder = {
3232
}
3333

3434
if (!data) {
35-
return responder.error(res, new restify.InternalError("missing data"), next);
35+
return responder.error(res, new errs.InternalError("missing data"), next);
3636
}
3737

3838
if (typeof data !== 'object') {
@@ -86,7 +86,7 @@ var responder = {
8686
var status = args.status || 302;
8787
var content_type = 'application/json; charset=utf-8'; // maybe allow this as an optional arg?
8888
if (!args.url) {
89-
return responder.error(res, new restify.InternalError('Redirect requires url arg'), next);
89+
return responder.error(res, new errs.InternalError('Redirect requires url arg'), next);
9090
}
9191

9292
if (!is_full_url(url)) {
@@ -97,7 +97,7 @@ var responder = {
9797
} else if (url.match(/^\//)) {
9898
url = host + url; // a bit hacky
9999
} else {
100-
return responder.error(res, new restify.InternalError('Full-path redirect url requires leading slash (/)'), next);
100+
return responder.error(res, new errs.InternalError('Full-path redirect url requires leading slash (/)'), next);
101101
}
102102

103103
url = prepend_http_protocol(url, req);
@@ -114,11 +114,11 @@ var responder = {
114114
args.contentType = args.contentType || 'application/octet-stream';
115115

116116
if (!args.filename) {
117-
return responder.error(res, new restify.InternalError('Download requires filename arg'), next);
117+
return responder.error(res, new errs.InternalError('Download requires filename arg'), next);
118118
}
119119

120120
if (!args.stream) {
121-
return responder.error(res, new restify.InternalError('Download requires stream arg'), next);
121+
return responder.error(res, new errs.InternalError('Download requires stream arg'), next);
122122
}
123123

124124
res.setHeader('Content-Type', args.contentType);
@@ -128,7 +128,7 @@ var responder = {
128128
res.setHeader('Content-Length', args.contentLength);
129129
}
130130

131-
res.status(200);
131+
res.writeHead(200);
132132
args.stream.pipe(res);
133133
next();
134134
}

lib/server/router.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@ var router = {
33
if (!Array.isArray(routes)) { throw new Error('routes must be an array'); }
44

55
routes.forEach(function (route) {
6-
if (!route.middleware) {
7-
route.middleware = [];
8-
}
9-
10-
server[route.method](route.url, route.middleware, function (req, res, next) {
6+
server[route.method](route.url, function (req, res, next) {
117
route.func(req, res, next);
128
});
9+
if (route.middleware) {
10+
server.use(route.middleware);
11+
}
1312
});
1413
}
1514
};

package.json

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,26 @@
33
"version": "0.0.5",
44
"description": "TDD boilerplate for NodeJS API apps",
55
"author": "Bryan Donovan",
6-
"engines": {
7-
"node": ">= 0.8.11"
8-
},
96
"main": "./index",
107
"dependencies": {
11-
"async": "1.5.2",
12-
"bunyan": "1.7.1",
13-
"cache-manager": "1.4.0",
14-
"cli-color": "0.2.2",
15-
"lru-cache-cluster": "1.0.0",
16-
"optimist": "0.6.0",
17-
"restify": "4.0.4",
18-
"settings": "0.1.1"
8+
"async": "^3.2.4",
9+
"bunyan": "^1.8.15",
10+
"cache-manager": "^5.1.4",
11+
"cli-color": "^2.0.3",
12+
"lru-cache-cluster": "^1.0.0",
13+
"optimist": "^0.6.0",
14+
"restify": "^10.0.0",
15+
"restify-clients": "^4.2.0",
16+
"settings": "^0.1.1"
1917
},
2018
"devDependencies": {
2119
"Faker": "^0.7.2",
22-
"faker": "3.0.1",
23-
"istanbul": "0.4.2",
24-
"jshint": "2.9.1",
25-
"jshint-checkstyle-file-reporter": "0.0.1",
26-
"mocha": "2.4.5",
27-
"sinon": "1.17.3",
28-
"xunit-file": "^1.0.0"
20+
"istanbul": "^0.4.5",
21+
"jshint": "^2.13.6",
22+
"jshint-checkstyle-file-reporter": "^0.0.1",
23+
"mocha": "^10.2.0",
24+
"sinon": "^15.0.1",
25+
"xunit-file": "^2.0.0"
2926
},
3027
"repository": {
3128
"type": "git",

test/apps/users/controller.unit.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var restify = require('restify');
1+
var errs = require('restify-errors');
22
var assert = require('assert');
33
var sinon = require('sinon');
44
var support = require('../../support');
@@ -27,7 +27,7 @@ describe("users/controller.js", function () {
2727
});
2828

2929
it("passes params to User model", function (done) {
30-
sinon.stub(User, 'create', function (args, cb) {
30+
sinon.stub(User, 'create').callsFake(function (args, cb) {
3131
cb(null, {});
3232
});
3333

@@ -41,8 +41,8 @@ describe("users/controller.js", function () {
4141

4242
context("when model returns an error", function () {
4343
it("responds with the error", function (done) {
44-
var fake_err = new restify.InvalidArgumentError('foo');
45-
sinon.stub(User, 'create', function (args, cb) {
44+
var fake_err = new errs.InvalidArgumentError('foo');
45+
sinon.stub(User, 'create').callsFake(function (args, cb) {
4646
cb(fake_err, {});
4747
});
4848

test/server/responder.functional.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
var assert = require('assert');
22
var fs = require('fs');
33
var path = require('path');
4-
var restify = require('restify');
4+
var errs = require('restify-errors');
55
var support = require('../support');
66
var http = support.http;
77
var responder = main.server.responder;
88
var file_to_download = path.join(__dirname, '../support/fixtures', 'fake_data.js');
99

1010
var methods = {
1111
get_restify_error: function (req, res, next) {
12-
var error = new restify.InvalidArgumentError('foo arg invalid');
12+
var error = new errs.InvalidArgumentError('foo arg invalid');
1313
return responder.error(res, error, next);
1414
},
1515

@@ -169,7 +169,7 @@ describe("functional - server/responder.js", function () {
169169
context("when full path passed in without leading slash", function () {
170170
it("returns Internal error", function (done) {
171171
http_client.get('/test/redirects/full_path_without_leading_slash', function (err) {
172-
assert.equal(err.body.code, 'InternalError');
172+
assert.equal(err.body.code, 'Internal');
173173
assert.ok(err.message.match(/leading slash/));
174174
done();
175175
});
@@ -202,7 +202,9 @@ describe("functional - server/responder.js", function () {
202202
});
203203

204204
after(function () {
205-
fs.unlinkSync(filename);
205+
if (fs.existsSync(filename)) {
206+
fs.unlinkSync(filename);
207+
}
206208
});
207209

208210
it("returns correct headers and content", function (done) {

test/server/responder.unit.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ var fake_res = {
99
status: function () {},
1010
json: function () {},
1111
send: function () {},
12-
setHeader: function () {}
12+
setHeader: function () {},
13+
writeHead: function () {}
1314
};
1415

1516
var fake_req = {
@@ -46,7 +47,7 @@ describe("responder.js", function () {
4647

4748
context("when no data passed in", function () {
4849
it("calls responder.error()", function (done) {
49-
sinon.stub(responder, 'error', function (res, err, next) {
50+
sinon.stub(responder, 'error').callsFake(function (res, err, next) {
5051
next();
5152
});
5253

@@ -82,7 +83,7 @@ describe("responder.js", function () {
8283

8384
context("when no args passed in", function () {
8485
it("responds with an InternalError", function (done) {
85-
sinon.stub(responder, 'error', function (res, err, next) {
86+
sinon.stub(responder, 'error').callsFake(function (res, err, next) {
8687
next();
8788
});
8889

@@ -97,7 +98,7 @@ describe("responder.js", function () {
9798

9899
context("when args.url not passed in", function () {
99100
it("responds with an InternalError", function (done) {
100-
sinon.stub(responder, 'error', function (res, err, next) {
101+
sinon.stub(responder, 'error').callsFake(function (res, err, next) {
101102
next();
102103
});
103104

@@ -143,7 +144,7 @@ describe("responder.js", function () {
143144

144145
context("when no args passed in", function () {
145146
it("responds with an InternalError", function (done) {
146-
sinon.stub(responder, 'error', function (res, err, next) {
147+
sinon.stub(responder, 'error').callsFake(function (res, err, next) {
147148
next();
148149
});
149150

@@ -158,7 +159,7 @@ describe("responder.js", function () {
158159

159160
context("when args.filename not passed in", function () {
160161
it("responds with an InternalError", function (done) {
161-
sinon.stub(responder, 'error', function (res, err, next) {
162+
sinon.stub(responder, 'error').callsFake(function (res, err, next) {
162163
next();
163164
});
164165

@@ -174,7 +175,7 @@ describe("responder.js", function () {
174175

175176
context("when args.stream not passed in", function () {
176177
it("responds with an InternalError", function (done) {
177-
sinon.stub(responder, 'error', function (res, err, next) {
178+
sinon.stub(responder, 'error').callsFake(function (res, err, next) {
178179
next();
179180
});
180181

@@ -191,7 +192,7 @@ describe("responder.js", function () {
191192
context("when args.contentType not passed in", function () {
192193
it("responds with Content-Type header set to application/octet-stream", function (done) {
193194
sinon.spy(fake_res, 'setHeader');
194-
sinon.stub(args.stream, 'pipe', function () { });
195+
sinon.stub(args.stream, 'pipe').callsFake(function () { });
195196

196197
delete args.contentType;
197198
responder.download(fake_res, args, fake_next);
@@ -207,7 +208,7 @@ describe("responder.js", function () {
207208
context("when args.contentLength not passed in", function () {
208209
it("responds without Content-Length header set", function (done) {
209210
sinon.spy(fake_res, 'setHeader');
210-
sinon.stub(args.stream, 'pipe', function () { });
211+
sinon.stub(args.stream, 'pipe').callsFake(function () { });
211212

212213
delete args.contentLength;
213214
responder.download(fake_res, args, fake_next);
@@ -221,20 +222,21 @@ describe("responder.js", function () {
221222
});
222223

223224
context("when args passed in correctly", function () {
224-
it("responds without 200 status and content", function (done) {
225+
it("responds with 200 status and content", function (done) {
225226
sinon.spy(fake_res, 'setHeader');
226-
sinon.spy(fake_res, 'status');
227-
sinon.stub(args.stream, 'pipe', function () { });
227+
sinon.spy(fake_res, 'writeHead');
228+
sinon.stub(args.stream, 'pipe').callsFake(function () { });
228229

229230
responder.download(fake_res, args, fake_next);
230231

231232
assert.ok(fake_res.setHeader.calledWith('Content-Type', 'application/javascript'));
232233
assert.ok(fake_res.setHeader.calledWith('Content-Length', 2000));
233234
assert.ok(fake_res.setHeader.calledWith('Content-Disposition', 'attachment; filename=foo.js'));
234-
assert.ok(fake_res.status.calledWith(200));
235+
assert.ok(fake_res.writeHead.calledWith(200));
235236
assert.ok(args.stream.pipe.calledWith(fake_res));
236237

237238
fake_res.setHeader.restore();
239+
fake_res.writeHead.restore();
238240
args.stream.pipe.restore();
239241
done();
240242
});

test/server/router.unit.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,15 @@ describe("server/router.js", function () {
4848

4949
describe("register_routes()", function () {
5050
it("adds routes to server", function () {
51-
assert.strictEqual(Object.keys(server.routes).length, 0);
51+
assert.strictEqual(Object.keys(server.router.getRoutes()).length, 0);
5252
assert.strictEqual(routes.length, 2);
5353

5454
router.register_routes(server, routes);
5555

56-
assert.strictEqual(Object.keys(server.routes).length, 2);
57-
assert.ok(server.routes['gettestfoo']);
58-
assert.ok(server.routes['gettestbar']);
56+
var new_routes = server.router.getRoutes();
57+
assert.strictEqual(Object.keys(new_routes).length, 2);
58+
assert.ok(new_routes['gettestfoo']);
59+
assert.ok(new_routes['gettestbar']);
5960
});
6061

6162
it("throws error if routes are not an array", function () {

test/support/http.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
var restify = require('restify');
2+
var clients = require('restify-clients');
23
var host = process.env.HOST || 'localhost';
34
var port = process.env.PORT;
45

@@ -13,8 +14,8 @@ if (!port) {
1314
function TestServer(args) {
1415
this.routes = args.routes;
1516
this.server = restify.createServer();
16-
this.server.use(restify.bodyParser());
17-
this.server.use(restify.queryParser());
17+
this.server.use(restify.plugins.bodyParser());
18+
this.server.use(restify.plugins.queryParser());
1819
main.server.router.register_routes(this.server, this.routes);
1920
}
2021

@@ -59,7 +60,7 @@ function HttpClient(args) {
5960
break;
6061
}
6162

62-
this.client = restify[method]({url: this.url});
63+
this.client = clients[method]({url: this.url});
6364
}
6465

6566
HttpClient.prototype.get = function (path_or_options, cb) {

0 commit comments

Comments
 (0)