@tlrg/middleware-js
Version:
Node module for sharing common middlewares.
60 lines (52 loc) • 1.75 kB
JavaScript
require('chai').should();
var domain = require('domain');
var proxyquire = require('proxyquire');
var middlewareModulePath = '../lib/middlewares/requestDomainTagger';
describe('requestDomainTagger', function () {
it('should add an id to the request, and its domain', function (done) {
var request = {
domain: {},
headers: {}
};
var response = {};
var requestDomainTagger = proxyquire(middlewareModulePath, {
'@tlrg/clientip-js': function () {
return '123.123.123';
}
});
var d = domain.create();
d.run(function () {
requestDomainTagger(request, response, function () {
request.uuid.should.be.a('string');
d.originatingRequestId.should.equal(request.uuid);
done();
});
});
});
it('should add a request summary to the domain', function (done) {
var request = {
domain: {},
originalUrl: '/foo/bar',
headers: {
'user-agent': 'some browser'
}
};
var response = {};
var requestDomainTagger = proxyquire(middlewareModulePath, {
'@tlrg/clientip-js': function () {
return '123.123.123';
}
});
var d = domain.create();
d.run(function () {
requestDomainTagger(request, response, function () {
d.originatingRequestSummary.should.deep.equal({
url: '/foo/bar',
clientIP: '123.123.123',
userAgent: 'some browser'
});
done();
});
});
});
});