UNPKG

3.05 kBJavaScriptView Raw
1// Copyright (c) 2015 Uber Technologies, Inc.
2//
3// Permission is hereby granted, free of charge, to any person obtaining a copy
4// of this software and associated documentation files (the "Software"), to deal
5// in the Software without restriction, including without limitation the rights
6// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7// copies of the Software, and to permit persons to whom the Software is
8// furnished to do so, subject to the following conditions:
9//
10// The above copyright notice and this permission notice shall be included in
11// all copies or substantial portions of the Software.
12//
13// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19// THE SOFTWARE.
20
21'use strict';
22
23var test = require('tape');
24
25var KafkaLogger = require('./lib/kafka-logger.js');
26
27test('can .error("message", new Error())', function (assert) {
28 var logger = KafkaLogger(function (err, msg) {
29 assert.ifError(err, 'no unexpected server error');
30 var obj = msg.messages[0].payload;
31
32 assert.notEqual(obj.msg.indexOf('hello'), -1);
33 assert.notEqual(
34 obj.fields.stack.indexOf('Error: lulz'), -1);
35 assert.equal(obj.fields.message, 'lulz');
36
37 logger.destroy();
38 assert.end();
39 });
40
41 logger.error('hello', new Error('lulz'));
42});
43
44test('can error("message", { error: Error() })', function (assert) {
45 var logger = KafkaLogger(function (err, msg) {
46 assert.ifError(err, 'no unexpected server error');
47 var obj = msg.messages[0].payload;
48
49 assert.notEqual(obj.msg.indexOf('some message'), -1);
50 assert.notEqual(
51 obj.fields.error.stack.indexOf('Error: some error'), -1);
52 assert.equal(obj.fields.error.message, 'some error');
53 assert.equal(obj.fields.other, 'key');
54
55 logger.destroy();
56 assert.end();
57 });
58
59 logger.error('some message', {
60 error: new Error('some error'),
61 other: 'key'
62 });
63});
64
65test('can error(msg, { someKey: Error() })', function (assert) {
66 var logger = KafkaLogger(function (err, msg) {
67 assert.ifError(err, 'no unexpected server error');
68 var obj = msg.messages[0].payload;
69
70 assert.notEqual(obj.msg.indexOf('some message'), -1);
71 assert.notEqual(
72 obj.fields.someKey.stack.indexOf('Error: some error'), -1);
73 assert.equal(obj.fields.someKey.message, 'some error');
74 assert.equal(obj.fields.other, 'key');
75
76 logger.destroy();
77 assert.end();
78 });
79
80 logger.error('some message', {
81 someKey: new Error('some error'),
82 other: 'key'
83 });
84});