@@ -3,38 +3,45 @@ package parser
33import (
44 "testing"
55
6+ "github.com/stretchr/testify/assert"
67 "github.com/stretchr/testify/require"
78)
89
910func TestParsePipeFields (t * testing.T ) {
10- test := func (q , expected string ) {
11- t .Helper ()
12- query , err := ParseSeqQL (q , nil )
13- require .NoError (t , err )
14- require .Equal (t , expected , query .SeqQLString ())
15- }
16-
17- test ("* | fields message,error, level" , "* | fields message, error, level" )
18- test ("* | fields level" , "* | fields level" )
19- test ("* | fields level" , "* | fields level" )
20- test (`* | fields "_id"` , `* | fields _id` )
21- test (`* | fields "_\\message\\_"` , `* | fields "_\\message\\_"` )
22- test (`* | fields "_\\message*"` , `* | fields "_\\message\*"` )
23- test (`* | fields k8s_namespace` , `* | fields k8s_namespace` )
11+ test (t , "* | fields message,error, level" , "* | fields message, error, level" )
12+ test (t , "* | fields level" , "* | fields level" )
13+ test (t , "* | fields level" , "* | fields level" )
14+ test (t , `* | fields "_id"` , `* | fields _id` )
15+ test (t , `* | fields "_\\message\\_"` , `* | fields "_\\message\\_"` )
16+ test (t , `* | fields "_\\message*"` , `* | fields "_\\message\*"` )
17+ test (t , `* | fields k8s_namespace` , `* | fields k8s_namespace` )
2418}
2519
2620func TestParsePipeFieldsExcept (t * testing.T ) {
27- test := func (q , expected string ) {
28- t .Helper ()
29- query , err := ParseSeqQL (q , nil )
30- require .NoError (t , err )
31- require .Equal (t , expected , query .SeqQLString ())
32- }
21+ test (t , "* | fields except message,error, level" , "* | fields except message, error, level" )
22+ test (t , "* | fields except level" , "* | fields except level" )
23+ test (t , `* | fields except "_id"` , `* | fields except _id` )
24+ test (t , `* | fields except "_\\message\\_"` , `* | fields except "_\\message\\_"` )
25+ test (t , `* | fields except "_\\message*"` , `* | fields except "_\\message\*"` )
26+ test (t , `* | fields except k8s_namespace` , `* | fields except k8s_namespace` )
27+ }
28+
29+ func TestParsePipeHistogram (t * testing.T ) {
30+ test (t , `* | histogram 1s` , `* | histogram 1s` )
31+ test (t , `* | histogram 60s` , `* | histogram 1m0s` )
32+ test (t , `* | histogram 1m` , `* | histogram 1m0s` )
33+ test (t , `* | histogram 10m` , `* | histogram 10m0s` )
34+ test (t , `* | histogram 2h` , `* | histogram 2h0m0s` )
35+ }
36+
37+ func TestPipesComposition (t * testing.T ) {
38+ test (t , `* | fields level | histogram 1s` , `* | fields level | histogram 1s` )
39+ test (t , `* | histogram 1s | fields level` , `* | histogram 1s | fields level` )
40+ }
3341
34- test ("* | fields except message,error, level" , "* | fields except message, error, level" )
35- test ("* | fields except level" , "* | fields except level" )
36- test (`* | fields except "_id"` , `* | fields except _id` )
37- test (`* | fields except "_\\message\\_"` , `* | fields except "_\\message\\_"` )
38- test (`* | fields except "_\\message*"` , `* | fields except "_\\message\*"` )
39- test (`* | fields except k8s_namespace` , `* | fields except k8s_namespace` )
42+ func test (t * testing.T , q , expected string ) {
43+ t .Helper ()
44+ query , err := ParseSeqQL (q , nil )
45+ require .NoError (t , err )
46+ assert .Equal (t , expected , query .SeqQLString ())
4047}
0 commit comments