-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.js
95 lines (89 loc) · 2.31 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
require('colors')
var events = require('events')
var test = require('tape')
var createLogger = require('./statsd_logger')
test('basic server creation', function (t) {
t.plan(1)
var emitter = new events.EventEmitter()
emitter.bind = function (port) {
t.equal(port, 8125, 'binds to default statsd port')
}
createLogger({ server: emitter })
})
test('server listening events', function (t) {
t.plan(1)
var emitter = new events.EventEmitter()
emitter.address = function () {
return { address: '0.0.0.0', port: 8125 }
}
emitter.bind = function () {}
createLogger({
server: emitter,
logger: {
log: function (msg) {
t.equal(msg, 'Server listening on 0.0.0.0:8125', 'logs address:port of server')
}
}
})
emitter.emit('listening')
})
test('server error events', function (t) {
t.plan(2)
var emitter = new events.EventEmitter()
var error = new Error('dummy error')
emitter.bind = function () {}
emitter.close = function () {
t.pass('closes server')
}
createLogger({
server: emitter,
logger: {
log: function (msg) {
t.equal(msg, 'Server error:\n'.red + error.stack.red, 'logs error')
}
}
})
emitter.emit('error', error)
})
test('server message events - single message', function (t) {
t.plan(1)
var emitter = new events.EventEmitter()
emitter.bind = function () {}
createLogger({
server: emitter,
logger: {
log: function (msg) {
t.equal(msg, 'StatsD Metric: ' + 'gorets'.blue + ' ' + '1|c'.green)
}
}
})
emitter.emit('message', 'gorets:1|c')
})
test('server message events - multiple messages', function (t) {
t.plan(2)
var emitter = new events.EventEmitter()
emitter.bind = function () {}
createLogger({
server: emitter,
logger: {
log: function (msg) {
t.equal(msg, 'StatsD Metric: ' + 'gorets'.blue + ' ' + '1|c'.green)
}
}
})
emitter.emit('message', 'gorets:1|c\ngorets:1|c')
})
test('server message events - colons within gauge', function (t) {
t.plan(1)
var emitter = new events.EventEmitter()
emitter.bind = function () {}
createLogger({
server: emitter,
logger: {
log: function (msg) {
t.equal(msg, 'StatsD Metric: ' + 'foo'.blue + ' ' + 'bar:baz|c'.green)
}
}
})
emitter.emit('message', 'foo:bar:baz|c')
})