Skip to content

Commit 02a942a

Browse files
committed
[test] QueryStream
1 parent 3d96bea commit 02a942a

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
"dependencies": {
3838
"antlr4": "^4.5.3",
3939
"js_antlr": "1.0.0",
40-
"lodash.escaperegexp": "^4.1.2"
40+
"lodash.escaperegexp": "^4.1.2",
41+
"readable-stream": "^2.1.5"
4142
},
4243
"devDependencies": {
4344
"chai": "^3.5.0",

test/stream.coffee

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{expect} = require "chai"
2+
3+
4+
stream = require "readable-stream"
5+
QueryStream = require "../src/stream"
6+
7+
8+
describe "QueryStream", ->
9+
it "should filter a stream based on a Riemann query", (done) ->
10+
expression = "ttl > 200 and host =~ \"local%\""
11+
filter = new QueryStream expression
12+
source = new stream.PassThrough objectMode: true
13+
good = ttl: 300, host: "localhost"
14+
maybe = ttl: 150, host: "localhost"
15+
bad = ttl: 0, host: "remote"
16+
17+
source.pipe filter
18+
19+
await
20+
filter.once "data", defer data
21+
source.push good
22+
23+
expect(data).to.eql good
24+
25+
filter.on "data", (data) -> done new Error data
26+
source.push maybe
27+
source.push bad
28+
29+
filter.removeAllListeners "data"
30+
31+
await
32+
filter.on "data", defer data
33+
source.push good
34+
35+
expect(data).to.eql good
36+
done()
37+
38+

0 commit comments

Comments
 (0)