added unit testing, and started implementing unit tests...phew
This commit is contained in:
77
node_modules/winston/test/transports/http.test.js
generated
vendored
Normal file
77
node_modules/winston/test/transports/http.test.js
generated
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* http-test.js: Tests for instances of the HTTP transport
|
||||
*
|
||||
* MIT LICENSE
|
||||
*/
|
||||
|
||||
var path = require('path'),
|
||||
http = require('http'),
|
||||
fs = require('fs'),
|
||||
hock = require('hock'),
|
||||
assume = require('assume'),
|
||||
Http = require('../../lib/winston/transports/http'),
|
||||
helpers = require('../helpers');
|
||||
|
||||
var host = '127.0.0.1';
|
||||
|
||||
function mockHttpServer(opts, done) {
|
||||
if (!done && typeof opts === 'function') {
|
||||
done = opts;
|
||||
opts = {};
|
||||
}
|
||||
|
||||
var mock = hock.createHock();
|
||||
opts.path = opts.path || 'log';
|
||||
opts.payload = opts.payload || {
|
||||
level: 'info',
|
||||
message: 'hello',
|
||||
meta: {}
|
||||
};
|
||||
|
||||
mock
|
||||
.post('/' + opts.path, opts.payload)
|
||||
.min(1)
|
||||
.max(1)
|
||||
.reply(200);
|
||||
|
||||
var server = http.createServer(mock.handler);
|
||||
server.listen(0, '0.0.0.0', done);
|
||||
return { server, mock };
|
||||
}
|
||||
|
||||
describe('Http({ host, port, path })', function () {
|
||||
var context;
|
||||
var server;
|
||||
beforeEach(function (done) {
|
||||
context = mockHttpServer(done);
|
||||
server = context.server;
|
||||
});
|
||||
|
||||
it('should send logs over HTTP', function (done) {
|
||||
var port = server.address().port;
|
||||
var httpTransport = new Http({
|
||||
host: host,
|
||||
port: port,
|
||||
path: 'log'
|
||||
}).on('error', function (err) {
|
||||
assume(err).falsy();
|
||||
}).on('logged', function () {
|
||||
context.mock.done(function (err) {
|
||||
if (err) { assume(err).falsy(); }
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
httpTransport.log({
|
||||
level: 'info',
|
||||
message: 'hello',
|
||||
meta: {}
|
||||
}, function (err) {
|
||||
if (err) { assume(err).falsy(); }
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(function (done) {
|
||||
server.close(done.bind(null, null));
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user