Skip to content

Commit

Permalink
Added specified id tests
Browse files Browse the repository at this point in the history
  • Loading branch information
four43 committed Feb 8, 2016
1 parent 2a00917 commit 65c890b
Showing 1 changed file with 76 additions and 1 deletion.
77 changes: 76 additions & 1 deletion test/http-header-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,79 @@ describe("HTTP Header Transport", function() {
});
});

});
describe("Specific Id", function() {
var mockResponse;
beforeEach(function() {
mockResponse = new MockResponse();
});

it("Should log with a specified id", function() {
var transport = new HttpHeaderTransport({
setHeader: mockResponse.setHeader.bind(mockResponse)
});
transport.log('debug', 'Hello World', {id: 'foo'});

assert.equal(mockResponse.headers['x-logger-debug-foo'], 'Hello World');
});

it("Should overwrite an existing id", function() {
var transport = new HttpHeaderTransport({
setHeader: mockResponse.setHeader.bind(mockResponse)
});
transport.log('debug', 'Hello World', {id: 'foo'});
transport.log('debug', 'Bar', {id: 'foo'});

assert.equal(mockResponse.headers['x-logger-debug-foo'], 'Bar');
});

it("Should log multiple id specified keys", function() {
var transport = new HttpHeaderTransport({
setHeader: mockResponse.setHeader.bind(mockResponse)
});
transport.log('debug', 'Hello World', {id: 'foo'});
transport.log('debug', 'Foo Bar', {id: 'bar'});

assert.equal(mockResponse.headers['x-logger-debug-foo'], 'Hello World');
assert.equal(mockResponse.headers['x-logger-debug-bar'], 'Foo Bar');
});
});

describe("Sequential Logs", function() {
var mockResponse;
beforeEach(function() {
mockResponse = new MockResponse();
});

it("Should log sequential logs calls in order", function() {
var transport = new HttpHeaderTransport({
setHeader: mockResponse.setHeader.bind(mockResponse)
});
transport.log('debug', 'Hello World');
transport.log('debug', 'Foo Bar');

assert.equal(mockResponse.headers['x-logger-0-debug'], 'Hello World');
assert.equal(mockResponse.headers['x-logger-1-debug'], 'Foo Bar');
});

it("Should log sequential logs of different types in order", function() {
var transport = new HttpHeaderTransport({
setHeader: mockResponse.setHeader.bind(mockResponse)
});
transport.log('debug', 'Hello World');
transport.log('warn', 'OMG');
transport.log('debug', 'Nm its cool');
assert.equal(mockResponse.headers['x-logger-0-debug'], 'Hello World');
assert.equal(mockResponse.headers['x-logger-1-warn'], 'OMG');
assert.equal(mockResponse.headers['x-logger-2-debug'], 'Nm its cool');
});
})
});

function MockResponse() {
return {
headers: {},
setHeader: function(key, value) {
this.headers[key] = value;
}
}
}

0 comments on commit 65c890b

Please sign in to comment.