summaryrefslogtreecommitdiff
path: root/internal/mapr/query_test.go
diff options
context:
space:
mode:
authorPaul Buetow <pbuetow@mimecast.com>2023-09-08 07:45:51 +0300
committerPaul Buetow <pbuetow@mimecast.com>2023-09-08 07:45:51 +0300
commit85780654df870dc4170b93a8ed5a5dbfa917fe5d (patch)
tree1d2843e212def6bcdead71ef8c814e8cf55f31a5 /internal/mapr/query_test.go
parent51747cc62ae47af7d369e3e43d41f156835e9dfa (diff)
parentd6efc889f1dc9582ba8006633376c022c945a126 (diff)
Merge branch 'develop'
Diffstat (limited to 'internal/mapr/query_test.go')
-rw-r--r--internal/mapr/query_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/internal/mapr/query_test.go b/internal/mapr/query_test.go
index f03ccba..f37b8d4 100644
--- a/internal/mapr/query_test.go
+++ b/internal/mapr/query_test.go
@@ -252,3 +252,43 @@ func TestParseQueryDeep(t *testing.T) {
}
}
}
+
+func TestQuotedSelectCondition(t *testing.T) {
+ queryStr := "select `count($foo)`, foo, $foo, count($foo) logformat csv"
+
+ q, err := NewQuery(queryStr)
+ if err != nil {
+ t.Errorf("Query parse error: %s\n%v: %v", queryStr, q, err)
+ }
+ if len(q.Select) != 4 {
+ t.Errorf("Expected three elements in 'select' clause but got '%v': %s\n%v",
+ q.Select, queryStr, q)
+ }
+
+ if q.Select[0].Field != "count($foo)" {
+ t.Errorf("Expected 'num($foo)' as first element in 'select' clause but got '%v': %s\n%v",
+ q.Select[0].Field, queryStr, q)
+ }
+ if q.Select[0].Operation != Last {
+ t.Errorf("Expected 'Last' as aggregation function of first element in "+
+ "'select' clause but got '%v': %s\n%v", q.Select[0].Operation, queryStr, q)
+ }
+
+ if q.Select[1].Field != "foo" {
+ t.Errorf("Expected 'foo' as first element in 'select' clause but got '%v': %s\n%v",
+ q.Select[1].Field, queryStr, q)
+ }
+ if q.Select[2].Field != "$foo" {
+ t.Errorf("Expected '$foo' as first element in 'select' clause but got '%v': %s\n%v",
+ q.Select[2].Field, queryStr, q)
+ }
+
+ if q.Select[3].Field != "$foo" {
+ t.Errorf("Expected '$foo' as first element in 'select' clause but got '%v': %s\n%v",
+ q.Select[3].Field, queryStr, q)
+ }
+ if q.Select[3].Operation != Count {
+ t.Errorf("Expected 'count' as aggregation function of thourth element in "+
+ "'select' clause but got '%v': %s\n%v", q.Select[3].Operation, queryStr, q)
+ }
+}