-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
53 lines (46 loc) · 1.72 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
var assert = require('assert'),
http = require('http'),
request = require('supertest'),
requestId = require('./');
describe('request-id', function() {
describe('createMiddleware()', function() {
it('should return middleware function', function() {
var middleware = requestId.createMiddleware();
assert.equal(typeof middleware, 'function');
});
});
describe('get()', function() {
var server;
before(function() {
var requestIdMiddleware = requestId.createMiddleware(),
asyncMiddleware = function(req, res, next) {
setTimeout(function() { // NOTE: emulate some asynchronous middleware chain
process.nextTick(next)
}, 10);
};
server = http.createServer(function(req, res) {
requestIdMiddleware(req, res, function() {
asyncMiddleware(req, res, function() {
res.end(requestId.get());
})
});
});
});
var reqIdPrefix = '123x123-',
requestsMax = 3;
it('should return nothing if no request-id set', function(done) {
request(server)
.get('/')
.expect('', done);
});
Array.apply(null, { length : requestsMax }).forEach(function(_, i) {
it('should return request-id for current request (' + i + ')', function(done) {
var newId = reqIdPrefix + i;
request(server)
.get('/')
.set('X-Request-Id', newId)
.expect(newId, done);
});
});
});
});